• This repository has been archived on 24/Jun/2022
  • Stars
    star
    174
  • Rank 217,795 (Top 5 %)
  • Language Makefile
  • Created about 13 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Project to allow GCC compilation of code using mbed SDK libraries.

Archived - June 10th, 2021

This project is no longer under active development.

Please refer to officially supported methods for building Mbed projects offline:

Current Version

GCC Version: GCC ARM Embedded 6-2017-q1-update
mbed SDK Version: Revision 142

Previous Versions

GCC ARM Embedded 5.0-2015-q4-major with mbed SDK revision 119
GCC ARM Embedded 5.0-2015-q4-major with mbed SDK revision 113
GCC ARM Embedded 4.9-2015-q3-update with mbed SDK revision 108
GCC ARM Embedded 4.9-2015-q1-update with mbed SDK revision 100
GCC ARM Embedded 4.9-2014-q4-major with mbed SDK revision 94
GCC ARM Embedded 4.8-2014-q1-update with mbed SDK revision 92
GCC ARM Embedded 4.8-2014-q1-update with mbed SDK revision 91
GCC ARM Embedded 4.8-2014-q1-update with mbed SDK revision 88
GCC ARM Embedded 4.8-2014-q1-update with mbed SDK revision 85
GCC ARM Embedded 4.8-2014-q1-update with mbed SDK revision 84

Quick Start

These are the quick steps to get gcc4mbed installed on your computer:

  • Download the gcc4mbed compressed archive from https://github.com/adamgreen/gcc4mbed/zipball/master
  • Decompress and extract the contents of this archive to the location where you want gcc4mbed and the GNU Tools for ARM Embedded Processors to be installed.
  • Run the install script appropriate for your platform:
    • Windows: win_install.cmd
    • macOS: mac_install
    • Linux: linux_install
  • You can then run the BuildShell script which will be created during the install to properly configure the PATH environment variable to run the GNU tools just installed within the gcc4mbed directory. You may want to edit this script to further customize your development environment.

Important Notes:

  • Builds can fail on Windows with weird errors when using a version of make other than the version of GNU make found in external/win32. You may need to make sure that Cygwin/MingW versions of the shell or make don't interfere as the gcc4mbed scripts/makefiles are built to work on stock Windows and not require such Posix compatibility environments.
  • macOS Mountain Lion and newer will fail to execute mac_install by simply clicking on it. Instead right click on mac_install in the Finder, select the Open option, and then click the Open button in the resulting security warning dialog.
  • Files will fail to install to a FAT based file system. Extract to a more appropriate file system (ie. NTFS on Windows) first and then copy to a FAT drive after installation.
  • If the installation should fail, please refer to win_install.log, linux_install.log, or mac_install.log. It will contain the details of the installation process and any errors that were encountered.

Release Tests

When releasing GCC4MBED I test installing, building, and deploying from these operating systems:

  • macOS Sierra 10.12
  • Windows 10
  • Ubuntu 16.04

I build, deploy, and run the samples on these target devices:

  • K64F
  • KL25Z
  • LPC1768
  • NRF51_DK

Please feel free to open GitHub issues to let me and the community know if you hit any issues for a target that should be supported with the GCC_ARM toolchain so that we can investigate.

More Information

Installation: For more information about how to install, uninstall, and use the GCC4MBED project.

New Project: How to start your own new project in GCC4MBED.

Makefile Configuration: Information about makefile options to customize your project's binary.

Analyzing Firmware Size: How to measure and reduce FLASH/RAM memory usage.

Adding Devices: Notes on how to add new device support to GCC4MBED.

Thanks

The author wants to thank Arthur Wolf for the posting he made back in May 2011 which kicked off this whole gcc4mbed project and for all of the testing and feedback he has given since.

Thanks to Felyza Wishbringer for writing the first Windows install script which provided the inspiration for the Windows, Mac, and Linux scripts that are now included in the gcc4mbed project.

