| HOME |
期限切れ
とうとうHEWの期限が切れて、プログラム+データの合計が256KBを超えるプログラムのリンクが出来なくなりました。
データセクションは、data,bss,constなど全てのデータセクションを含みます。
従って、簡易音楽プレーヤ付き簡易フォトフレームのプログラムを再リンク出来なくなりました。
しかし、方法はあります。
各デコードプログラムは、APIで独立しているので、各デコードプログラムごとにロードモジュール(hex)を作り、個々にローディングしてプレーヤープログラムから呼び出す方法です。
APIの関数のアドレスを割り込みベクタテーブルの様にテーブル化して固定アドレスに割り付けます。
そして、プレーヤープログラムとはそのAPIテーブルを参照してAPIを呼び出します。
こうすれば、個々のプログラムは256KBに収まるので問題ありません。
各デコードプログラムはmain関数はなく、main関数から動作することはありません。
そのため、各デコードプログラムのデータセクションの初期化処理もプレーヤープログラムから呼び出す必要があるので、APIテーブルを使って初期化処理を呼び出すことにします。
データセクションは、data,bss,constなど全てのデータセクションを含みます。
従って、簡易音楽プレーヤ付き簡易フォトフレームのプログラムを再リンク出来なくなりました。
しかし、方法はあります。
各デコードプログラムは、APIで独立しているので、各デコードプログラムごとにロードモジュール(hex)を作り、個々にローディングしてプレーヤープログラムから呼び出す方法です。
APIの関数のアドレスを割り込みベクタテーブルの様にテーブル化して固定アドレスに割り付けます。
そして、プレーヤープログラムとはそのAPIテーブルを参照してAPIを呼び出します。
こうすれば、個々のプログラムは256KBに収まるので問題ありません。
各デコードプログラムはmain関数はなく、main関数から動作することはありません。
そのため、各デコードプログラムのデータセクションの初期化処理もプレーヤープログラムから呼び出す必要があるので、APIテーブルを使って初期化処理を呼び出すことにします。
<<APIテーブル | ホーム | エンクロージャー比較(シミュレーション)>>
Comments
Comment Form
| HOME |