šŸ¤¹ā€ā™‚ļø Bare Metal or RTOS, NORDIC brings the Receipts. (saving Nrf54 Xiao)

Ok, SO I can’t put it any simpler than this…

THIS is a MUST watch, If you even comment on the New Xiao with it’s DEV issues and some would say initial shortcomings even though it’s a Work in Progress. Useful feedback is always welcomed at Seeed, The other stuff remember is for Reddit, etc.

NORDIC answers the CALL. first I want to give :bouquet: Props to South Florida’s Nordic REP. he’s a BOSS. :trophy:

Anthony Oliveri | Technical Sales Engineer
M 215-316-1204 | Florida, USA
[email protected] | nordicsemi.com | devzone.nordicsemi.com
Facebook | LinkedIn | Twitter | YouTube | Instagram

Nordic_logo_signature

from Medical devices, autonomous robots and everything Network attached He’s got a Nordic solution.

This BareMetal support mode is what we need in most cases, Anyone trying to wrap their head around this more advanced Development process and MCU’s it supports Will be rewarded with 2x performance, 3x processor efficiency, delivered at half the power requirements.

They cover from the beginning to the end and they show all the needed sources, NO other Co. or DEV environment has that, NONE! for FREE! :grin:
Things like the Softdevice and why it is so superior and stable. Multiple developments with a roadmap for where they are going.
If your not using the SDK you can’t get the most from the device it’s really that simple. ArduinoIDE is getting no support. so really there isn’t another option that is an easier path with Documentation and resources to back it up. Zephyr is fine but useful to me only when needed, apps on this end are more ā€œevent Drivenā€ rarely is a Rtos doing much for me. In eSp32 it seems to be in the way.

They cover the Double/Single SLot DFU business that seeed kinda missed with the lack of an external Flash, even Nordic acknowledged the reliance on Halving the App space wasn’t an Ideal situation.LOL really :v:

It’s all in there and Very worth the read and follow along , beside what else you got going ? :grin: :football:

GL :slight_smile: PJ :v:

It will help you gain a good baseline understanding of how Nordic see’s the Dev process and it’s customers. AWESOME!

1 Like

Hi there,

I was able to duplicate the Example No problems :+1:
looking forward to more as time permits.
no audio. Dog ate my mic. :grin:

HTH
GL :slight_smile: PJ :v:

1 Like

Hi there,

Ditto for the DFU, BootLoader mode…
Seeed needs to make this standard IMO.

:+1:

:v:


Like butter!

HTH
GL :slight_smile: PJ :v:

1 Like

I haven’t had a problem with the ā€œbare-metalā€ implementations of certain projects on the NRF54L15 - and I seem to recall similar messaging from other (Seeed) users.

We’re trying to get more ā€œadvancedā€ applications working, viz Matter over Thread and would really appreciate your ā€œexpertā€ help. A step by step guide would be most beneficial!

Hi There,

I didn’t think so (you would have any trouble) that being said, Everyone needs to be up to speed on this even the Seeedineers. It’s early, SO the secret to the SSED (Synchronized Sleepy End Device) low power :sleeping: for matter over thread and is further down my own list. :grin:
Perhaps others can chime in. I’ll be posting more BLE related stuff but more is planned by Seeed support to update the WIki with such Step-by-step guides. :+1:

I would suggest STRONGLY anyone looking to get the complete Dose, start with this and eat it all. I can’t and wouldn’t want to try and duplicate the quality info and help that already exists. How it applies to Seeed and the New XIAO is too early they are working on it actively with Nordic. So hang tight and Get up to speed folks with all the free material Nordic is providing , they are updating Weekly almost.

Once you feel your way around the SDK it starts to make sense and works well.
If you can get a DK board then It’s a great place to start.
re: Anyone " trying to get more ā€œadvancedā€ applications working, viz Matter over Thread " should be able to Understand, Build and work with the examples successfully first IMO. Then moving to the New Xiao after would be better understood. I don’t think it’s ready yet so keep that in mind. :crossed_fingers:

Yea, it’s not your father’s IDE these days. Someone asked me if I was High the other day,
:face_with_spiral_eyes:
I said NO., just started reading the WiKi & Nordics Nrf54L15 technical references…Fazoul Stay Tuned.

HTH
GL :slight_smile: PJ :v:

Good stuff , but this Matter tool is cool :grin: :point_right: Online Power Profiler for Matter over Thread

Thank you very much for this hint. It seems to be the right way, but a problem is that it takes to much time (for me) to dive into.

I started BareMetal programming many years ago with the Arduino DUE (ARM SAM3X). My IDE is Eclipse/Sloeber and till now, I did not leave the Arduino environment. When I detected, that the digitalWrite-function of Arduino was rather slow and not able to switch multiple pins the same time, I replaced it with a direct register (memory) access based on the datasheet of SAM3X. I created my own C++ class and a basic virtual class as an interface. I am very happy with this, because it is easy to mix Arduino resources with high speed requirements. I have some applications with cycle times of less than 100 microseconds.

