2012年06月13日
これはどうやら、私のビルド環境の問題などではなく、既知の不具合だったようです。
続きを読む
2012年06月06日
とある Windows の CRITICAL_SECTION を使ったマルチスレッドアプリを Linux に移植したのですが、pthread ライブラリを使って、とても簡単に移植できました。
続きを読む
2012年05月17日
2012年05月15日
2012年04月19日
U-bootの起動シーケンスを見てみます。
なお、今回の記事はKZM-A9-Dualボードで使用した2009年のU-bootに基づいています。最近のリリースのU-bootではファイル構成もリロケーションのしくみもかなり変っていました。これについては後日とりあげます。
2012年04月17日
2012年04月16日
ARMのCPUにはいままでずっと整数の除算命令がありませんでした。最近になって、Cortex-MシリーズとRシリーズには除算命令が追加されましたが、Cortex-AシリーズではCortex-A9までは除算命令はありませんでした。新しいCortex-A15には除算命令が追加されていました。
新しいgccとqemuはすでにこれに対応済みなので、試してみました。
2012年04月13日
2012年04月12日
JTAGデバッガがもっとも活躍するのは、できたばかりのボードの初期化コードを開発するときです。最近のLinuxのブートローダとしてはU-bootがよく使われます。KZM-A9-DualボードもU-bootを使っています。そこで、KZM-A9-DualボードのU-bootをPARTNER-Jetで追いかけてみることにします。
2012年04月11日
Ubuntu 12.04LTSでのarm-linux-gnueabihf-gccのツールチェインのhfはHard Floatの意味です。
関数呼び出し規約(Calling Convention)が変更されて、double, floatの引数はFPUのレジスタに積んで渡し、戻り値もFPUのレジスタを使うようになっています。今までは、FPUが利用可能だったとしても、Soft Floatと互換性を保つために汎用レジスタで引き渡していました。当然これらは混ぜて使うことはできません。全てのライブラリに影響があります。
簡単なプログラムで実際に生成されるコードを見てみます。
2012年04月10日
Ubuntu 12.04LTSではMultiarchが拡充されていると聞いたので、12.04LTS Beta2をインストールしてarm-linux-gnueabihfのクロスビルドと実行を試してみました。
Rubyのクロスビルドとインストールを追記しました。
2012年04月09日
"ARMv8 Instruction Set Overview"というドキュメントがARMのサイトからダウンロード可能です。(ただし登録が必要。)
この資料からARMv8アーキテクチャの概要をながめてみました。
2012年03月27日
2012年03月26日
弊社の若槻、辻、小林でInterface 2012年5月号にQEMUの記事を書きました。
- 第一章 「エミュレータ QEMUの概要とLinuxの起動、テストのための改造」
- Appendix 1 「QEMUの内部構造: 動的バイナリ変換技術について」


