Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
3 years, 7 months ago.
Issues running .bin files compiled recently where old .bin files saved from several months ago work
I am experiencing a bit of a weird problem, and I was wondering if anyone could shed any light on what is going on, or could at least recommend a troubleshooting plan to gather more information..
I have a bunch of older revision boards - possibly Rev PB1, but the silkscreen is hard to read. If I use a .bin file that I compiled and saved months ago, it downloads to the board and runs fine.
However, if I take the same source code and recompile it today, the .bin file will download, but when I reset the board, I get LED 3 and 4 in the dim blue state. Watching the serial monitor doesn't give me anything, despite uploading a program where I disabled all of the interesting code by commenting out the calls to it in main, and just have a bunch of serial printf's being used.
My working theory at the moment is that something changed in the MBED online compiler settings or base libraries that is causing the .bin file to not be loadable by the boot loader. My saved source code was downloaded offline and includes the mbed and mbed rtos libraries as source (mbed rev 88), so I know it's not the MBED compiler updating the libraries for me. The only other thing I can think of is that the processor is not resetting properly to boot the code. I have compared the schematics on the EA website, and noticed that newer revisions of the board have a more complex reset system between the CMSIS-DAP chip and the processor and an extra ic to support it.
I have tried updating to the new DAPLink based firmware, which made no real change - I see the same issues. While we have a base board that has a variety of sensors and outputs on it, the issue occurs whether or not the QSB is plugged into the baseboard, so I have ruled out that possibility.
I have had one customer report that a .bin file we sent them ran on an EA LPC4088 QSB that they purchased directly, even when the same file did not run on the board we supplied. The board that worked was one of the newer revisions that has at least one point-to-point wire that appears to run into the reset circuitry, and has an extra IC compared to the boards we still have in stock.
I have even tried starting with a fresh mbed_blinky copy from the MBED.org collection, which works, oddly enough, even though larger programs do not. The .bin file I am trying to load is 622kb.
Host OS: Windows 7 x64 Libraries/Features used: mbed, mbed-rtos (mutexes, threads, timers, and queues), EthernetInterface, QSPIFileSystem, sdram
At the moment, I am trying to get an external build environment set up so that I can connect a debugger to the board over the DAPLink, and I will have to see what I can find. The trick at the moment is getting an environment that reproduces the error and will compile and debug such a large program.
If you have any thoughts, I would greatly appreciate it.