タグ

ブックマーク / tnishinaga.hatenablog.com (7)

  • Baremetalで遊ぶ Raspberry Pi 5 RP1 UART編 - /home/tnishinaga/TechMEMO

    Raspberry Pi 5のほとんどのIOはPCIeで接続されたRP1というチップを経由して行われるので、私はbaremetalではPCIeコントローラーのドライバを書かないとRP1経由でIO制御ができないと思っていました。 そのため先日なんとかPCIeコントローラーのドライバを書き上げたのですが、実はfirmwareがPCIeコントローラーを初期化したあとリセットせずにkernelを立ち上げてくれる機能がfirmwareにあることを後で知りました。 By default, the PCIe X4 interface is reset before loading the kernel so that the PCIe RC is in a clean state. For bare metal / bringup you can add pciex4_reset=0 to config

    Baremetalで遊ぶ Raspberry Pi 5 RP1 UART編 - /home/tnishinaga/TechMEMO
  • 起動しているLinuxマシンに適応されているDevice Tree Source(dts)を取得する方法メモ - /home/tnishinaga/TechMEMO

    Linux kernelが起動時に読み込んで使っているdevice treeをdts形式で確認する方法を毎回忘れるので備忘録として残します。 device treeを使っているアーキテクチャならどこでも使える方法のはず。 1. device-tree-compiler を入れる device treeはdtbの状態で置かれているので、デコンパイルしてdtsに戻すためにdevice-tree-compilerをインストールします。 sudo apt-get -y install device-tree-compiler 2. linux kernelが読み込んでいるdtbをデコンパイルしてdtsにする kernelが起動時に読み込んで使っているdtbは /sys/firmware/fdt にあるので、これをデコンパイルしてdtsに戻します。 /sys/firmware/fdt の読み込み権限

    起動しているLinuxマシンに適応されているDevice Tree Source(dts)を取得する方法メモ - /home/tnishinaga/TechMEMO
  • UEFIのHTTP BOOTを試してみる - /home/tnishinaga/TechMEMO

    UEFI 2.5からネットワークブートの方法として"HTTP BOOT"が増えました。 今回はこのHTTP BOOTは従来の方式に比べ何が嬉しいのか、この機能を使ってUEFIのアプリを起動するにはどのようにすればよいかを書いていこうと思います。 忙しい人のまとめ ネットワークブートがHTTP経由でできます DHCPの設定変更なしでもOKです 対応バージョンはUEFI 2.5以上です HTTP BOOT とは HTTP BOOTはUEFI 2.5で追加されたネットワークブートのためのUEFIの機能です。 この機能を使うと、HTTP(またはHTTPS)サーバーからファイルを取得し、UEFIアプリやOSを起動することができるようになります。 HTTP BOOT と PXEブートの違い よく知られたネットワークブートの方法としてPXEブートがあります。これとHTTP BOOTはどのような点が異なる

    UEFIのHTTP BOOTを試してみる - /home/tnishinaga/TechMEMO
    masterq
    masterq 2017/12/23
    なんとー "HTTP BOOTはUEFI 2.5で追加されたネットワークブートのためのUEFIの機能"
  • vagrant-azureを使ってAzureに仮想マシンを建ててみたメモ - /home/tnishinaga/TechMEMO

    自宅開発環境が貧弱で大変厳しいので、コーディング環境含めクラウド上で行えるようにできないかと色々試しています。 とりあえず最低限SSH使える環境がアレばスマフォでもコーディングとビルドが行える環境を作るのが目標です。 クラウドは使っている間だけ課金されるので、使うときにマシンを建てて終わったら即潰す運用をすると安く済みそうです。 潰し忘れを防ぐため、インスタンスの立ち上げも落とすのもすべて自動でやりたいです。 今回はその第一歩として、READMEを読みながらVagrantを使ってMicrosoft Azure上に仮想マシンを建ててみました。 必要アプリのインストール Vagrant, Azure-cli, vagrant-azure pluginとdotenvをインストールする必要があります。 Vagrant やるだけ Azure-cli Azure-cliのインストール方法はgithub

    vagrant-azureを使ってAzureに仮想マシンを建ててみたメモ - /home/tnishinaga/TechMEMO
    masterq
    masterq 2017/07/19
    Vagrantエコシステム、今も進化しているんだなぁ
  • Arch Linuxのマシンにvagrant-azureプラグインを入れる話 - /home/tnishinaga/TechMEMO

    vagrantを使ってAzureに仮想マシンを建てようとしたらそれ以前のところで躓いたので備忘録として残しておきます。 問題が起こった環境 Arch Linux(x86_64) $ yaourt vagrant 1 community/vagrant 1.9.5-1 [installed] Build and distribute virtualized development environments 2 community/vagrant-substrate 605.0566498-2 [installed] Substrate layer for Vagrant 問題1 : SEGVする $ vagrant plugin install vagrant-azure --plugin-version '2.0.0.pre8' Installing the 'vagrant-azure

    Arch Linuxのマシンにvagrant-azureプラグインを入れる話 - /home/tnishinaga/TechMEMO
    masterq
    masterq 2017/06/27
    vagrantってAzureにも使えたんですね。。。
  • QEMUでCortex-M3/M4マイコンボードをエミュレーションしてLチカする話 - /home/tnishinaga/TechMEMO

    Cortex-Mマイコン上で計算を行うアセンブリコードのデバッグを、エミュレータを使ってパソコンの上で行いたいです。 大学までのバスの中でパソコンからマイコン垂らしながらデバッグするのは不便で少し恥ずかしいので。 Cortex-M3プロセッサに対応しているエミュレータとしてQEMUがありますが、用意されているマイコンボードが LM3S811EVB / LM3S6965EVB の2つしかありません。 wiki.qemu.org 私は普段シリアルの設定などちょっと大変なところはすべてmbedライブラリにおまかせしているので、できればmbedの対応しているボードを使いたいです。 mbedに対応したマイコンボードの使えるエミュレータはないのでしょうか? ということで調べてみたのが今回の内容となります。 まとめ GNU ARM Eclipse QEMUを使えばmbed対応ボードのNUCLEO-F10

    QEMUでCortex-M3/M4マイコンボードをエミュレーションしてLチカする話 - /home/tnishinaga/TechMEMO
    masterq
    masterq 2016/12/31
    ボードのモックとqemuを同期できるのかー
  • Elecrowで基板を発注してみた - /home/tnishinaga/TechMEMO

    同人誌にも書いたことがありますが、以前からネットワーク経由でパソコンの電源を制御する回路を作っています。 その最新版の基板ができたので、先ほどElecrowに発注をかけてみました。 今回はその発注までの手順のメモです。 ちなみにこの基板の製作にはeagleをつかいました。 先日KiCadの紹介をしておきながら何言ってるんだって感じですね……この基板はKiCadを知る前から作っているものなのでeagleのほうが楽だったんです……。 今回発注したのは以下の基板です。 メイン基板(10cm * 8cm) 10枚 サブ基板(10cm * 8cm) 20枚 提出データの作成 基はこちらの方のブログ記事を参考に進めました。 ОКБ-810 ルイセンコ設計局 - Elecrowへの発注手順 主な手順は ElecrowのDRCでデザインルールチェック ElecrowのCAMファイルでガバー出力 出力され

    Elecrowで基板を発注してみた - /home/tnishinaga/TechMEMO
  • 1