[Armadillo:00759] Re: ブートローダの作成

takaya email@hidden
2005年 12月 22日 (木) 10:47:15 JST


森島 様
nakai 様

ご指摘の様に、追加した",3x64k"の"k"が小文字でした。
私の洞察力、注意力不足でした。
感謝です。
                            vvvvvv 追加
FLASH_BOOTLOADER_BLOCK "8x8K,3x64k/l"
                                 ^
お陰様でhost側のソースを読む機会も出来、WinXP上の開発環境が
WideStudio/MWTであることも知り得、WinXPにインストールした次第です。
この様な環境に出会えて感激しております。

Armadillo-9にインストールしようとしたブートローダーも何とか起動しました。
起動画面の内容はこれからの作業を予感させております。

+FLASH: driver init failed: Driver does not support device
FLASH: driver init failed: Driver does not support device
EP93xx - no EEPROM, static ESA, or RedBoot config option.
No network interfaces found

RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version v2_0 - built 10:09:54, Oct 28 2005

Platform: Atmark Techno Armadillo-9 Board (ARM920T) Rev C
Copyright (c) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0xc0000000-0xc4000000, 0xc0042048-0x04000000 available
ReBoot>

場違いかとは思いますが、上記ローダーの情報などもありましたら、ご教示下さい。
有り難う御座いました。



