Feather M4 Extress Compiler Options

Hi… I’ve had a Feather M4 express, bought from Pimoroni, sitting in my parts box for far too long now.

Looking round the AdaFruit site, there’s a lot of talk on how simple it is to work with CircuitPython and how it’s compatible with the Arduino IDE.

Whilst all this is great for those who like it, I’m an old fashioned kinda geek and I’m much happier with a text editor, a command line compiler and an AVRDude look-a-like.

Is there any documentation out there (or “in here”) on how I can get started down my particular path?

In my dream world, the “compiler” in question would be Pascal or an ARM assembler, but I’ll make do with C or C++ if I’m “forced”.

1 Like

PMJI here but I’ve been doing a short web search and I can’t find a full description of what a Feather board is. Can you expand? TIA.
“This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it’s half ox, half bird, OK?)” doesn’t really tell me much. :)

1 Like

I believe those are based on the Microchip ATSAMD Series ARM Cortex M0+ Microcontrollers.
I’m just the other way, I prefer Python or Micro Python over C+ etc for my Arduino’s and Micro bits.
Adafruit pushes their own Micro Python. I saw this on thier site though which suggests that you could flash it with the Arduino IDE.

That doesn’t mean you cant also use it with Arduino IDE! At the Feather M0’s heart is an ATSAMD21G18 ARM Cortex M0+ processor, clocked at 48 MHz and at 3.3V logic, the same one used in the new Arduino Zero. This chip has a whopping 256K of FLASH (8x more than the Atmega328 or 32u4) and 32K of RAM (16x as much)! This chip comes with built in USB so it has USB-to-Serial program & debug capability built in with no need for an FTDI-like chip.

1 Like

ATSAMD51 32-bit Cortex M4
Floating point Cortex M4 DSP instructions

Yeah… that’s the sort of stuff I’d been hearing… Still on a quest for doing it without all those IDE’s and milarkey though.

I’m no expert on this but it sounds like you’d have to go old school with a serial connection instead of the built in USB? And or do it the way they did before they added the USB to serial interface? Something like that?

Was giving this some thought. Is what you want to do is type commands in the terminal and have them executed on the enter? In real time?
If yes I don’t think thats doable. The IDE compiles your code into machine code, and then uploads that code to the micro. The mico then runs the machine code.
If I’m boring you with what you already know, my apologies. Its hard sometimes to know what the other knows or doesn’t know. ;)

I use a lot of AVR microcontrollers… I started out using the Arduino IDE but (no offence meant to those who love it) I can’t stand the ****** thing. But after looking at some docs, I found I could ditch the Arduino libraries and IDE and just use AVR-GCC and AVRDude and just write code like I have been for the last 4000 years (slight exaggeration, but you get my point). I don’t like C either… I’ve been using it for years and still think the code is ugly… and am now using The excellent GAVRAsm to write assembly language.

I’ve recently got myself a feather M4 express (my current project requires far more “oompf” than I can get from an AVR, plus the ability to do I2S IO) and I want some hints as to what compilers I can use (it may be just a matter of “all there is is arm-none-eabi-gcc” but I’m hoping (probably should say “dreaming” rather than “hoping”) there’s a FLOSS Pascal that’ll fully support it and/or an Assembler.

Also, I’m looking for a command line utility similar to AVRDude or PIC32Prog that’ll do the uploading without an need for an IDE.

Ok, your way above my skill level and sound like you actually know what your doing.
Meant as a compliment. =) Versus somebody like me that just gets by. ;)
I’m self taught Python on the Raspberry Pi. And try to use that when I can via Mu on my MicroBits.
I’m kind of learning C on my Arduino’s. Mostly just using code that is already out there and trying to decipher what its doing. The same way I started out with my first Raspberry Pi and Python.
I’d have to Google a lot of what you posted to even get close to understanding it.

1 Like

Yes in CircuitPython you directly access the REPL via screen / tty and address the M4 express directly, or upload code.py with libs from the CircuitPython bundles and interpret immediately on file save.

Technically in CircuitPython you can do everything from the command line , although a nice sublime text or similar is cool.