So here we are: you’ve diligently followed all my previous instructions and built yourself a nice environment on your Raspberry Pi that does not require a keyboard, mouse and monitor. That sounds awesome. Until you want to get some real work done on the tiny single-board computer. For example, some programming.
New ! Shell on STM32H7
This page was written on the assumption that you’ve read the Shell Over USB page and focuses only on the required additional steps when targeting an STM32H7 device.
New ! Shell Over USB
UART are neat : it’s very easy to connect to a UART. But you know what’s become even easier since the nineties ? Connecting a USB cable between your PC and your target.
New ! Shell Logging
Shell commands can return information to the user. Keyword : commands.
New ! Shell Customization : Menus
In the previous episode, you discovered how to write a shell command’s function and what its execution looks like. Now it’s time to find out how to present them to the user in the form of hierarchical menus known as “pseudo filesystem” (PFS).
New ! Shell Customization : Commands
I feel the best way to teach you the best practices in writing shell commands is to teach by example.
New ! Shell Customization
Upon completing STM Shell integration, you get a prompt. However, it doesn’t do anything no matter what command you enter. That’s because you still need to create commands your shell can execute. Those commands will be specific to your application so of course you can’t expect me to code them for you.
New ! Shell Integration : Oops
If you’ve successfully integrated STM Shell, meaning you’ve got a prompt on your terminal, then this page isn’t for you. But you may still want to read it as a prophylactic measure. To put it bluntly, maybe you were successful only because your STM32 is too small. There, I said it, I’ve shamed the size of your microchip. Deal with it.
New ! Shell Integration : Plumbing
Now comes the part where you Frankenstein my code and yours into something that’ll make lowly mortals scream “science has gone too far !”
New ! Shell Integration : Cloning
I’ll go ahead and assume that you’re a serious programmer. Someone who works for a living or at the very least someone who doesn’t want people to look at their work and roll their eyes judgmentally. That means you’ve got some version control to take care of now. Only Python programmers who use Arduinos unironically think Git is an insult.