Giga - is mbed OS optional? What if we don't need it?

Recently got a Giga R1 board to play with and noticed on my first sketch that only about 1/2 the advertised ram seems available for user code... No good explanation where the other 1/2 is used or there are options to change that. I suspect that the mbed OS is probably using a good portion of that.

But what if we don't need mbed functionality? Is there any way to select whether we want that or not?

Sorry I know others can probably give you a more complete answer...

But here are probably a few different options:

a) Use MBED as you are currently doing.
You might look at the different configuration options under tools, like flash split.
And of course with RAM and the like it may depend on things like are you only using the M7
core or are you also using M4 core...

b) You might use the Arduino Core using Zephyr. You can find this using the Board manager and search for Zephyr.

c) You can use Zephyr directly without the Arduino code.
zephyrproject-rtos/zephyr: Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.

This allows you to build your own apps where you can choose which pieces are configured into your sketch and make your own modifications to the device tree. But there is a pretty large learning curve. I do some of this, mostly as to try to make modifications to things such as camera drivers.

Note: b) above is a wrapper on this with most things specified hardware wise and the like.

d) You can probably develop using none of the above but some other build system where you develop everything yourself.

Hope that helps
Kurt

Thanks for the tips! I haven't experimented with Zephyr, so that's another avenue to investigate.

Arduino does a lot of things well, but it seems like the recent 'high end' boards could use a bit more documentation aimed at the IDE user base... I have been relying heavily on the STM32H742 reference manual to figure things out, but that doesn't really help for deeper dives into the board system as a whole with the various companion chips that are integrated into the design.

If your intent is to continue to use Arduino development tools (as opposed to switching to an alternative development environment such as STM32CubeIDE), then I would definitely recommend trying to switch to the "Arduino Zephyr Boards" platform.

The reason is that Arduino is in the process of replacing the Arduino Mbed OS Giga Boards platform with Arduino Zephyr Boards. All development resources will be dedicated to Arduino Zephyr Boards going forward, with Arduino Mbed OS Giga Boards only receiving the minimal maintenance (and likely being abandoned entirely at some point).

It is true that the Arduino Zephyr Boards is still fairly young (though it has been in development for years), so some users might find the more mature support provided by Arduino Mbed OS Giga Boards provides a better user experience (e.g., better support from the Arduino library ecosystem). However, since your goal is to eschew the use of the operating system entirely, perhaps that is not actually relevant to you.

Thanks for the insight. It's amazing how quickly technology changes - I believe the Giga R1 was only released 3 years ago, and already it is being depreciated. It's a very 'new' board in the scheme of things, and support doesn't even seem to have reached maturity. Especially seeing how the Giga is so closely related to the 'professional' Portenta series.

I'm sure there are projects that will benefit from the features provided by an OS on the side.

The GIGA R1 WiFi hardware is not deprecated. My post was referring to the original software/firmware providing support for the Arduino core API, compiling and uploading, NOT to the hardware.

The situation is that ARM abandoned their Mbed OS operating system project:

Since the "Arduino Mbed OS Giga Boards" boards platform software project is built on top of Mbed OS, ARM's action led to Arduino's decision to create a new boards platform based on a different operating system which will continue to be actively developed and maintained. This means that Arduino is continuing active development and maintenance of software and firmware support for the GIGA R1 WiFi. We are only doing this via a new boards platform.

The original "Arduino Mbed OS Giga Boards" platform will remain available for users. You now simply have another option in the "Arduino Zephyr Boards" platform.