gnu arm tool-chain with newlib to build binaries for Cortex-M bare metal targets, make is included
10K+
14.2.0, latestThe image only comes with the gcc compiler, newlib and make, enough to build any arm cortex-m project you have, there is another container with gdb debugger, you can find it here. It is not part of the image because the goal was to keep the image as small as possible.
The image is based on Alpine and creates a user named "user", no working directory is defined but it is the responsability of the user to mount the appropiate directory in the user space.
docker run -it --rm -w /home/user/app --mount type=bind,src="$(pwd)",dst=/home/user/app modularmx/arm-none-eabi-gcc:latest
Once the container is running, you can use make to compile your code or the compiler itself. or just test the compiler is there
arm-none-eabi-gcc --version
The container start with the non root user named nonroot with id of 1000, it is done like this to avoid permission conflicts in you project directory. sudo is also installed in the container with no password set or needed. Even though this is a security breach it will remain like this for now.
You can also check our nice tutorial How to run images with compose
services:
buildm: # container name been used by the image to connect to make
image: modularmx/arm-none-eabi-gcc:latest
working_dir: /home/user/app
volumes: # volume mapping
- type: bind
source: ./
target: /home/nonroot/app
stdin_open: true # equal to flag -t
tty: true # equal to flag -i
In case you like to use devcontianer in VSCode or some other IDE with docker support, you can use the following configuration:
{
// Name of the dev container
"name": "devtools",
// Docker image
"image": "modularmx/arm-none-eabi-gcc:latest",
// indicate the container to run for the working directory
"service": "devtools",
// indicate the working directory inside the container
"workspaceFolder": "/home/user/app",
// install extra packages in the container
"postCreateCommand": "sudo apk add --no-cache bash git",
// set bash as the default shell
"postStartCommand": "/bin/bash",
// set some usefull vs code configuration only exsiting in our contianer
"customizations": {
"vscode": {
// Add some extensions
"extensions": [
"ms-vscode.cpptools",
"trond-snekvik.gnu-mapfiles"
],
// Set some settings
"settings": {
"workbench.colorTheme": "Monokai"
}
}
}
}
Content type
Image
Digest
sha256:758a0f2ff…
Size
121.6 MB
Last updated
over 1 year ago
docker pull modularmx/arm-none-eabi-gcc