Linux
2011年10月19日
Linuxカーネルのタイマー割り込みのところのソースを見ていたら、簡単なしくみのプロファイラが組み込まれているのを見つけました。これはタイマー割り込みのところでプログラムカウンタがどこを指していたかを累計していき、readprofileというツールでその結果を見ることができます。
2011年10月12日
以前、「Cortex-A9のサイクルカウンタを利用した簡単な実行時間の計測方法」という記事を書きました。このときには特権モードで使用することを前提としていました。この記事の最後にも書いたとおり、ユーザーモードからパフォーマンスモニタのレジスタにアクセスするためにはあらかじめUser Enable Register(PMUSERENR)にてアクセスを許可しておく必要があります。簡単なカーネルモジュールを作ってこれをやってみました。
2011年08月23日
いくつかのAndroid端末の/proc/cpuinfoを見比べてみると疑問なところがあります。
- ブート時のBogoMIPSと値と/proc/cpuinfoでの値が異なるものがある。
- デュアルコアの端末でブート時のログでは2つCPUを起動しているのに、/proc/cpuinfoではひとつしか表示されない。
これらをソースコードで調べてみました。
2011年02月03日
KZM-A9-DualボードでARM Ubuntuを動かしていますが、libcなどの標準ライブラリはstrip済みなので、デバッグ情報がついていません。そこでソースパッケージから再ビルドしてみました。
2010年11月16日
2010年11月02日
KZM-A9-DualボードにU-bootとLinuxカーネルを移植しています。
ボード屋さんに作ってもらったボードの仕様書とボードの動作確認用のテストプログラムを見ながらデバイスドライバを修正していきます。
Linuxカーネルは仮想メモリ上で動作しているので特定の物理アドレスにあるI/Oレジスタの読み書きをするときにはちょっと工夫必要です。
2010年10月21日
KZM-A9-DualボードにU-bootとLinuxカーネルを移植しています。
このような場合、同じようなチップを使うもののソースコードを持ってきて改変していくことが多いと思います。今回もチップの供給元から見本となるソースコードをもらって、そこから修正しています。
見本のボードはシリアルコンソールにUART0を使っていましたが、KZM-A9-DualボードではUART1がつながっています。これに関する修正でU-bootに関する部分のことを書きます。
2010年10月12日
今日はLinuxカーネルをビルドするときにちょっとしたTipsを紹介します。
カーネルをいじっていると、時々、同一のソースからコンフィグを少しだけ変えたものを複数作って、切り替えて交互に動作を試したいということがよくあります。
そのたびにコンフィグファイルを差し替えて再ビルドしてもよいのですが、そのコンフィグファイルごとに別々のディレクトリでビルドできると便利です。
2010年09月28日
引き出しの中に埋もれていたUSBの無線LANアダプタをKZM-CA9-01のARM Ubuntu上で使えるようにしました。
Pocket WiFi(イーモバイルのモバイルルータ)と接続できることを確認しています。これで出先でのデモで外のインターネットにつなぐことができるようになりました。
使用したUSB無線LANアダプタはバッファローのWLI-U2-KG54L
3年前くらいに買った100円ライターの大きさのものです。
使用しているチップは ZD1211。