项目简介
本项目是基于C语言构建的libopencm3项目,目标是为各类ARM Cortex - M微控制器打造一个开源的固件库。此库依据厂商的数据手册、编程手册和应用笔记从头编写,能配合ARM的GCC工具链(如arm - elf或arm - none - eabi)使用,可借助OpenOCD ARM JTAG软件将代码烧录到微控制器中。目前已至少部分支持ST STM32系列、Atmel SAM系列、NXP LPC系列等多种微控制器。
项目的主要特性和功能
- 广泛的微控制器支持:支持ST、Atmel、NXP等多个厂商的多种ARM Cortex - M微控制器系列。
- USB设备驱动示例:提供STM32微控制器的USB设备驱动程序的初始化与运行示例,涵盖微控制器时钟、GPIO和USB相关外设的初始化,以及USB设备驱动的初始化和持续运行。
- 调试功能:包含用于调试的宏定义和函数,如
ER_DEBUG
和ER_DPRINTF
。
安装使用步骤
前提条件
构建项目需要Python(部分代码由其生成)。
- Ubuntu/Fedora系统:需要安装arm - none - eabi/arm - elf工具链。
- Windows系统:需下载并安装msys(http://sourceforge.net/projects/mingw/files/MSYS/Base/msys - core/msys - 1.0.11/MSYS - 1.0.11.exe)、Python(http://www.python.org/ftp/python/2.7/python - 2.7.msi,任意2.7版本)、arm - none - eabi/arm - elf工具链(例如https://launchpad.net/gcc - arm - embedded)。运行msys shell并设置路径:
sh
export PATH="/c//Python27:/c/ARMToolchain/bin:/usr/local/bin:/usr/bin:/bin"
构建项目
sh
$ make
若使用arm - elf工具链(不常见),可覆盖默认的工具链前缀:
sh
$ PREFIX=arm - elf make
若需要更详细的构建信息,可使用:
sh
$ make V=1
精细调整构建
可通过设置环境变量来精细调整构建,例如:
- FP_FLAGS
:控制浮点ABI。
sh
$ FP_FLAGS="-mfloat - abi=soft" make # 无硬浮点
- CFLAGS
:添加或替换编译器标志。
sh
$ CFLAGS="-fshort - wchar" make # 以2字节宽的wchar_t编译库
安装
暂未提及具体安装步骤。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】