Skip to content

A Rust embedded-hal HAL for all MCUs in the PSoC6 family

License

Notifications You must be signed in to change notification settings

diagonalDave/psoc6-hal

 
 

Repository files navigation

psoc6-hal

crates.io docs.rs Build Status license license: mit

A Rust embedded-hal HAL for all MCUs in the Cypress PSoC6 family

This crate is currently a WIP, so the API can change at any time.

Intro

Currently the example directory examples work but are only built for, and run on the CM0plus core. As work progresses the CM4 core will be available with FPU and thumb2 instructions. Further down the track the programmable hardware will also be added to the mix.

The development strategy is to build out code as required to:

  • Complete startup with rust code.
  • Complete the implementation of the embedded hal.
  • Determine further work from there. To assist with learning the mcu and rust the large Cypress/Infineon code example library will be used as test cases to ensure the functionality is equivalent, gain experience with the API and highlight dependencies etc.

Current State

Currently the hal has working but incomplete modules for:

  • GPIO
  • Semaphores
  • Clocks
  • Delays A working example using these modules (both cores with c startup code) is:
  • Semaphores see the linked repo for more details. This repo also provides an example of how c and rust code can be integrated in a project.

OpenOCD

OpenOCD can be used to program the psoc6 the Infineon fork is recommended (OpenOCD Infineon fork ) and you might as well download the manual (Infineon OpenOCD user manual).

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

A Rust embedded-hal HAL for all MCUs in the PSoC6 family

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.7%
  • GDB 0.3%