Fumito Morishima wrote:
> 森島です。
> 
> 今までのメールに流れていた修正をすべて行うと、
> 問題なく動作するようです。
> 実際に動作した時の memregions.h を添付しておきます。
> 
> おそらく、memregions.hの
> 
> 
>>FLASH_BOOTLOADER_BLOCK "8x8k,3x64k/l"
>>FLASH_KERNEL_BLOCK	"21x64k"
>>FLASH_USERLAND_BLOCK	"102x64k"
> 
> 
> これらの記述中の"k"が大文字の"K"でないために
> エラーになっていたと思われます。
> 
> linux版のhermitではverboseモードがあり、
> このあたりのエラーも出力してくれて助かります。
> 
> takaya wrote:
> 
>>nakai 様
>>
>>返信有り難う御座います。
>>
>>ご指摘のように、memregions.h を
>>FLASH_BOOTLOADER_BLOCK "8x8k,3x64k/l"
>>FLASH_KERNEL_BLOCK	"21x64k"
>>FLASH_USERLAND_BLOCK	"102x64k"
>>
>>のように、変更。
>>
>>その後、armadillo-9に転送し、起動を確認後
>>オリジナルブートローダの転送作業を行いましたが
>>Hostのhermitは何も表示せずに、画面をクローズし処理を終了してしまいます。
>>userlandとkernelを転送しても同じ状態です。
>>userlandとkernelはリロケータブルに配置されると思いますので、
>>Host側 hermitの処理の問題のような気がします。
>>
>>Host側の変更はどのファイルを変更すればよいのか皆目見当が付きません。
>>また、開発環境はCygwinになるのでしょうか。
>>何方かご教示頂ければ幸甚です。
>>
>>
>>nakai wrote:
>>
>>
>>>nakaiです。
>>>
>>>memmap.c関係ないですね。
>>>
>>>memregions.hのFLASH_XXX_BLOCKを変更しましたか?
>>>
>>>FLASH_BOOTLOADER_BLOCK "8x8K,3x64K/l"
>>>
>>>という感じですね。
>>>でも、host側のソースを見ると、BlockSizeが異なる場合の連結方法が
>>>エラー処理になってるように見えるので、
>>>もしうまくいかない場合は、何らかのソースの修正が必要になるかもしれません。
>>>
>>>
>>>
>>>
>>>
>>>>nakaiです。
>>>>
>>>>memmap.cを変更しましたか?
>>>>
>>>>Host側は、ターゲットのmemmapをregion情報として使用します。
>>>>
>>>>----- Original Message ----- 
>>>>From: "takaya" <email@hidden>
>>>>To: <email@hidden>
>>>>Sent: Monday, December 19, 2005 4:48 PM
>>>>Subject: [Armadillo:00752] Re: ブートローダの作成
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>森島 様
>>>>>
>>>>>takayaです。
>>>>>
>>>>>スレッド[Armadillo:00653]の続きです。
>>>>>
>>>>>coLinux 0.6.3-rc2上にDebian sarge/Linuxの開発環境を構築しました。
>>>>>
>>>>>下記手順で作業を進めましたが、オリジナルブートローダ転送中に
>>>>>WinXP画面上に
>>>>>「hermit: panic: no memory region contains address 0x60010000」
>>>>>のエラーメッセージがでてしまいます。
>>>>>このメッセージがでないようにhermitソースファイル memregions.h を書き換え
>>>>>makeしたのですが、WinXP上のhermitもメモリ定義変更の必要がありますか?
>>>>>探してみましたが、見つけられませんでした。
>>>>>ご教示下さい。
>>>>>
>>>>>
>>>>>1.オリジナルブートローダのサイズが189,400バイトなので、
>>>>>  hermitの定義変更が必要と考え
>>>>>  hermit-at-1.0.0/src/target/armadillo9/memregions.hの
>>>>>  bootloaderサイズを0x40000
>>>>>  kernelサイズを0x150000
>>>>>  userlandサイズを0x660000
>>>>>  mtdparts=のテキスト定義内容も同様に変更し、
>>>>>  make target=armadillo9 で
>>>>>  loader-armadillo9.binを作成。
>>>>>
>>>>>2.上記binファイルをWinXP hermitから region bootloader として
>>>>>  armadillo-9にダウンロード。
>>>>>  TeraTermでarmadillo-9の起動確認。
>>>>>  ...
>>>>>  zone(2): 0 pages
>>>>>  kernel command line: cosole=ttyAM0,115200
>>>>>mtdparts=armadillo9-nor:0x40000(bootloader)ro,0x150000(kernel),0x660000
>>>>>(userland),-(config)
>>>>>  ...
>>>>>
>>>>>3.オリジナルブートローダをWinXP hermitから region bootloader として
>>>>>  armadillo-9にダウンロード。
>>>>>  ダウンロード中のhermit画面には下記が表示されます。
>>>>>  target: Hermit-At v1.0.0 (armadillo9) compiled at 10:17:44, Dec 19 2005
>>>>>  serial: 0x00010000 (65536) bytes of 189400
>>>>>
>>>>>  65536に達した時に、下記エラーメッセージが表示され中断する。
>>>>>  hermit: panic: no memory region contains address 0x60010000
>>>>>_______________________________________________
>>>>>armadillo mailing list
>>>>>email@hidden
>>>>>http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>>
>>>>_______________________________________________
>>>>armadillo mailing list
>>>>email@hidden
>>>>http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>
>>>_______________________________________________
>>>armadillo mailing list
>>>email@hidden
>>>http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>
>>>
>>
>>_______________________________________________
>>armadillo mailing list
>>email@hidden
>>http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>
>>
>>------------------------------------------------------------------------
>>
>>/*
>> * Copyright (c) 2004 Atmark Techno, Inc.  All Rights Reserved.
>> */
>>
>>#ifndef _HERMIT_ARMADILLO9_MEMREGIONS_H
>>#define _HERMIT_ARMADILLO9_MEMREGIONS_H
>>
>>#define FLASH_BANK1_START	0x60000000
>>#define FLASH_BANK1_SIZE	0x00800000
>>
>>#define FLASH_BOOTLOADER_START  FLASH_BANK1_START
>>#define FLASH_BOOTLOADER_SIZE   0x40000
>>#define FLASH_KERNEL_START      (FLASH_BOOTLOADER_START + FLASH_BOOTLOADER_SIZE)
>>#define FLASH_KERNEL_SIZE       0x150000
>>#define FLASH_USERLAND_START    (FLASH_KERNEL_START + FLASH_KERNEL_SIZE)
>>#define FLASH_USERLAND_SIZE     0x660000
>>#define FLASH_CONFIG_START      (FLASH_USERLAND_START + FLASH_USERLAND_SIZE)
>>#define FLASH_CONFIG_SIZE       (FLASH_BANK1_START + FLASH_BANK1_SIZE - FLASH_CONFIG_START)
>>
>>#define FLASH_OPTION_START      (FLASH_BOOTLOADER_START + 0xe000)
>>#define FLASH_OPTION_SIZE       0x2000
>>
>>#define FLASH_BOOTLOADER_NAME   "bootloader"
>>#define FLASH_KERNEL_NAME       "kernel"
>>#define FLASH_USERLAND_NAME     "userland"
>>#define FLASH_CONFIG_NAME       "config"
>>
>>#define FLASH_BOOTLOADER_BLOCK  "8x8K,3x64K/l"
>>#define FLASH_KERNEL_BLOCK      "21x64K"
>>#define FLASH_USERLAND_BLOCK    "101x64K"
>>#define FLASH_CONFIG_BLOCK      "8x8K"
>>
>>#define MTDPARTS "mtdparts=armadillo9-nor:0x40000(bootloader)ro,0x150000(kernel),0x660000(userland),-(config)"
>>
>>#define SRAM_START		0x80014000
>>#define SRAM_SIZE		0x00001100
>>
>>#define BOOTROM_START		0x80090000
>>#define BOOTROM_SIZE		0x00004000
>>
>>#define DRAM1_START		0xC0000000
>>#define DRAM1_SIZE		0x02000000
>>#define DRAM2_START		0xC4000000
>>#define DRAM2_SIZE		0x02000000
>>
>>/*
>> * External I/O regions are remapped by boot mode as well.
>> */
>>#ifdef BOOTMODE
>>#define EXT_CS8900_BASE		0x50000300
>>#else
>>#define EXT_CS8900_BASE		0x20000300
>>#endif
>>
>>#endif /* _HERMIT_ARMADILLO9_MEMREGIONS_H */
>>
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>armadillo mailing list
>>email@hidden
>>http://lists.atmark-techno.com/mailman/listinfo/armadillo



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