I'm working to port MicroPython to an ARM-based platform, embedded inside of an existing codebase built with the IAR Embedded Workbench running under Windows.
I'd like to explore the codebase running on the pyboard to understand it better, but would like some guidance on the recommended development platform to do so. Per the project README.md, it looks like Arch Linux might be the easiest to set up due to packages for installing the ARM cross compiler. I'm somewhat familiar with Ubuntu, and already have a VM with a non-GUI Ubuntu 14.04.4 LTS that I've used for some other work.
Is anyone else using Ubuntu as a target? It looks like binutils-arm-none-eabi and gcc-arm-none-eabi might be enough to get started. Is there a reason the README mentions Arch but not Ubuntu?
How about MinGW/MSYS?
Recommended Development Platform
Re: Recommended Development Platform
I use Ubuntu LTS series (12.04, 14.04 and now 16.04).
I don't use the toolchain that you can install using ubuntu but rather use one from here: https://launchpad.net/gcc-arm-embedded/
I've used the linux, windows, and Mac versions.
I believe that Damien uses Arch linux for his development.
Under Windows, I normally use cygwin, but you can also use MinGW. I've also successfully built micropython and can talk to the pyboard using Windows 10 WSL (Windows subsystem for linux). You currently can't flash micropython using that environment.
I normally use ubuntu for doing all of my development (including MicroPython).
I don't use the toolchain that you can install using ubuntu but rather use one from here: https://launchpad.net/gcc-arm-embedded/
I've used the linux, windows, and Mac versions.
I believe that Damien uses Arch linux for his development.
Under Windows, I normally use cygwin, but you can also use MinGW. I've also successfully built micropython and can talk to the pyboard using Windows 10 WSL (Windows subsystem for linux). You currently can't flash micropython using that environment.
I normally use ubuntu for doing all of my development (including MicroPython).
Re: Recommended Development Platform
Dave,
Thanks for the confirmation! I'll stick with Ubuntu since I already have the VM spun up. I was able to install the necessary packages and complete a build. I won't have my hardware until next week, but this is definitely promising. Most importantly (at the moment) is that I now have a generated pins_PYBV10.c file I can reference.
Thanks for the confirmation! I'll stick with Ubuntu since I already have the VM spun up. I was able to install the necessary packages and complete a build. I won't have my hardware until next week, but this is definitely promising. Most importantly (at the moment) is that I now have a generated pins_PYBV10.c file I can reference.
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Recommended Development Platform
For what it's worth I have Debian 7 on my desktop boxes and Mint 17.1 on this laptop. I've also used a Debian 8.2VM for building ESP8266 images. All work fine for building firmware. I doubt you'll have any issues with a Debian based distro like Ubuntu.
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
-
- Posts: 2
- Joined: Mon Aug 29, 2016 10:00 am
Re: Recommended Development Platform
As yet another data point, I'm developing on NixOS. I do my development inside a nix-shell which isolates my micropython dependencies from other projects. My shell.nix is:
let pkgs = import <nixpkgs> {};
stdenv = pkgs.stdenv;
in
stdenv.mkDerivation {
name = "micropython-0.0.1";
buildInputs = with pkgs; [ git cmake python pythonPackages.pyusb libusb1 gcc-arm-embedded ];
}
let pkgs = import <nixpkgs> {};
stdenv = pkgs.stdenv;
in
stdenv.mkDerivation {
name = "micropython-0.0.1";
buildInputs = with pkgs; [ git cmake python pythonPackages.pyusb libusb1 gcc-arm-embedded ];
}