Skip to content
This repository has been archived by the owner on Jun 14, 2020. It is now read-only.
/ armboot Public archive

Rust language testbed project for porting to STM32F4xx ARM microcontrollers.

Notifications You must be signed in to change notification settings

neykov/armboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

armboot

A testbed project used for porting the Rust language to bare metal STM32F4xx ARM microcontrollers. Tested on STM32F4DISCOVERY.

The project resulted in patches to the Rust compiler and eventually to LLVM to add support for segmented stacks to the platform.

The current version supports only static memory allocation and no stack pointer safety checks.

Requirements:

  • arm-none-eabi toolchain
  • llvm-3.6 (nightly) toolchain
  • rustc (requires Rust 1.0.0-alpha2)

Compiling:

Edit "Makefile" with the path to the rustc compiler and type "make".

Upload the resulting binary (one of blinky.{elf, bin, hex}) on the target.

Structure

  • main.rs - sample program (blinks the red led of the STM32F4DISCOVERY board)
  • libarm/ - microcontroller related definitions
  • sys/ - bootstrap code (boot loader and system initialization)
  • zero/ - zero.rs and additional C stubs

Credits

About

Rust language testbed project for porting to STM32F4xx ARM microcontrollers.

Resources

Stars

Watchers

Forks

Packages

No packages published