Исходники прошивки сопроцессора Cortex-M0 (внутри RK3399) для работы с разными режимами питания, сна и прочими вспомогательными функциями https://git.theobroma-systems.com/rk3399-cortex-m0.git
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Klaus Goger 252a9ff723 update gitignore file to include generated files 2 years ago
crosstools crosstools: add defconfig for arm-cortex_m0-eabi 2 years ago
include import: add shared header files 2 years ago
src src: rename main function to 'm0_main' to avoid warnings 2 years ago
.gitignore update gitignore file to include generated files 2 years ago
.gitmodules crosstools: add submodule crosstools/crosstool-ng @ crosstool-ng-1.23.0-rc2 2 years ago
Makefile Makefile: migrate to TSD guidelines for Cortex-M0 projects 2 years ago
README.md doc: add README 2 years ago



This repository contains the Cortex-M0 firmware used with the RK3399 to implement power-management functionality and helpers (e.g. DRAM frequency switching support).

Build instructions

This repository requires a toolchain configured suitably to build Cortex-M0 (the M0 differs from other M-family cores by being a ARMv6-M instead of a ARMv7-M, which entails such differences as it not having a hardware divide instructions).

The make-infrastructure supports both

  • using an external toolchain (pre-installed on your system)
  • building and using an “internal” toolchain

Using an internal toolchain (and have crosstools-ng build it for you)

To use an internal toolchain (i.e. have the make-infrastructure build it for you and keep it installed locally within your workarea), simply specify “USE_INTERNAL_TOOLCHAIN=1” as part of your invocation to make.



Using an external toolchain via CROSS_COMPILE

A Cortex-M0 toolchain is needed to be set as a CROSS_COMPILE toolchain. If the CROSS_COMPILE variable is not specified, it defaults to ‘arm-cortex_m0-eabi-‘.

If you have an external (i.e. preinstalled) toolchain in your path or want to provide an absolute path, the CROSS_COMPILE variable can be used.


make CROSS_COMPILE=/opt/my-toolchain/bin/arm-cortex_m0-eabi-

Building an external toolchain

To build a compatible toolchain from scratch, a configuration script for crosstools-ng is included. Please refer to the crosstools-ng documentation for details of installing and using crosstools-ng.

To use this included configuration and build a compatible toolchains, follow the steps shown in this example:


ct-ng defconfig DEFCONFIG=$SRCTOP/crosstools/defconfig
ct-ng build