Enabling NuttX C++ Support on PicoW
In the last article we looked at getting NuttX running on the Raspberry Pi Pico. The system deployed the default applications which are written in C. In this post we will look at enabling C++ support.
The first thing to do is to follow the instructions in the previous post to get the development system downloaded and deployed. Next up we can clean any object files that may be remaining from any previous builds:
make distclean ./tools/configure.sh -l raspberrypi-pico-w:usbnsh
Now we have a clean system wew can enabled C++ compiler support. This is done through the configuration system which is accessed by executing the command:
make menuconfig
This will show the main menu for the configuration system:
Using the arrow and enter keys we need to navigate the menus and change the following options:
- Main menu -> Library Routines -> Have C++ compiler
- Main menu -> Application Configuration -> “Hello, World!” C++ example
Turning on the C++ compiler will show the following additional menu items:
The 12.1 release of the PicoW implementation deploys some additional applications which are not needed so we will turn these off in order to save memory. The two application to be disabled are:
- ostest
- getprime
These applications can be turned off using the configuration system, the menu items can be found here:
- Application Configuration -> Testing -> OS test example
- Application Configuration -> Testing -> getprime example
The system would be ready to be built using the make -j command. Once built, deploy the application to the board by copying the UF2 file to the board as discussed in the previous post. The board should reset automatically so connect a serial console to the board and hit enter a few times to get to the nsh prompt. Typing help at the command problem should show the built in commands plus the additional commands that have been deployed:
Builtin Apps: helloxx nsh sh
Finally we should verify that the C++ application has been built and deployed correctly by running the helloxx application. If all is well then the serial console should show the following output:
helloxx_main: Saying hello from the dynamically constructed instance CHelloWorld::HelloWorld: Hello, World!! helloxx_main: Saying hello from the instance constructed on the stack CHelloWorld::HelloWorld: Hello, World!!
Conclusion
This is a small step forward getting C++ enabled ready for developing a new C++ application which we will look at in the next post.
In the next post we will add a new C++ user application to the system.
Tags: Electronics, NuttX, Pico, Raspberry Pi
Monday, June 5th, 2023 at 12:01 am • Electronics, NuttX, Pico, Raspberry Pi • RSS 2.0 feed Both comments and pings are currently closed.
[…] the next post we will look at enabling C++ development in […]