I use an LPC11U68 chip in one of my schematics. It is a bus powered application.
The problem is that whenever the MCU is plugged in it automatically gets enumerated as a Mass Storage Device (CRP DISABLED) each and every time.
I have attached the svg plot of the MCU part of my board.
I no matter what the switch position is, it always enters ISP mode...
Original Attachment has been moved to: nxp-mcu.sch.svg.zip
This is the FAQ on how to create a firmware.bin file with valid CRC: https://community.nxp.com/message/630662
Does your firmware.bin file has a valid CRC? Otherwise the MCU considers it as an unvalid user program.
How do I ensure that?
Here is my post-build step:
```
arm-none-eabi-size "${BuildArtifactFileName}"
arm-none-eabi-objcopy -v -O binary "${BuildArtifactFileName}" "firmware.bin"
checksum -p ${TargetChip} -v -d "firmware.bin"
```
Hi Imran Munshi,
Thank you for your interest in NXP Semiconductor products and the opportunity to serve you.
After looked through the sch, I didn't find something wrong.
I'd highly recommend you to erase the LPC11U68, then try again and I've also attached the sch of the LPCXpresso11U68 board, please refer to it for details.
Have a great day,
Ping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Any responses to my previous query?
Hi Imran,
Your schematic shows PIO0_3 is pulled high, so you will always go into the Mass Storage boot mode (rather than UART) if you trigger ISP boot mode. I suspect your flash might be empty? If this is the case then the boot loader will trigger ISP boot (and hence go int oMass Storage mode). See section 26.5.1 of the User Manual:
3. If a valid user program is found then the execution control is transferred to it. If a valid
user program is not found, the boot loader checks the USB boot pin to load a user
code either via USB or UART.
The state of PIO0_3 determines whether the UART or USB interface will be used (see
Section 27.7.3):
• If PIO0_3 is sampled HIGH, the bootloader connects the part as a MSC USB device
to a PC host. The part’s flash memory space is represented as a drive in the host’s
operating system.
• If PIO0_3 is sampled LOW, the bootloader configures the UART serial port using pins
PIO0_18 and PIO0_19 for RXD and TXD and calls the ISP command handler.
Hope this helps.
Regards,
Brendon
But the problem is, I only have the UART0 RX/TX pins exposed, I do not have any SWD/JTAG pins exposed on my board.
Is it at all possible to program the MCU on my board using the Xpresso board?
Hi Imran Munshi
Sorry for reply late.
Regarding to the question, I only have the UART0 RX/TX pins exposed, I do not have any SWD/JTAG pins exposed on my board. Is it at all possible to program the MCU on my board using the Xpresso board?
No, I'm afraid not.
As the Brendon Slade mentioned, if the chip doesn't have the valid user code, then the MCU will also enter the ISP mode (Seeing Fig 1), and in your sch, I think the ISP entry pin (PIO0_1) would keep the high level unless the button is pressed.
So I think the empty chip is the root cause of the issue.
Fig 1
Hope it helps.
Have a great day,
Ping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
But once in USB ISP Mode I should be able to write to the MSC flash device the firmware.bin file? I do this using dd but it doesn't work.
Thanks for your reply.
I was wondering if you can illustrate the exactly voltage level of these pin: PIO0_1,PIO0_3 when the board is powered.
I'm looking forward to your reply.
Have a great day,
Ping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
jeremyzhou Both are at +3.3V (On the board I routed USB_VBUS to +3.3V instead of +5V) by default. It is a bus powered application and ISP_EN switch is open.