Thanks for all of the others who have provided valuable feedback since this project was first released. Much of that feedback can be found in this mbed forum thread

Have fun!!

More Repositories

1

CrashCatcher

Catch Hard Faults on Cortex-M devices and save out a crash dump to be used by CrashDebug.
C++
214
star
2

mri

MRI - Monitor for Remote Inspection. The gdb compatible debug monitor for Cortex-M devices.
C
149
star
3

CrashDebug

Tool to enable post-mortem debugging of Cortex-M crashes with GDB.
C++
109
star
4

QuadratureDecoder

QuadratureDecoder - PIO based Encoder Library for the RP2040
C++
31
star
5

bb-8

My attempt to build a replica of the BB-8 droid from Star Wars.
C
28
star
6

MiP

My WowWee MiP balancing robot hacks.
Objective-C
17
star
7

i2cperipheral

i2cperipheral - MicroPython I2C Peripheral Library for the RP2040
C
14
star
8

pinkySim

ARMv6-M Thumb instruction simulator.
C++
13
star
9

snapNcrackle

The Merlin 8 for Apple II compatible cross-assembler used to build POP sources.
C++
10
star
10

CHiP

The WowWee CHiP Robot Dog - My Hacks!
10
star
11

MiP-Capi

C API for the WowWee MiP self-balancing robot.
C
8
star
12

MiP_ProMini-Pack

16MHz/5V version of Sparkfun's retired MiP ProMini-Pack.
C++
6
star
13

Ferdinand16

My SRS Robo-Magellan 2016/2017 attempt.
Eagle
5
star
14

CppUTest

Custom fork of CppUTest unit testing code that I use from multiple projects.
C++
4
star
15

Retrochallenge-2016-January

Retrochallenge (2016-January) - Tandy Color Computer Cartridge.
Eagle
4
star
16

Ferdinand14

SRS Robo-Magellan 2014 attempt.
Processing
3
star
17

3pi-2040

My experiments with Pololu's 3pi+ 2040 robot.
Python
3
star
18

mri-swd

MRI-SWD - GDB compatible hardware probe which allows debugging of Cortex-M based microcontrollers over SWD.
C++
3
star
19

CHiP-Capi

C API for the WowWee CHiP robot dog.
C
2
star
20

nrf52-SmartWatch

Start of my custom firmware for the Bangle.js 2 Smart Watch.
C
2
star
21

Retrochallenge-2014WW

My 2014 Winter Warmup Project for the Retrochallenge.
Assembly
2
star
22

LYWSD02

macOS program to set current time and temperature units on Bluetooth eInk Display Clock with Temperature Humidity Sensor - LYWSD02. Sold by Adafruit as product #5023.
Objective-C
2
star
23

BleHidKeyboard

Converting a USB keyboard to Bluetooth Low Energy using a nRF51422.
C
2
star
24

arm-none-eabi-for-arm64-apple-darwin

Native GNU Arm Embedded Toolchain for Arm Macintosh hosts.
Shell
1
star
25

NeoPixelTree

mbed LPC1768 example for controlling Adafruit NeoPixels via DMA based SPI output.
C++
1
star
26

spin2ascii

Rust
1
star
27

FreqGen

Simple audio waveform generator using the mbed-LPC1768 DAC.
C++
1
star
28

mriprog

Use MRI debug monitor to remotely reprogram LPC1768 targets.
C
1
star
29

Retrochallenge-2013SC

My 2013 Summer Challenge Project for the Retrochallenge.
1
star
30

rugrover

A Work In Progress: My modern interpretation of the Rug Warrior Pro
C
1
star
31

SDCard

SDFileSystem for LPC17xx
C++
1
star
32

pololu-3pi-plus-2040-arduino-library

Library to help interface with the the on-board hardware of the Pololu 3pi+ 2040 robot.
C++
1
star
33

Retrochallenge-2015-July

My 2015-July Project for the Retrochallenge.
C
1
star