Bare metal

UEFIベアメタルプログラミング - マルチコアを制御する

UEFIベアメタルプログラミング - Hello UEFI!(ベアメタルプログラミングの流れについて) - へにゃぺんて@日々勉強のまとめ こちらの記事の続きです。UEFIでマルチコアを扱う方法が分かったので、 この記事ではその方法をまとめてみます。

UEFIベアメタルプログラミング - Hello UEFI!(ベアメタルプログラミングの流れについて)

わんくま同盟 札幌勉強会 #1やOSC 2017 Tokyo/SpringのLTでは発表していましたが、 最近、自作OSをUEFI+x86_64でやるために、まずはUEFIの勉強をしています。 UEFIの勉強として、UEFIの機能を呼び出すプログラム(UEFIアプリケーション)を、 EDK2やgnu-efiと…

ラズパイ3でベアメタル - QEMUでUART(PL011)

「キー入力と文字の画面表示」くらいはRaspberry Pi 3実機を使わずに、 QEMUで動作確認できると便利です。 現状のQEMU(Debian JessieでAPTでインストールできるもの)でも、 UARTでPL011(*1)が利用可能です。 (*1): PrimeCell UART(PL011) Technical Referenc…

Raspberry Pi 3で64bitベアメタル(bare metal)プログラミング

ラズパイ3で64bitベアメタルプログラミングを試してみるシリーズの目次ページです。 (ブログの使い方として間違っているのかも知れませんが。。。)

ラズパイ3でベアメタル - U-Bootでネットワーク起動

ラズパイ3での動作確認のために毎回microSDカードを書き換えるのは面倒なので、 U-Bootを使用してネットワーク経由でkernel8.imgをRAMの0x80000以降にダウンロードし、起動してみます。 なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを…

ラズパイ3でベアメタル - その4:シリアル通信(UART)でエコーバック(割り込みなし)

今回は、前回のプログラムに文字受信を追加して、 PCからラズパイ3へ送信した文字をそのまま送り返す(エコーバック) を作ってみます。 なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを試してみる 本シリーズの目次はコチラです。

ラズパイ3でベアメタル - その3:シリアル通信(UART)でデータ送信(割り込みなし)

今回は、UARTを使用してシリアル通信で「ラズパイ3からPCへデータ送信」を作ってみます。 まずは割り込みは使用せずに作ってみます。 なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを試してみる 本シリーズの目次はコチラです。

ラズパイ3でベアメタル - その2:GPIO制御

「その1:何もしない無限ループプログラム」からの続きです。 今回はGPIOのあるピンのHigh/Lowを制御するところまでをまとめてみます。 なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを試してみる 本シリーズの目次はコチラです。

ラズパイ3でベアメタル - その1:何もしない無限ループプログラム

ラズパイ3を買ってみました。 今回はベアメタルプログラミングで最も簡単な「何もしない無限ループ」のプログラムを作ってみるところまでを、 自分の経験のメモとしてまとめてみました。 なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを…