переделал BSP arm-integrator под атмел at91rm9200 (32 мега памяти). все вроде грузится, и IPL и startup, а вот ядро вылетает с ошибкой при старте.
Цитата
AT91F_LowLevelInit(): Debug channel initialized
press any key to enter bootloader
Load U-BOOT from dataflash[c0008000] to SDRAM[20000000]
AT91F_LowLevelInit(): DBGU initialized
QNX IPL for ARM Integrator: 920T CPU, 32MB DRAM
ipl> Commands:
f: scan flash for image
ipl>
Scanning RAM at 0x2000353C
Found image at 0x2000353C
ram_addr 0x20200000
startup_hdr.signature 0x00FF7EEB
startup_hdr.header_size 0x00000100
startup_hdr.machine 0x00000028
startup_hdr.startup_vaddr 0x20202F80
startup_hdr.paddr_bias 0x00000000
startup_hdr.image_paddr 0x20200000
startup_hdr.ram_paddr 0x20200000
startup_hdr.ram_size 0x000D089C
startup_hdr.startup_size 0x0000C108
startup_hdr.stored_size 0x000D089C
startup_hdr.imagefs_paddr 0x2000F644
startup_hdr.imagefs_size 0x000C4794
startup_hdr.preboot_size 0x00000000
Jumping to startup at 0x20202F80
0x20200000 0x000D089C
as_add_containing(ram, memory) = 0x000000a0
add_mem(0000000000000000,0000000000004000)
alloc_ram(000000002020c108,00000000000c4794,00000001) => 000000002020c108
as_add_containing(ram, memory) = 0x000000c0
add_mem(0000000020000000,0000000002000000)
alloc_ram(000000002020c108,00000000000c4794,00000001) => 000000002020c108
add_mem(00000000202d089c,0000000001d2f764)
alloc_ram(0000000000000000,0000000000004000,00000001) => 0000000000000000
alloc_ram(0000000020200000,00000000000d089c,00000001) => 0000000020200000
Dcache: 512x32 WB
Icache: 512x32
arm920 rev 0 45MHz
CPU_PHYS_PAGESIZE
shdr->imagefs_paddr = 0x2000f644
ifs_paddr = 0x2020c108
shdr->imagefs_size = 0x000c4794
copy imagefs UNcompressed
ifs_paddr 0x2020c108
as_find(name=memory
curr = 0x2020bb9c, name = memory
name == NULL
match_item(name = 0x2020bb9c, name = memory
match_item(memory);
match_item ->prev (NULL);
as_find = 0x200e02c0 - 0x200e02c0
mem 0x00000000
start_paddr 0x2020c108
base addr[0] 0x2020d000
entry[0] 0x202334e8
as_add_containing(sysram, ram) = 0x00000140
as_add_containing(sysram, ram) = 0x00000160
alloc_ram(00000000ffffffff,00000000000007d0,00000010) => 00000000200e8000
add_mem(00000000200e87d0,0000000000117830)
Header size=0x0000009c, Total Size=0x00000500, #Cpu=1, Type=4
Section:system_private offset:0x000001d8 size:0x00000068
syspage ptr user:200e8000 kernel:200e8000
cpupage ptr user:200e87b0 kernel:200e87b0 spacing:32
kdebug info:00000000 callback:00000000
boot pgms: idx=0
0) base paddr:2020d000 start addr:202334e8
ramsize:00000000 pagesize:00000010
Section:qtime offset:0x00000148 size:0x00000048
boot:00000000 CPS:0000000001c9c380 rate/scale:3333333333/-17 intr:17
Section:callout offset:0x000000a0 size:0x00000048
reboot:200e8654 power:200e8674
timer_load:200e8688 reload:200e86c0 value:200e86d8
0) display:200e86f0 poll:200e8714 break:200e8738
1) display:00000000 poll:00000000 break:00000000
Section:cpuinfo offset:0x00000190 size:0x00000020
0) cpu:41129200 flags:00000000 speed:0000002d cache i/d:1/0 name:42
Section:cacheattr offset:0x000004c0 size:0x00000040
0) flags:32 size:0020 #lines:0200 control:200e853c next:255
1) flags:11 size:0020 #lines:0200 control:200e8590 next:255
Section:meminfo offset:0x00000500 size:0x00000000
Section:asinfo offset:0x000002e0 size:0x000001a0
0000) 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000 n:21
0020) 0000000020000000-000000002fffffff o:0000 a:0013 p:100 c:00000000 n:28
0040) 0000000020000000-000000002fffffff o:0020 a:0013 p:100 c:00000000 n:35
0060) 00000000f0000000-00000000ffffffff o:0000 a:0013 p:100 c:00000000 n:28
0080) 00000000f0000000-00000000ffffffff o:0060 a:0003 p:100 c:00000000 n:35
00a0) 0000000000000000-0000000000003fff o:0000 a:0007 p:100 c:00000000 n:38
00c0) 0000000020000000-0000000021ffffff o:0040 a:0017 p:100 c:00000000 n:38
00e0) 000000002020c108-00000000202d089b o:0000 a:0005 p:100 c:00000000 n:49
0100) 0000000020200000-000000002020c107 o:0000 a:0007 p:100 c:00000000 n:57
0120) 000000002020c108-00000000202d089b o:0000 a:0007 p:100 c:00000000 n:65
0140) 0000000020000000-00000000200e7fff o:00c0 a:0007 p:100 c:00000000 n:73
0160) 00000000202d089c-0000000021ffffff o:00c0 a:0007 p:100 c:00000000 n:73
0180) 00000000200e87d0-00000000201fffff o:00c0 a:0007 p:100 c:00000000 n:73
Section:hwinfo offset:0x000002b8 size:0x00000028
0) size:3 tag:3 isize:3, iname:0, owner:65535, kids:1
12) size:3 tag:17 isize:3, iname:9, owner:0, kids:0
Section:typed_strings offset:0x00000240 size:0x00000020
off:0 type:5 string:'router'
off:12 type:2 string:'RATMM'
Section:strings offset:0x00000260 size:0x00000058
[0]'hw' [3]'Group' [9]'unknown' [17]'Bus' [21]'memory' [28]'device' [35]'io'
[38]'ram' [42]'arm920' [49]'imagefs' [57]'startup' [65]'bootram' [73]'sysram'
Section:intrinfo offset:0x00000480 size:0x00000040
0) vector_base:00000000, #vectors:32, cascade_vector:7fffffff
cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000
id => flags:0000, size:0028, rtn:200e85c0
eoi => flags:1000, size:0024, rtn:200e85e8
mask:200e860c, unmask:200e8630, config:00000000
Section:smp offset:0x00000500 size:0x00000000
Section:pminfo offset:0x00000500 size:0x00000000
Section:mdriver offset:0x00000500 size:0x00000000
Section:boxinfo offset:0x000001b0 size:0x00000028
hw_flags:00000000
Section:cpu offset:0x00000128 size:0x00000020
page_flush:200e8500 page_flush_deferred:200e8538
upte_ro:00000000 upte_rw:00000000
kpte_ro:00000000 kpte_rw:00000000
mask_nc:00000000
System page at phys:200e8000 user:200e8000 kern:200e8000
Starting next program at v202334e8
>- вот тут уже ядро стартует
Crash[0,0] at memmgr_init line 115.
-F- Undef detected
меня смущает пустая секция meminfo.... но я так и не смог ничего нарыть по ней. кто что скажет?
image гружу из флэшки по адресу 0x2000 0000, а с адреса 0х2020 0000 копирую старап и отдаю на него управление.
Сообщение отредактировал RW9UAO - Sep 5 2007, 09:28