スレ立てるまでもない ..
[2ch|▼Menu]
435:419
22/07/23 00:43:15.10 6LmREh/f.net
>>420
開発時にメモリ上にどのようにデータを配置するかの指定は今は一般的にリンカの仕事
パソコンのプログラムはもちろん、マイコンでも今はリンカに対して配置するアドレスを
指定するのが一般的
ルネサスの場合、現行のRXマイコンやRAマイコンなどもアドレスはリンカに指示する
しかしレガシーな開発環境だとアセンブラコード内にアドレスを直打ち出来たりして
>>416の例はそのケースだと思う。今時の開発環境でこのパターンはレアと
思われるので理解を深める必要はないかも
H8の開発環境はないのでRXマイコン(CS+)の例だけど
RXマイコンのリセットベクタのアドレスは0xFFFFFFFCからの4バイト
リセットが解除されるとこのアドレスの値がPCへロードされる(=書かれているアドレスから実行が始まる)
URLリンク(uploader.purinka.work)
右のメモリダンプを見ると0xFFFFFFFCの値は0000C0FF。リトルエンディアンなので並べ替えると
0xFFC00000となりこのアドレスから実行が開始される
左の逆アセンブルリストで0xFFC00000を見るとPowerON_Reset_PC関数がある
PowerON_Reset_PC関数のソースコードを見ると
URLリンク(uploader.purinka.work)
#pragma sectionでResetPRGセクションへ配置するよう指示されている(91行目~)
Pはセクション種別で2文字目以降がセクション名
そしてリンカの設定を見ると
URLリンク(uploader.purinka.work)
ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

564日前に更新/300 KB
担当:undef