#board #nxp #mx #package #kit #evaluation #chip

nightly bin+lib mimxrt595-evk

Board support package for NXP i.MX RT595 Evaluation Kit

4 releases (breaking)

0.5.0 Sep 11, 2023
0.3.0 Sep 11, 2023
0.2.0 Jul 5, 2023
0.1.0 Jul 2, 2023

#6 in #mx

23 downloads per month
Used in mimxrt595-evk-bootstub

MIT license

23MB
701K SLoC

Rust support for NXP i.MX RT500 series microcontrollers

This repository contains a number of different crates, at different levels of abstraction, for programming chips in the NXP i.MX RT500 series of so-called "crossover MCUs".

  • mimxrt595s: Low-level peripheral access crate for the RT595S chip.

  • mimxrt500-rt: A fork of cortex-m-rt that deals with the usual extra requirements imposed by these chips' boot ROM, which expects extra configuration blocks and metadata in NOR flash images.

    This must typically be used with a board support package since RT500 chips have no on-chip flash memory and so the board is responsible for providing some kind of boot media.

    This library currently assumes XIP boot from NOR flash. It may grow to support creating images for other boot media in future, which will at least require a different linker script that produces an appropriate image load header and maps code into addresses in RAM.

  • mimxrt595-evk: Board support package for NXP's official evaluation kit that includes, amongst other things, the RT595S chip and an on-board NOR flash.

  • mimxrt500-hal: embedded-hal trait implementations and other higher-level abstractions for the RT500 chip peripherals.

All of these crates are currently in an early stage of development and might change API significantly before becoming stable.


lib.rs:

A board support package for MIMXRT595-EVK, the official evaluation kit for the NXP i.MX RT500 family of microcontrollers.

It also includes a memory.x file intended for inclusion into the linker script provided by crate cortex-m-rt.

If you are building an application targeting this board, you will need to arrange for your flash image to contain a suitable flash control block and initial vector table so that the on-chip boot ROM will consider it eligable for use as boot media. You can get a default implementation of that by linking the separate crate mimxrt595-evk-bootstub into your program, or customize what's generated using the macros in crate mimxrt500-bootstub.

Dependencies