[Dprglist] PID-tuned Clock in Python?

Murray Altheim murray18 at altheim.com
Thu Feb 18 20:42:45 PST 2021


On 19/02/21 3:42 pm, Kipton Moravec via DPRGlist wrote:
> An option we are looking at for a work project is the STM32MP1XX 
> family of processors.
> 
> It has a Arm A7 and Arm M4 in the same chip. The A7 runs Linux, 
> and the M4 is for the real-time stuff. They have a bus between
> the two processors so they can look at the other's peripherals
> and memory.

Hi Kipton,

I've over the past year looked at several Linux/Arduino hybrids,
such as the Arduino Yun Rev2, but there always seemed to be a
hitch, either in terms of performance or in how the two CPUs
inter-communicate. The Yun is a bit cheaper than an STM board
like the STM32MP157A-DK1 (US$56 vs $69) but both of its CPUs
are less powerful, and the bridge between them is difficult to
use. Not terrible, but not straightforward and very much
limited by the Arduino performance. The STM board looks quite
powerful. I'd be interested in examining how the inter-CPU bus
operates.

> They have a development board that is under $69 you could base
> a Robot around.
> https://www.mouser.com/ProductDetail/STMicroelectronics/STM32MP157A-DK1/?qs=9r4v7xj2LnkgRwGGD4%252BIjQ%3D%3D

At NZ$106 it's a bit of an investment but not unreasonable. I'd
get my ssh remote as well as a powerful RTOS. On one board, not two.

> It is relatively new, and not for the faint of heart. I would 
> recommend getting to understand the M4, the ST CubeIDE development
> tools, and how ST does things with the HAL before you jump into
> this beast. To program the M4, the IDE connects to Linux with
> Ethernet copies it over, and the A7 writes to the M4 memory.

Woof. Yes, not for the faint of heart. The Itsy Bitsy M4 I've been
using is a Cortex M4 so I'm partway there. If you've been following
this thread you may know that I'm programming my main robot OS in
Python, which I could run on the STM32MP157 Cortex A7, then farm out
the RTOS stuff to the Cortex M4, which I'll assume would be need to
be programmed in C/C++. The ExternalClock solution I just posted is
Python on the Pi, C++ on the Arduino, same idea. And I'd be using a
much better IDE than the Arduino one (which is fine but kinda painful
at times).

It'd be nice to have everything in one language, but that's not
looking so feasible (while I'd thought MicroPython on a Cortex M4
might work you seem to indicate otherwise).

Thanks very much for the tip! Cool little board.

Cheers,

Murray

...........................................................................
Murray Altheim <murray18 at altheim dot com>                       = =  ===
http://www.altheim.com/murray/                                     ===  ===
                                                                    = =  ===
     In the evening
     The rice leaves in the garden
     Rustle in the autumn wind
     That blows through my reed hut.
            -- Minamoto no Tsunenobu



More information about the DPRGlist mailing list