Using Patcher for other hardware running ChibiOS


#1

I was curious on how portable the code built for Axoloti would be for other platforms that also run ChibiOS.
There are many situations where I could use the flexibility of using the patcher where I wouldn't need all the power of an Axoloti.
Seems like the Teensy series uses a similar processor as the Axo, would it be manageable to configure the patcher for building with the Teensy as a target instead of an Axoloti?


#2

mod note: moved this to the lounge, seems more appropriate to discuss something not using the axoloti hardware here.

Chibios is portable (assuming the platform your targeting is supported), but there is quite a bit of code in the firmware setting things up, or coded specifically for the hardware (e.g. which codec is used). its not going to work out of the box, thats for sure... you are going to have to go through the firmware code adapting to your hardware.
some of the code in 1.0.12 is also STM specific, i.e. not using Chibios... Im thinking specifically the USB code, though that in the experimental branch has been moved to Chibios... Im not sure if there are other STM dependancies.

What Ive done in the past for arm processors, is to just take the generated code and convert that... i.e. implement a root patcher, there is still quite a bit to do for this, in particular I concentrated on the audio/midi, but the parameters are also important, and a bit deeper in the code base.
For my skill set this was much easier than considering port the firmware, and also allowed me to integrate the code better into the existing OS of my target platform.

this works well for ARM, since even the NEON code is ported (which would be problematic for other architectures).
one thing you have to be careful/aware of though, is sample rate dependancies, if you are moving away from 48k.


#3

I think this is an idea worth pursuing and was thinking along the same lines myself

as technobear has said it would involve a fair bit of work on the firmware but with the addition of a hardware abstraction layer i don't see why it couldn't be made to run on a variety of platforms and support a range of audio codecs.

The development effort is mostly in the software not hardware so being able to use that accumulated effort on a range hardware seems a logic thing to do to me.


#4

Wow this sounds quite inspiring, but IMHO quite beyond my capabilities/time budget.
Firmware hacking isn’t anything I’ve been involved in, although it’s definitely of interest to me.

I used Teensy as an example since at least a few of them use STM32 processors, but I wouldnt know where to start..
Maybe the PJRC forum would be a good place to ask questions.