Mbed OS on Boron

hello. I tried loading a ble program running on mbed OS to the particle boron to see if it would advertise. It did not. Furthermore, the boron is now constantly blinking(the colour being both green and yellow at the same time) and I cannot load any code in it. I’ve tried loading the blinky project using the web IDE to no avail. What could be the problem? Any help will be greatly appreciated.

Obviously your firmware overwrote some parts required for the cloud connection so the device can’t connect to the cloud and consequently OTA updates can’t work.
You need to flash via USB.

To be safe I’d re-flash the device OS, a working application firmware and maybe even the bootloader.

Update your CLI (should be v1.39.0), download the needed binaries from here

Then run this in DFU Mode

particle flash --usb system-part1-0.9.0-boron.bin -v
particle flash --usb tinker -v

and this in Listening Mode

particle flash --serial bootloader-0.9.0-boron.bin -v
2 Likes

hello. thanks for the help. I am trying to flash boron.bin file but I get an error

Error writing firmware: file does not exist and no known app found.
how can I solve this?

Do you tell CLI where it can find that file?
My suggested commands assume you are executing the command from the directory where your downloaded files are located.
If you are not, how would CLI know where you stored these files?

running the first two commands worked. Problem now is setting the particle boron to listening mode. It is currently blinking with a very light blue, close to white, color. I’ve tried presing the mode button, as suggested in the tutorials, but nothing is happening.

I found the error being No serial port identified

Hello. I was able to run the first two commands after which the boron’s status LED started to blink with a white color. After looking at the tutorials, I saw that this meant that the boron’s cellular was off. I’ve tried looking for a solution to this with no avail. Would you be having any idea as to why the Boron is behaving in this manner? Any help will be greatly appreciated.

Can you try Safe Mode?

Yes I did. I followed the instructions on the tutorial. From what i saw, the boron is supposed to blink in mangeta. I got the board to blink in mangeta while holding the mode button, I but when i released the button, the board reverted back to blinking in white. I am quite new to the boron and have no idea of what i ought to do now.

What’s with the third command? You should apply that before moving on.
What OS are you running?
If CLI can’t find the port automatically you need to provide that info via the --port switch.

BTW, you could try flashing this version of Tinker via

particle flash --usb tinker-serial1-debugging-0.9.0-boron.bin -v

and maybe get some more info via the RX/TX output (requires a RS232TTL to USB cable, or the Particle Debugger).

Uhm, replacing the original device OS with an unsupported 3rd party OS may have something to do with it.

1 Like

I was not able to get the boron into listening mode, I so when i tried running it,(the command), it was unsuccessful.

I reflashed the boron with system1 binary file. Am i wrong to assume that this is the deviceOS running in the boron?

I will try this. Thanks.

Ok. For clarity, does this mean that the boron cannot support the mbed OS? Can it support the nrf52 sdk?

I reflashed the boron with system1 binary file. Am i wrong to assume that this is the deviceOS running in the boron?

Have you also tried reflashing the bootloader via serial as previously mentioned? You didn’t mention either way and if you haven’t done that it’s worth doing - perhaps part of it was overwritten in your previous mbedOS attempt.

It sounds like you were unable to get the bootloader flashed because you were unable to get into serial listening mode (probably because the bootloader is damaged). You should be able to do this with JTAG. This step will be essential I think. Someone more knowledgeable can hopefully chime in here, but essentially what you are doing is similar to this post, but please double check the memory addresses from the boron datasheet online.

Ok. For clarity, does this mean that the boron cannot support the mbed OS? Can it support the nrf52 sdk?

Officially none of the Particle products support an alternative OS. It’s one of those things that may technically be possible, but once you start messing with the OS, it’s kinda on you to figure out how to work with that. I haven’t yet heard of anyone doing that (especially because the boron is super new), so I think you are in uncharted “maybe” territory here.

That said, we should be able to help you get the normal OS working again with enough information. Can you specify how you loaded the “ble program running on mbed OS” in the first place? What commands did you use to do so? What is the size of that code set? This may help us determine what might have been changed that needs to be restored. I still think the bootloader is your problem unless you’ve already successfully re-flashed it.

4 Likes

My question about OS was actually targeted at your computer since that impacts how the port is referenced :wink:

If you in fact have damaged the bootloader or the SoftDevice you definetly will need to go the JTAG/SWD route
https://docs.particle.io/support/particle-tools-faq/jtag/
https://docs.particle.io/support/particle-tools-faq/jtag/#programming-the-boot-loader-3rd-generation-

2 Likes

I am using windows 10

Thanks so much for this. I’ve been able to get my boron working again. Again, thanks alot.

2 Likes

I’ve been able to reflash both the bootloader and the soft device. Having learnt from this, I’d like to ask, is there any other way one can enable the BLE functionality in the boron and have it work in a non mesh set up?

Bluetooth is a high priority item for the team, and it’s being worked on. That said, if you’re feeling ambitious and really can’t wait, you can play around with the system firmware to try to get it to work yourself.

1 Like