大家帮我看看,我用厂家提供的BSP生成的OS 在开发板上无法启动,有详细信息,该如何修改
[复制链接]
下面的情况均在厂家提供的开发板上试验
内存情况:
内存:64MByte SDRAM(2片16位的SDRAM芯片组成32位接口)
NOR Flash:32MByte内存(2片intel E28F128组成32位接口)
测试的BSP有下面两个:
厂家提供的BSP (BerryDale)
wince 5.0 提供的:MAINSTONEII
使用 BerryDale 的测试情况:
使用缺省设置,选择 mobile Handheld ,在后面的Next 步骤中去掉缺省选项,Setting 中去掉Enable KITL ,选择Debug版,编译nk.bin 大小为21M 左右,下面是config.bib 和oemaddrtab_cfg.inc
——————————————————————————————————————————————————————————
config.bib 内容
MEMORY
; Name Start Size Type
; ------- -------- -------- ----
RSVD 80000000 000FF000 RESERVED
ARGS 800FF000 00001000 RESERVED
NK 80100000 03000000 RAMIMAGE
RAM 83100000 00F00000 RAM
; Reserve ZBANK virtual block (No physical memory
; is required to back this virtual range).
;
ZBANK 96500000 00100000 RESERVED
CONFIG
IF IMGFLASH !
AUTOSIZE=ON
ENDIF
KERNELFIXUPS=ON
; @CESYSGEN IF !NK_NKNOCOMP
COMPRESSION=ON
; @CESYSGEN ENDIF !NK_NKNOCOMP
; @CESYSGEN IF NK_NKNOCOMP
COMPRESSION=OFF
; @CESYSGEN ENDIF NK_NKNOCOMP
IF IMGPROFILER
PROFILE=ON
ELSE
PROFILE=OFF
ENDIF
;
; ROMFLAGS is a bitmask of options for the kernel
; ROMFLAGS 0x0001 Disallow Paging
; ROMFLAGS 0x0002 Not all KMode
; ROMFLAGS 0x0010 Trust Module only
;
IF IMGTRUSTROMONLY
IF IMGNOTALLKMODE
ROMFLAGS=12
ELSE
ROMFLAGS=10
ENDIF
ELSE
IF IMGNOTALLKMODE
ROMFLAGS=02
ELSE
ROMFLAGS=00
ENDIF
ENDIF
——————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————
oemaddrtab_cfg.inc 内容
; Export Definition
EXPORT g_oalAddressTable[DATA]
ALIGN
g_oalAddressTable
DCD 0x80000000, 0xA0000000, 64 ; MAINSTONEII: SDRAM (64MB).
DCD 0x84000000, 0x5C000000, 1 ; BULVERDE: Internal SRAM (64KB bank 0).
DCD 0x84100000, 0x58000000, 1 ; BULVERDE: Internal memory PM registers.
DCD 0x84200000, 0x4C000000, 1 ; BULVERDE: USB host controller.
DCD 0x84300000, 0x48000000, 1 ; BULVERDE: Memory controller.
DCD 0x84400000, 0x44000000, 1 ; BULVERDE: LCD controller.
DCD 0x84500000, 0x40000000, 32 ; BULVERDE: Memory-mapped registers (peripherals).
; DCD 0x86500000, 0x3C000000, 64 ; BULVERDE: PCMCIA S1 common memory space.
; DCD 0x8A500000, 0x38000000, 32 ; BULVERDE: PCMCIA S1 attribute memory space.
; DCD 0x8C500000, 0x30000000, 32 ; BULVERDE: PCMCIA S1 I/O space.
DCD 0x8E500000, 0x2C000000, 64 ; BULVERDE: PCMCIA S0 common memory space.
DCD 0x92500000, 0x28000000, 32 ; BULVERDE: PCMCIA S0 attribute memory space.
DCD 0x94500000, 0x20000000, 32 ; BULVERDE: PCMCIA S0 I/O space.
; DCD 0x96500000, 0xE0000000, 1 ; MAINSTONEII: Zero-bank (in reserved slot - no physical memory required).
DCD 0x9A500000, 0x14000000, 1 ; MAINSTONEII: nCS5: ExuartB.
DCD 0x9A600000, 0x10000000, 1 ; MAINSTONEII: nCS4: SMSC 91C111 Ethernet controller.
; DCD 0x9A700000, 0x0A000000, 1 ; MAINSTONEII: nCS2 (upper half): 2MB SRAM.
DCD 0x9A800000, 0x08000000, 1 ; MAINSTONEII: nCS2 (lower half): Board registers (FPGA). cs8900
DCD 0x9A900000, 0x04000000, 32 ; MAINSTONEII: nCS1: ExuartA.
DCD 0x9C900000, 0x00000000, 32 ; MAINSTONEII: nCS0: Boot Flash (32MB).
; DCD 0x9E900000, 0x50000000, 1 ; BULVERDE: Camera peripheral interface.
DCD 0x00000000, 0x00000000, 0 ; end of table
END
——————————————————————————————————————————————————————————
下载到目标板后,没有反应,没有进入 ARMInit ,根据信息,应该是进入 Launch(PhysAddress); 然后没有反应,显示器显示有信号,黑屏,但串口没有相关信息
然后通过wince 5.0 提供的BSP : MAINSTONEII
建立OS 步骤和上面的一样,最终编译的nk.bin 大概10M左右,下载到开发板上,重启,wince 界面启动,下面是config.bib 和oemaddrtab_cfg.inc
config.bib :
MEMORY
; Name Start Size Type
; ------- -------- -------- ----
RSVD 80000000 000FF000 RESERVED
ARGS 800FF000 00001000 RESERVED
NK 80100000 03000000 RAMIMAGE
RAM 83100000 00F00000 RAM
; Reserve ZBANK virtual block (No physical memory
; is required to back this virtual range).
;
ZBANK 96500000 00100000 RESERVED
CONFIG
AUTOSIZE=ON
KERNELFIXUPS=ON
; @CESYSGEN IF !NK_NKNOCOMP
COMPRESSION=ON
; @CESYSGEN ENDIF !NK_NKNOCOMP
; @CESYSGEN IF NK_NKNOCOMP
COMPRESSION=OFF
; @CESYSGEN ENDIF NK_NKNOCOMP
IF IMGPROFILER
PROFILE=ON
ELSE
PROFILE=OFF
ENDIF
;
; ROMFLAGS is a bitmask of options for the kernel
; ROMFLAGS 0x0001 Disallow Paging
; ROMFLAGS 0x0002 Not all KMode
; ROMFLAGS 0x0010 Trust Module only
;
IF IMGTRUSTROMONLY
IF IMGNOTALLKMODE
ROMFLAGS=12
ELSE
ROMFLAGS=10
ENDIF
ELSE
IF IMGNOTALLKMODE
ROMFLAGS=02
ELSE
ROMFLAGS=00
ENDIF
ENDIF
oemaddrtab_cfg.inc
ALIGN
g_oalAddressTable
DCD 0x80000000, 0xA0000000, 64 ; MAINSTONEII: SDRAM (64MB).
DCD 0x84000000, 0x5C000000, 1 ; BULVERDE: Internal SRAM (64KB bank 0).
DCD 0x84100000, 0x58000000, 1 ; BULVERDE: Internal memory PM registers.
DCD 0x84200000, 0x4C000000, 1 ; BULVERDE: USB host controller.
DCD 0x84300000, 0x48000000, 1 ; BULVERDE: Memory controller.
DCD 0x84400000, 0x44000000, 1 ; BULVERDE: LCD controller.
DCD 0x84500000, 0x40000000, 32 ; BULVERDE: Memory-mapped registers (peripherals).
DCD 0x9A500000, 0xE0000000, 1 ; MAINSTONEII: Zero-bank (in reserved slot - no physical memory required).
DCD 0x9A600000, 0x14000000, 1 ; MAINSTONEII: nCS5: eXpansion board header.
DCD 0x9A700000, 0x10000000, 1 ; MAINSTONEII: nCS4: SMSC 91C111 Ethernet controller.
DCD 0x9A800000, 0x0A000000, 1 ; MAINSTONEII: nCS2 (upper half): 2MB SRAM.
DCD 0x9A900000, 0x08000000, 1 ; MAINSTONEII: nCS2 (lower half): Board registers (FPGA).
DCD 0x9AA00000, 0x04000000, 32 ; MAINSTONEII: nCS1: Secondary flash (32MB).
DCD 0x9CA00000, 0x00000000, 32 ; MAINSTONEII: nCS0: Boot Flash (32MB).
DCD 0x9EA00000, 0x50000000, 1 ; BULVERDE: Camera peripheral interface.
DCD 0x00000000, 0x00000000, 0 ; end of table
大家对比看一下,有什么建议?
另外帮助上说可以删除一些组件,如何删除,老是提示:one or more user-selected platform settings depend on this item. to remove this dependent item from the platform follow the instructions below(下面是列表)
例如:remove non-platform environment variable : SYSGEN_USDK
|