New beta firmware for LPC1768

Hi,

We were working recently on adding webUSB functionality to existing LPC1768 firmware. The same functionality exists in DAPLink firmware on many boards. We have a first beta drop available. It can be downloaded from here: https://assets.mbed.com/firmwares/lpc1768/mbedMicrocontroller_221130.if

How to install

  1. Download firmware from here
  2. Connect LPC1768
  3. Drag & drop the firmware on the board
  4. Reconnect the board

How to revert to older firmware

Follow steps from Firmware LPC1768 LPC11U24 - Handbook | Mbed

Supported features

New firmware adds support to following features:

Supported platforms

  • Windows 8.1 and higher
  • macOS

Known issues

This is a beta release. Firmware still has few known issues that we are working on:

  • Linux distributions are unsupported (webUSB interface can’t be claimed on that board)
  • Remote deploy often fails every when semihost is disabled in mbed_app.json
  • Remote deploy often fails when Mbed program uses wait_us() or wait_ns(). LPC1768 board goes then into deep sleep. Issue is not reproducible for thread_sleep_for
  • Remote deploy often fails for non-DAPLINK deploys. We recommend setting use Daplink preference to true in File->Settings->Open Preferences->Run

Thanks,
Arek - Studio team

4 Likes

Tried it on two mbed LPC1768s. Mbed Flash drive went away on office PC running Windows 10 on both after firmware update. Flash drive shows up on my newer Win 11 PC at home and compiler can now flash code and run on that PC.
Debug and breakpoints still not working 100% of the time on blinky baremetal example for me here. I was able to hit a breakpoint a few times, but often got an error - typically RDDI - Error 13, or 22 or 57. It also seemed to stop a lot on a return semihost sys_exit line that I never set a breakpoint on whenever I hit continue.

2 Likes

Hi @4180_1 ,

Thank you for taking it for a spin. Mbed flash should be back on Windows. You need to keep it connected a little bit longer after the first time after the board is running a new firmware as Windows may be doing a scanning. It may take even up to 1 minute. Please let us know if it went back.

It also seemed to stop a lot on a return semihost sys_exit line that I never set a breakpoint on whenever I hit continue. - This is the issue I mentioned about in known issues. Debug is stuck in semihost when device goes into deep sleep mode. We are working on improving it

Thanks,
Arek - Studio team

The mbed I put on the Win 11 PC - It’s flash drive now shows up fast in Win 10 this morning and it pairs with DAPlink now, but says device unsupported when I build. The second one is still MIA in Win 10 after several minutes. I will take it home tonight and see if the same thing happens on it when I use Win 11 on it. The DAPlink device shows up, but the compiler cannot connect whenever the flash drive is missing.

I played with deep sleep a few years back on this chip - I recall reading someplace obscure in a manual that you can’t wake from deep sleep in debug mode on the LPC1768 - and I never got that sleep mode to wake up! Might have been NXP Application Note AN10915?

1 Like

Dear Arek,

Thank you for this wonderful update, I have a few questions:

Will the update also work on LPC1788 and LPC4088? Otherwise, what would it require for it to be compatible with these models?

Is there a way to use it with boards like LPC1768 MINI DK (schematic) that do not support drag and drop updates?

If the above questions yield negative answers, what would be the recommended approach to implement WebUSB communication with LPC1879 MINI DK or LPC1788 and LPC4088 on recommended boards?

Best regards,
Esculap

Hi Esculap,

Thank you. We are still working on improving firmware for LPC1768 even further to make it more stable with webUSB. Especially when it comes to debugging.

LPC4088 supports DAPLink. We added support for webUSB in DAPLink few years ago. This board should be fully supported in Keil Studio Cloud after you update DAPLink firmware on that board. You can find it here: https://daplink.io/

LPC1788 - I’ll investigate how much work will it be to add a webUSB support the the firmware for that board.

LPC1768 MINI DK - It won’t be easy to enable webUSB feature on that board. That functionally is heavily based on drag & drop functionality.

Thanks,
Arek - Studio team

Thank you Arek, that sounds very promising,

This board is very interesting, would you recommend it to work with LPC4088?
EA LPC4088 Display Module | Mbed
One of the key features we are interested in is using ADC for impedance measurements calculations.

And how about LPC4357 for the same purposes (WebUSB and Impedance measurements)
LPC4088/4357 Development Boards - Embedded Artists | Mouser
What could be an additional advantage to be taken from the dual-core setup here?

Best regards,
Esculap