Magic Lanternの解析メモ

Magic Lanternの解析メモ ただし550D(X4用)

アーキテクチャ

編集(管理人用)
内部の基本的なアーキテクチャがわからんかったらいじくりようがないがね。

CHDKのHP
http://chdk.wikia.com/wiki/For_Developers

DISIG4のコアはARM946ES
らしい。

DIGIC IIやDIGIC IIIあたりでOSをウインドリバーからVxWorksへ置き換え。
その後、Canon独自が開発したリアルタイムOS、DryOSへ乗り換えて
DIGIC4に実装された経緯があるもよう。

DryOS構造を見る限り普通の構造だが、OSシミュレータってのがちょっと意外。
PC上でのデバッグを可能にしている模様。まぁよくあるけど。

μiTRON4.0がカーネルだけど、POSIX I/Fというのも気になる。UNIX用のI/Fだ
ユーティリティの一部はUNIX系なのかも。Linux関係の資産を再利用可能にしているのか?

あとはリムーバブルメディア用のファイルシステムとして「exFAT」。

EOSでは使いもしないIPv6のLANプロトコルスタックも内蔵。

自前のOS・ドライバ・ミドルと画像エンジンをセットでコア資産にして
壮大なプラットホームにして使いまわしてる。
 

資料はあちこちから転載。
DRYOS

DRYOS

内部のハードのアーキテクチャが知りたいところ。

DIGIC4-1

出てきたのは韓国Samsung Electronics Co., Ltd.製の2種類のメモリである。
上側のチップはNORフラッシュ・メモリ「K8P6415UQB」で,容量は64Mビット。
寸法は6040μm×3910μm×80μm。
下側はSDRAM「K4X51323PE」で,512Mビット。
寸法は8220μm×7545μ×110μm。

メモリ容量は概算で合計2.96Mビットだった。
 DIGIC4-2

まずは NORFLASHのドライバが気になるが、どうやってるんだろうかマジックランタン。
 

ライブラリ内の関数の有無の調べ方

編集(管理人用)
http://avr.paslog.jp/article/1166157.html

下記メモ転載

「arm-eabi-nm.exe」を使えば
関数の定義実体がどこにあるか分かるのだ。

使い方は単純に
>arm-eabi-nm.exe libc.a

と、中身を調べたいライブラリやオブジェクトファイルを指定するだけ。
>arm-eabi-nm.exe libc.a | grep ui2d
         U __aeabi_ui2d
         U __aeabi_ui2d
         U __aeabi_ui2d

と出る。
関数名の前の「U」は定義実体がないことを表す。
「T」ならあり。リンクを解決するためにはどこかに最低1つの「T」が必要だ。

CHDK

編集(管理人用)
フォントについて

http://chdk.wikia.com/wiki/RBF_fonts
記事検索
最新コメント
プロフィール

かじやん

タグクラウド
QRコード
QRコード
  • ライブドアブログ