[Suzaku:00966] Re: XPSでのbinファイル作成

Tetsuya Ohkawa email@hidden
2007年 6月 19日 (火) 22:02:24 JST


大川です。

割り込みを使ったアプリケーションも動作しました。

hermitからアプリケーション(DRAM上)に Jumpする際に
アドレスを適切に設定すことで動作しました。
hermitでは、0番地(DRAMの先頭)固定でJumpするようになっています。
これを、.textセクションの先頭アドレスに変更します。

hermitの変更点は、以下になります。
--- src/target/suzaku/linux.org 2007-06-19 17:12:30.000000000 +0900
+++ src/target/suzaku/linux.c 2007-06-19 17:14:35.000000000 +0900
@@ -65,7 +65,7 @@
/* branch to kernel image */
bi_location = (0x01000000 - sizeof(bd_t));
memcpy((bd_t *)bi_location, &bi, sizeof(bd_t));
- kernel = (kernel_t)0;
+ kernel = (kernel_t)0x20c4;
(*kernel)((bd_t*)bi_location, 0, 0, 0, 0);
}

hermit-at のソースコードは、付属CDまたは下記ダウンロードサイトより取得で
きます。
http://download.atmark-techno.com/suzaku/tools/src/hermit-at-1.1.3-source.tar.gz

hermit-at のmake は、ソースコードを展開したディレクトリで
[PC ~/hermit-at-1.1.3]$ make TARGET=suzaku PROFILE=powerpc
を実行します。
bin および srec形式のファイルは、
[PC ~/hermit-at-1.1.3]$ ls src/target/suzaku/loader*
src/target/suzaku/loader-suzaku-powerpc-v1.1.3.bin
src/target/suzaku/loader-suzaku-powerpc-v1.1.3-8M.srec
に生成されます。

上記の変更方法の場合、逆に、割り込みを使わないアプリケーションが、
正常に動作しなくなりますので、御注意ください。

取り急ぎ、ご報告ということで。
#変なことしてたら、すみません。


Hideo Furuhashi wrote:
> 大川さん:
>
> 調べていただいてありがとうございます。
> 教えていただいた方法で動くことは確認できました。
>
> ただ、割り込みを使っているアプリなので、どうもうまくいきません。
> 自分でももう少し調べてみます。
>
> -----------
> 〒470-0392
> 愛知県豊田市八草町八千草1247
> 愛知工業大学 電気学科 情報通信工学専攻
> 古橋秀夫
> TEL0565-48-8121(ext.2807)
> FAX0565-48-0070
>
> ----- Original Message ----- 
> From: "Tetsuya OHKAWA" <email@hidden>
> To: "SUZAKU general discussion list" <email@hidden>
> Sent: Wednesday, June 13, 2007 10:38 AM
> Subject: [Suzaku:00944] Re: XPSでのbinファイル作成
>
>
> 大川です。
>
> "Hello, World" と出力する程度のアプリケーションを
> フラッシュメモリのimage リージョンに配置し、動作させてみました。
> その手順を報告します。
>
> 環境)
> ・SUZAKU-V
> ・ISE/EDK 8.2, 9.1 (Windows XP)
>
> 手順)
>
> 1. アプリケーションソフトウェアの作成
>
> XPS にて、"Hello, SUZAKU" と出力するアプリケーションを作成
>
> 2. リンカースクリプトの作成
>
> [Generate Linker Script] で
> ・Section View の Memory 欄の Memory 部を
>   plb_bram_cntrl を sdram_controller に変更
> ・Heap and Stack View 欄の Memory 部を
>   plb_bram_cntlr を sdram_controller に変更
> にします。
>
> 3. 作成されたリンカースクリプトを編集します。
>
> ・先頭の方にある STARTUP(_boot) の行を削除
> ・ENTRY(_boot) を ENTRY(_start) に変更
>
> <参照>
> 『エンベデットシステム ツールリファレンスマニュアル』
>   エンベデット開発キット 8.1i 第10章:GNUコンパイラツール
>   (http://japan.xilinx.com/ise/embedded/j_est_rm8.pdf)
>   エンベデット開発キット 9.1i  第10章:GNUコンパイラツール
>   (http://japan.xilinx.com/ise/embedded/edk91i_docs/j_est_rm.pdf)
>
> 4. ROM化
>
> 生成された elf ファイルを bin に変換
>   
>> powerpc-eabi-objcopy.exe -O binary {xxxx}.elf {xxxx}.bin
>>     
>
> Hermitで、{xxxx}.bin を imageリージョンに書き込み
>
> 5. 備考
>
> 割り込み等を使ったアプリケーションの場合、
> 上記の方法では、不十分のようです。
> #成功しておりません。
>
>
>
> Hideo Furuhashi さんは書きました:
>   
>> 大川様:
>>
>> お世話になります。古橋です。
>>
>>
>>     
>>> これは、XPS で作成したアプリが BRAMの収まらないために
>>> SDRAM上で動作させたいということでしょうか?
>>>
>>>       
>> そうです。BRAMに入りきらなくなってしまいました。
>>
>>
>>
>>     
>>> imageリージョン用の binファイルを作成したいとのことですが、
>>> Linuxは不要との認識で宜しいでしょうか?
>>>
>>>       
>> Linuxは不要です。
>>
>>
>>
>>     
>>> なお、作成されたアプリケーションが、
>>> Linuxアプリケーションに代替可能であれば、
>>> 『SUZAKUソフトウェアマニュアル』の
>>> 「uClinux-distでイメージを作成」等の流れで作成が可能です。
>>>
>>>       
>> Linuxアプリケーションにすることも可能ですが、Linuxなしでいければと思い、質問させていただきました。
>>
>>
>>
>>     
>>> お使いの SUZAKUの種類もお願いします。
>>>
>>>       
>> SUZAKU-V
>> EDK 9.1i
>>
>> です。
>>
>>
>>
>> Hideo Furuhashi さんは書きました:
>>
>>     
>>> 古橋です。
>>> お世話になっております。
>>>
>>> XPSで作成したアプリをSDRAM上で動かしたいのですが、イメージリージョン書き込み用のbinファイルはどのようにすれば作成できるのでしょうか?
>>>
>>> ご教授いただきたく、よろしくお願い申し上げます。
>>>
>>>       



suzaku メーリングリストの案内