Content originally posted in LPCWare by KaraMuraT on Fri Jul 09 00:49:52 MST 2010
Hi,
Quote:
Use something like
arm-none-eabi-size ${BuildArtifactFileName};arm-none-eabi-objcopy -O binary ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.bin;checksum ${BuildArtifactFileBaseName}.bin;
in
Properties / C C++ Build / Settings / Buid-Steps / Post build Steps
to generate a valid bin-file.
I've that post build process, including an additional hex file output.
Quote:
Start Bootloader, delete old 'firmware.bin', copy new 'xx.bin'. Now you should see the new file with new date and size. If you start Bootloader again, you will see again an old 'firmware.bin' with old date and 32k size. The new file isn't shown! So you can only control the correct copying of the file just after it is copied. If the new file isn't shown then, copying wasn't successful.
I can see my new *.bin file after copying. File properties dialog shows the correct values.
Quote:
Check (if you haven't yet) your PIO0_1 and it's Pullup.
Already checked. It is pulled down for Bootloader mode, pulled up in USBCDC mode. (never floating)
Quote:
If USBCDC is working, your Windows Device Manager should show something like 'LPC134x USB VCom Port (COMXX)'.
I've seen the successful operation before. (remember, I said that the first circuit was working, but rarely)
Quote:
Use 3 wires to connect SWD to LPCXpresso, so you can program/debug and see what's going on.
Forgot to add debug connector, I think because of 2000 km driving :). I'll try to add them manually.
Quote:
Your attached files show your 'old' board again
The attachment is not the old board, I didn't add the layout (thought it's not necessary). You can see the BSS84 USB_SOFTCONNECT USBVBUS etc.
I checked the usbcdc.bin after deleting firmware.bin via copying the file from the CRP_DISABLD disk. The files match, means that bin file is successfully copied to LPC1343's flash.
The key question is, will the LPC1343 enter to bootloader mode if no valid executable data found in it's flash, even the P0.1 pulled high?
If it's so, that means I'm able to write it's flash but the bin file is not valid, despite I'm using the checksum post process.
In any case I have to see it via debug wires as you suggested.
***********
After a simple test
***********
I tried a simple test after writing the message above. Created blinky.bin from the simple LPCXpresso1343_blinky project. Copied to LPC1343. But after that I didn't connect to USB, instead I powered up the circuit via an external 5V power supply. And voila, my test led was blinking.
So, the main problem is, "why LPC1343 is booting in loader mode, even the P0.1 pulled up?" (As mentioned above, it is never floating, pulled down or up). Are there any additional constrains like USB_VBUS input?
Thanks for help.