No.2ベストアンサー
- 回答日時:
リンカスクリプトを書き換えて、開始番地を0x800にしなければならないのではないかと思います。
当方はSDCCを使っていてC18はよくわからないのですが、(UBWを使った開発はしています)リンカで開始番地の指定は可能です。
千秋ゼミさんのサイトがとても参考になります。
参考URL:http://www-ice.yamagata-cit.ac.jp/ken/senshu/sit …
ご紹介のサイト、とっても参考になりました。
なるほど、UBWのFirmware-Dのソースやファイル一式が公開されているのだから、リンカの開始番地の指定方法もそれを見れば何とかわかりそうです。少々情報が多すぎてすぐには試すことができていませんが、落ち着いて勉強してみます。とりあえず、お礼まで。
No.1
- 回答日時:
「そのプログラムが、どのようにロードされるか?」に拠ります。
そのプログラムをロードするローダーってのがどっかに居て、それが、ロードとジャンプを行って、そのプログラムが走るようになってる筈です。
もし「必ず0番地からロードして、ロードしたら0番地に飛ぶ」と言う仕様なのであれば「0番地に、800番地にジャンプする命令を書いておく」だけでOKです。
もし「ファイルの先頭に、固定長のロード情報が埋め込まれてて、そこにロード開始番地と、ジャンプ先が書いてあり、ファーストブートローダーが、そこを見ている」ならば、ファーストブートローダーが要求している仕様通りに、ロード情報を埋め込むだけです。
何れにせよ「そのプログラムをロードするローダーの仕様」が判らない限り、どうする事も出来ません。
この回答への補足
回答ありがとうございます。
PICの開発環境は使い始めたばかりで手探り状態のために、質問が要領を得なくてすみません。具体的には、PIC側のローダはUBWのFirmware-B、PC側はMyBootというソフトを使おうとしています。
アセンブラではうまくロードできているようなので、それを参照してご指摘の点、自分なりに調べてみました。
> そのプログラムをロードするローダーってのがどっかに居て、それが、ロードとジャンプを行って、そのプログラムが走るようになってる筈です。
Firmware-Bは0番地から800番地の少し手前までに格納されていて、プログラムのロード先は.HEXファイルの指定に従ってロードされるようです。また、ジャンプ先はMyBootのメニューで800Hないし1000Hのどちらかを指定できるようになっているので、.HEXファイルのロード先と一致させておき、ロード後のリセットでロードしたプログラムにジャンプさせるようです。
> もし「ファイルの先頭に、固定長のロード情報が埋め込まれてて
.HEXファイルに番地が埋め込まれているようなので、ご指摘の通りで、Cコンパイラーかリンカーあたりで先頭番地を指示する必要があるようです。アセンブラの場合はORG命令で指定しましたが、CコンパイラのインラインアセンブラではORG命令は受付けてもらえないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) MID関数について 2 2022/04/22 09:13
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- C言語・C++・C# Seleniumで「ファイルを開く」ダイアログボックスのフォルダ指定する方法を教えてください。 1 2022/05/09 07:38
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VALORANTのロードが長いです
-
ジャイアントのロードバイク乗...
-
山チョコボが生まれません。FF7
-
ロードやクロスバイクはなぜマ...
-
クロノトリガー PS版とDS版に...
-
丘陵地帯でのロードバイク、ク...
-
5歳の娘にBMXプレゼント
-
STIそのままに9速から10速に改造
-
FF6はPSの方がアドバンスよりス...
-
モンスターハンターポータブル...
-
ロードバイクをカジュアルに?
-
米国のロードバランサ
-
プレイステーション4を買いたい...
-
今年からサイクリング部に入ろ...
-
西船橋駅駅から東西線を利用し...
-
7.3kmを約30分かけてクロスバイ...
-
ロードバイクで速く走れるよう...
-
皆さん、CROSSバイク、ロードバ...
-
電車で1時間、車で50分の距離を...
-
異常者が多い趣味は? なにかと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VALORANTのロードが長いです
-
山チョコボが生まれません。FF7
-
ジャイアントのロードバイク乗...
-
ロードロードとはなんですか?
-
電動自転車ロードNo1を作りたい
-
PS4で桃太郎電鉄
-
肥満の人のための自転車通勤に...
-
MTBとロードバイク2台持ちの使...
-
自転車に詳しい方
-
7.3FXのコンポネートの互換性
-
MTBディレーラーをバーコンで作...
-
ドラクエ8
-
リロードって何ですか? インス...
-
ワイルドアームズ4の二周目に...
-
iMacで ESET Cyber Security Pr...
-
センチュリオン
-
PSPのメモリースティックが認識...
-
パソコンの時計の調節に桜時計...
-
PS2のメモリーカード ロードで...
-
PSPでゲームをダウンロード版で...
おすすめ情報