Currently my favorite MC is the nRF52840 with the Arduino Nano BLE 33. The MbedOS is a load, but fortunately it is not so much present if I do not use specific resources. My first step of BareMetal programming with this MC was to write my own I2C interface based on the Technical Documentation from Nordic. Because for reading the sensors the Arduino functions (asking for new data with ) captured the CPU for a millisecond and my high speed applications did not work. My own I2C routines cause delays less than a microsecond and so I am happy again.

Thanks to the information from the Nordic developer forum (and the Technical Documentation) I was able to create my own BLE beacons and developed my own BLE communication with a latency of less than a millisecond. Not using the MbedOS and running with my high speed applications.

A few month ago I found the Seeed XIAO boards and bought a few with nRF52840 for tests. My hope was, to replace the Arduino Nano BLE 33 with a smaller and cheaper board. But the XIAO board ist not really compatible. According to the SeeedStudio-wiki, I started with the MbedOS, but my BLE network is not working. Then I switched to the TinyUSB environment. Now my BLE network is working, but very slow. I found, that the loop-function (Arduino) runs only every millisecond (and not every few microseconds as with Nano BLE 33).

Currently I cannot use the XIAO boards for my BLE communication and for my high speed applications. May be, I can use another development environment in the future, based on Your important hint. But at the time, I am happy to have all my BareMetal software running with the same IDE for different MCs (Arduino MKR Zero, Arduino DUE and Arduino Nano BLE 33).

1 Like

Hi there,
WOWSA, that is very cool. They are working on the bare metal at nordic with a new release to handle more interfaces and Bare metal and BLE with there stack is pretty Stout. I’m hopeful more progress is made in refining the nRF54L15 Xiao and maybe gifted a 54LM20 version for more of everything :crossed_fingers:
:grin:

HTH
GL :slight_smile: PJ :v:

I have looked into the Product Description of nRF54L.. and I am very excited. That MC is going to be my new favorite. If I can find a board for my Arduino environment which does not hinder my BareMetal programming. Of course I will try Seeed XIAO first, hopefully their OS does not hurt my programs. Maybe I have to learn to get independent with another bootloader or so.

A few month ago I started to create my own (BareMetal-) writing to the flash of nRF52840. It seems, I can only write single 32-Bit words with a delay of about 40 microseconds (the CPU is halted meanwhile). But that would be OK, though it takes nearly 50% of the cycle for some of my applications. I only need about hundred words to store and not often.

And now there seems to be something new with the RRAM of nRF54… instead of the flash with nRF52… But I have to understand that new buffered method first, till now I did not detect anything about the timing.

The radio did not change, only some more features. So my BLE communication should work after adapting the register addresses (and may be some masks). There are new registers (SUBSCRIBE_…, PUBLISH_…), which I have to learn. For me the SHORTS register is most important.

Really good ideas with the MCs of Nordic.

Hi there,

Yes, New Xiao nRF54L15 is great start into the next level of performance and capabilities compared to the nRF52840. You will want to get onto the Nordic Dev System
The NRF_SDK is a slight learning curve but well worth it IMO because it enhances the nrf52840 experience one may already have. There is NOT any Arduino support for the New MCU so it’s a requirement. Nice it has both an Full level development stack and a ā€œBare-Metalā€ toolchains.
You may be up against the RTOS that is native.on the execution threads.
With all the free Dev academy videos and courseware Go watch the intro and get the 10K foot view , and see if it’s what may work for you.

The BareMetal build info is posted on here with the video. I have built all of the demo’s for the DK and Xiao :+1: no issue’s not to mention the Upcoming Softdevice upgrades , that’s when Chit will REALLY :grin: Kick some Ascii

HTH
GL :slight_smile: PJ :v:

1 Like

Thank you very much again for your hints. I’ve looked into the wiki of Seeed XIAO nRF54… and it is very good. But using it would be a total change of my development environment, somehow starting from the scratch (not only the programming environment, also documentation and resource management). I will give the Nordic SDK a try to integrate it into my Eclipse and if that works, I can adapt my C/C++ modules to the XIAO boards. For me it is very important to bypass any RTOS because my world is that of multiple high speed state machines (building a kind of cooperative multi tasking with real time control).

Have a nice weekend
Rob

After reading the begin of nRF Connect SDK Bare Metal option at docs.nordicsemi.com :
Yes, that is exactly what I need. But I have not the time to care for it more than a few hours a week.
So it will take a few weeks or months until I hopefully get that running with Eclipse.
If I am successful, I will create an accordingly theme here. :slightly_smiling_face:

1 Like