Provide bare metal ARM cross-compiler packages for Ubuntu Natty
We want cross compiler able to build for micro controllers based on Cortex-M[0-4] cores.
Blueprint information
- Status:
- Not started
- Approver:
- Marcin Juszkiewicz
- Priority:
- Undefined
- Drafter:
- Marcin Juszkiewicz
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Review
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
[hrw] Please do not remove work items without discussing it with me.
Status:
First set of work items defined.
Work items:
- investigate bare metal gcc-4.5 build: TODO
- bring in newlib: TODO
- create package to support STM32 Cortex-M3 chips: MAYBE
- [michaelh1] investigate libmaple integration: MAYBE
Rules:
1. Natty will be main place of work.
2. Packages for Lucid/Maverick will be provided in PPA and built from Natty versions patched to produce *-source packages only (cross packages will revert patches to get all packages cross built).
3. Bare metal cross compiler will be provided without support for any cpu. Users will have to provide all needed libraries/objects and linker scripts. Package with support for one of popular families may be created to show how to add support. Compiler should default to Cortex-M3, Thumb-2, and no FPU.
4. All toolchain components needs to honor PF variable so /opt/linaro/ builds will be possible to use.
5. Sysroot support will be used for non standard locations of cross compiler. Such ones will be provided only as tarballs.
Notes:
Bare metal compiler is a would be nice at best. Ideally there should be a way to install add-on packages that end up in the right place e.g. if I install the STM32 specific libmaple then a #include <libmaple.h> will work when compiled with arm-none-eabi-gcc.
15:16 < zumbi> hrw: i already got a bare metal tool, i need to test it, then workout the packaging
15:16 < zumbi> zumbi@enorme:
15:16 < zumbi> Using built-in specs.
15:16 < zumbi> COLLECT_
15:16 < zumbi> COLLECT_
15:16 < zumbi> Target: arm-eabi
15:16 < zumbi> Configured with: ../configure --target=arm-eabi --prefix=
15:16 < zumbi> Thread model: single
15:16 < zumbi> gcc version 4.5.0 (GCC)
Work Items
Dependency tree
* Blueprints in grey have been implemented.