Online Lectures….. Interactive Training Seminar…

In these hard times, we are all looking for some solutions to reach people with the same interests. So we have the intention to do our first webinar/lecture online!! We are excited! It will be all about “Getting started with Nuttx” with STM!

I also made a VirtualBox image for the participants. I am still learning Nuttx myself, but you learn the most when you teach right?

https://us04web.zoom.us/j/361350421?pwd=RGlhUkcxOG5XOUhDYVdINks5eFVrZz09

https://www.dropbox.com/sh/n51ficlngwpn6l7/AADaqVA-B0bICxNZp1ZskQXLa?dl=0

Maybe I will see you there? I have never used this platform before and it can handle 100 participants. So I hope all goes well. I have tested it with a few people.

Enjoy!

“Be careful…. Stay fit, stay healthy! If not for yourself, do it for someone else!”

Debugging Nuttx on STM32 with Visual Studio Code

After using Eclipse for some time, I have come to a state where Visual Studio Code is more appealing. And why? Because Eclipse messed up my repo once again. And I want to try something out with Visual Studio Code.

I like the interface and also its speed. The extensions are getting more available and even when you want to code with ARM/GNU.
I have made a screenshot of the plugins I am using.

My workflow is simple but effective. And I cannot wait that Nuttx has its Apache repo up and running. So now, the examples are still based on Nuttx 8.2.

For debugging, I use the Cortex-Debug extension. Simple, but fast and has some excellent features, and I use ST MCU most of the time, and then you can also load its SVD (=System View Description) file. You can find those at https://www.st.com/en/microcontrollers-microprocessors/stm32-high-performance-mcus.html

To get it all working, you have to make a “Debug Config.” Just click on the “turtle icon with a cross” and create a *.json file.

I will give an example of an OpenOCD file which works for me:

{
     // Use IntelliSense to learn about possible attributes.
     // Hover to view descriptions of existing attributes.
     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
     "version": "0.2.0",
     "configurations": [
         {
             "cwd": "${workspaceFolder}",
             "executable": "${workspaceFolder}/nuttx",
             "name": "Debug Microcontroller",
             "request": "launch",
             "type": "cortex-debug",
             "servertype": "openocd",
             "interface": "swd",
             "svdFile": "/home/ds/Documents/SVD_Files_STM32/en.stm32f4_svd/STM32F4_svd_V1.2/STM32F407.svd",
             "configFiles": [
                 "interface/stlink.cfg",
                 "target/stm32f4x.cfg"
             ],
             "preRestartCommands": [
                 "file nuttx",
                 "load",
                 "add-symbol-file nuttx 0x8000000",
                 "enable breakpoint",
                 "monitor reset"
             ],
             "showDevDebugOutput": true
        }
 }

Now you can run your “debugger” by choosing the Debug Config file in the selection menu on the top left in your IDE. Next to the button, “Debug and Run.” And then, you will spot a config with the name: “Debug Microcontroller.”

You will get features like below: Peripherals, Registers, Watch, etc…
Happy debugging!!!

And have a great 2020!!!!!!!!

#008 How to setup CANBUS Extended ID with Nuttx (nucleo-f411re)

We have made a patch to make the Extended ID work in the mcp2515 driver with Nuttx. Its a really strong feature in CANBus. Below are some pictures which show the different setups. We used a Nucleo-F411RE and a Microchip solution with CAN-SPI Modules.

The PINOUT which is used:
PA5 = SCK, PA6=MISO, PA7=MOSI, PA1=INT, PA4=CS and +5V and GND

What am I doing..going Nutt(s)

In the last period, I am trying out the different “bus drivers” in Nuttx. One reason is that I want to understand everything deeper. So secondly, because I am doing great things with a company in Groningen, where I was asked to coach a student. This student is also busy with Nuttx. An RTOS was part of his assignment, and why not use something I think is “the perfect RTOS,” and I also know more about every day. Also, he helps me by asking questions. Such a winning team!

I am also writing in Asciidoctor and use it with Jenkins and Git within Visual Studio Code. An excellent combination if I might say. In the early days, I was a Tex fan and Markup. However, I think this is a refreshing solution.