Why doesn't rom.bin boot?

When I download a rom.bin (for example the template application) with the naftpapp application and restart the board nothing happens. If I want an application to execute from ROM how shall I do? The documentation says that the rom.bin file is just for that but it doesn’t work. I have tried to figure out what the difference is between the bootloader (which does boot from flash) and the template application but I can’t understand why the bootloader works but none of the rom.bin works. When programming the flash with the bootloader the reset.s file is linked to the beginning of the flash. This is also the case in any rom.bin. The two programs both uses resethandler_rom so the program must “crash” later in the program. If I connect the debugger after I have restarted the board with a rom.bin file the pc runs all over the flash and even outside the flash (!?) so I can’t understand what is happening.

I found the problem. The problem was that on the NS7520 development board there are not any NVRAM. Instead the last sector of the flash is used as NVRAM (by default anyway). During startup the NANVInit routine is called which initiate the NVRAM in flash feature, but if the code runs from flash you can’t (unless you handle it in a different way) program the flash. The solution is simply to remove/change the NANVInit (I don’t use the NVRAM feature anyway) and the code will boot both on my board and on the development board. What I don’t understand is that hasn’t Netsilicon tested to program the NS7520 development board with a boot image? This worked on the boards with real NVRAM but has never worked on the NS7520 board. I thought I wouldn’t have to debug the supplied BSP for the development board but I was wrong.