Hi at all, i want to make some test on NXSB100 board with winCE 5.0 but the second stage bootloader don't boot up.
The NXSB100 have 8MB of SDRAM and 4MB of SPI Flash, then i have set the enviroment variable PLAT_TARGET_8MB_RAM. Then i have add the line
IF (%PLAT_TARGET_NXSB100%)==(1) call %_TARGETPLATROOT%\BATCH\nxsb100.bat
@echo off SET TARGET_COOKIE=0xF8BEAF32 SET TARGET_ASICCTRL=0x00000001 SET TARGET_MEMCTRL=0x0203030F SET TARGET_SDRAMCTRL=0x030D0111 SET TARGET_SDRAMTIMING=0x03C1A3A2SET TARGET_BLSTART=0x80750000
SET TARGET_BLENTRY=0x80750000
SET TARGET_APPLSTART=0x80000000
SET TARGET_APPLENTRY=0x80000000call %_TARGETPLATROOT%\BATCH\custom.bat
After this i have make a clean and build of the BSP, then a Sysgen.
Then i have modify the bootblock of the file eboot_patched.nb0 with bootwizard with the follow parameter:
Load Address = 0x80750000
Entry point = 0x80750000
select SPI flash and 48LC2M32 SDRAM.
next i have flashed my NXSB100 board, at the end the SYS led is green.
Now i reset my board but on the serial terminal configured as 115200 8 N 1 i don't see anything. What's wrong????
Thank's
Thank's for the reply!, yes the space for Wince image is so small on this board but in this stage i'm interesting to run the bootloader from SPI flash.
You are right, i have make some mistake on the NXSB100.bat file, here the corrected file......right??:
@echo off SET TARGET_COOKIE=0xF8BEAF00 SET TARGET_ASICCTRL=0x00000001 SET TARGET_MEMCTRL=0xF7C009D8 SET TARGET_SDRAMCTRL=0x030d0001 SET TARGET_SDRAMTIMING=0x03c12151SET TARGET_BLSTART=0x80750000
SET TARGET_BLENTRY=0x80750000
SET TARGET_APPLSTART=0x80000000
SET TARGET_APPLENTRY=0x80000000call %_TARGETPLATROOT%\BATCH\custom.bat
Next i'm sure that PLAT_NETX_NODEBUGSERIAL is NOT defined but i don't see anything on hyperterminal!!!
Question:
Bootwizard: when i load the eboot_patched.nb0 the message is
11.54.29: 1
11.54.29: setting flash device type to 1
11.54.29: Information: Can't detect hardware from bootable image:
found 0 matching source devices, 2 dest devices for netX 500
found 0 matching source devices, 1 dest devices for netX 50
and in LoadAddress and Entry point field i see 0x00000800, why?? I expect to see 0x80750000 in both field (as setting in NXSB100.bat file for SET TARGET_BLSTART=0x80750000 SET TARGET_BLENTRY=0x80750000)
Board LED
After flashing the NSXB100 the green led of SYS was ON, now if i reset the board i see the red COM led ON and both led on the ethernet channel 1 jack ON. What's does it means?? what's the meaning of COM LED, the documentation of the NSXB100 wasn't clear on this aspect.
Regard
Matias
Hilscher Gesellschaft für Systemautomation mbH
You are right, i have make some mistake on the NXSB100.bat file, here the corrected file......right??:
SET TARGET_MEMCTRL=0xF7C009D8
In case of SPI Booting the memctrl field describes the speed grade of the serial flash. I don't know where you got this value from, but from the bootwizards XML file I extracted a speed of 14 (0xE)
14
So if the wrong bootheader is patched, EBoot will not start at all, as the ROMLoader is unable to boot the image.
Question:
Bootwizard: when i load the eboot_patched.nb0 the message is
Quote:
11.54.29: 1
11.54.29: setting flash device type to 1
11.54.29: Information: Can't detect hardware from bootable image:
found 0 matching source devices, 2 dest devices for netX 500
found 0 matching source devices, 1 dest devices for netX 50and in LoadAddress and Entry point field i see 0x00000800, why?? I expect to see 0x80750000 in both field (as setting in NXSB100.bat file for SET TARGET_BLSTART=0x80750000 SET TARGET_BLENTRY=0x80750000)
There is a little startup code prepended to the bootloader and also to the nk_patched.nb0 which does a little pre-initialization. This code runs from internal RAM to make in board independent, so bootwizard just see's this information. The "real" eboot image follows a 4kB offset inside the .nb0 file.
Board LED
After flashing the NSXB100 the green led of SYS was ON, now if i reset the board i see the red COM led ON and both led on the ethernet channel 1 jack ON. What's does it means?? what's the meaning of COM LED, the documentation of the NSXB100 wasn't clear on this aspect.
If the bootloader does not start up it does not set any outputs / LEDs. The COM LED is neither touched by EBoot nor by a Windows CE image. So i assume this is the default behaviour of this LED when the appropriate PIN (PIO6/7 ?) is not actively driven by the netX.
The System status LED is also not touched by the bootloader, so it will stay at the level, set by the netX ROM loader
Regards
MT
Now the second stage bootloader start correctly from SPI Flash, but i need to removed the sdram_fix_patched.bin from the bootloader image. I have load into the NetX the eboot_temp.nb0 and it work.
Which kind of operation do the sdram_fix_patched.bin ??
regard
Matias
Hilscher Gesellschaft für Systemautomation mbH
If I remember correctly the SDRAM fix is only able to load the appended image from Parallel Flash. So the combined bootloader cannot work on serial flashes. the eboot_temp.nb0 is the pacthed image without this fix, so this will also work from serial flash.
The SDRAM fix is a little piece of code which runs from internal RAM, to setup some special SDRAM stuff which is basically the same action as in the netX HiTop scripts.
Regards
MT
M T
Hilscher Gesellschaft für Systemautomation mbH
Using E-Boot to load a windows CE image from serial flash won't work. The bootloader should start up, but you will be unable to flash AND start the image, as EBoot only checks the parallel flash for a bootable image. If you want to test CE on this board you will need to setup config.bib (ROMSIZE) to a value that fits the serial flash, and let this image be started by the netX ROM loader.
The needed image is "nk_patched.nb0" which is also created during Sysgen.
If you want to use serial flash you will need different settings in the boot header. The timings used in the windows CE examples are for parallel flash. The value for TARGET_MEMCTRL is the value to be programmed into the SRAM controller to access the parallel flash. This will not work for serial flashes. This value needs to be adjusted. For serial flashes this parameter describes the speed to be used for the SPI controller (See Bootwizard documentation page 32 ff (Appendix - netX Bootblock).
Another question, where did you get the SDRAM parameters from. These parameters don't seem to match the board (NXSB100) in any way. These are settings for a 32MB SDRAM and the timings don't match anything i've seen for the netX chip.
Why should you need to modify the bootblock? The bootblock is created during the Sysgen Phase? If you choose the correct parameters at build time in your NXSB100.bat file (thats what these parameters are used for) you can safely skip this step.
But one thing, which might also occur using Platform builder (and which is mentioned in the BSP Documentation in Question&Answer / Bootloader chapter), that you have disabled the serial console in your project (PLAT_NETX_NODEBUGSERIAL).
Another thing which seems to be an issue of the Platform builder is:
If you once compiled the BSP using different settings for the SDRAM Size (or anything else), the BSP is not rebuild, even though it is needed, due to the change in e.g. RAM Size. You will need to check "Clean before build" and "Build and Sysgen current BSP" to rebuilt the BSP using the new settings.
BTW: Due to the 8MB RAM CE will run very choppy on this board. During tests with 8MB memory boards, it showed that after startup there was less than 1MB of free memory. Debugging and writing larger application will be nearly impossible in this constellation
Regards
MT