littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于C语言的ARM Cortex M微控制器开源固件库项目

项目简介

本项目是基于C语言构建的libopencm3项目,目标是为各类ARM Cortex - M微控制器打造一个开源的固件库。此库依据厂商的数据手册、编程手册和应用笔记从头编写,能配合ARM的GCC工具链(如arm - elf或arm - none - eabi)使用,可借助OpenOCD ARM JTAG软件将代码烧录到微控制器中。目前已至少部分支持ST STM32系列、Atmel SAM系列、NXP LPC系列等多种微控制器。

项目的主要特性和功能

  1. 广泛的微控制器支持:支持ST、Atmel、NXP等多个厂商的多种ARM Cortex - M微控制器系列。
  2. USB设备驱动示例:提供STM32微控制器的USB设备驱动程序的初始化与运行示例,涵盖微控制器时钟、GPIO和USB相关外设的初始化,以及USB设备驱动的初始化和持续运行。
  3. 调试功能:包含用于调试的宏定义和函数,如ER_DEBUGER_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】