目前,大部分stm32单片机的程序是用c语言编写的,实现rust和drone在程序中调用c代码,就能够充分享用丰富的单片机c代码资源! 1.安装GCC ARM编译器 在wsl的ubuntu下,安装编译器arm-none-eabi-gcc,在终端下输入如下命令 sudo apt-get install gcc-arm-none-eabi 安装成功后,测试版本号: arm-none-eabi-gcc -v 2....
从https://github.com/FreeRTOS/FreeRTOS-Kernel获取系统源码; 将FreeRTOS下的文件、include、portable下的GCC/ARM_CM3和MemMang拷贝到新建的RTOS源码目录;MemMang下每个文件代表不同的内存管理方式,这里选用heap_2方式。 将FreeRTOS\Demo\CORTEX_STM32F103_GCC_Rowley\FreeRTOSConfig.h拷贝到include目录。
l 定义了核内外设的寄存器名称和核异常向量的名称; l为RTOS 核定义了与设备独立的接口,包括Debug 通道。 这样芯片厂商就能专注于对其产品的外设特性进行差异化,并且消除他们对微控制器进 行编程时需要维持的不同的、互相不兼容的标准需求,以达到低成本开发的目的。CMSIS中的具体文件结构如表 5‑6所示。 表5‑...
IDE:例如Keil、IAR或Eclipse,提供代码编辑、编译和调试功能。 编译器:如GCC(GNU Compiler Collection),实现代码转换为机器语言。 调试器:ST-Link或JTAG工具,用于程序调试和闪存编程。 配置完适合STM32开发的环境后,开发者可以开始撰写第一个程序,通常为闪烁LED的简单示例,来验证配置是否正确。 三、核心库和驱动程序 ...
根据使用的STM32型号,选择合适的处理器特定代码。对于Cortex-M3,可以选择portable/GCC/ARM_CM3目录下的port.c和portmacro.h。 5. 配置FreeRTOSConfig.h FreeRTOS的行为和功能可以通过FreeRTOSConfig.h文件进行配置。这个文件需要根据具体的硬件平台和应用需求进行调整。通常在Demo目录下可以找到一个适合STM32的配置文件...
IDE:推荐使用STM32CubeIDEST官方提供,集成CubeMX和GCC工具链。FreeRTOS库:STM32CubeMX内置FreeRTOS支持...
在lib目录的FreeRTOS文件夹下新建 library.json 文件,内容如下: 登录后复制1{2"name":"FreeRTOS",3"version":"202112.00",4"build": {5"flags": [6"-Isource",7"-Isource/include",8"-Isource/portable/GCC/ARM_CM0",9"-Isource/portable/RVDS/ARM_CM0"10],11"srcFilter": [12"+",13"+",14"...
第7章 ThreadX操作系统移植(GCC) 本章节将为大家介绍ThreadX内核的GCC方式移植和设计框架,理论上不建议初学者直接学习,因为本章节涉及到的知识点很多,建议对ThreadX的应用有一些了解后再来看,这样将事半功倍。但是本章的工程模板框架一定要学习。 虽然本章节是以我们开发板为例进行移植的,但是教会大家如何移植到自己...
配置系统硬件 + MiddleSoftware(FreeRTOS)系统底层硬件始终配置 2. 生成的配置文件 a. Configure Table ADC DMA FREERTOS GPIO IWDG NVIC PDM2PCM RCC RTC SPI1 SPI2 SYS TIM1 TIM4 TIM10 USART1 USART6 WWDG X-CUBE-ALGOBUILD b. File Content ...
第7章 ThreadX操作系统移植(GCC) 本章节将为大家介绍ThreadX内核的GCC方式移植和设计框架,理论上不建议初学者直接学习,因为本章节涉及到的知识点很多,建议对ThreadX的应用有一些了解后再来看,这样将事半功倍。但是本章的工程模板框架一定要学习。 虽然本章节是以我们开发板为例进行移植的,但是教会大家如何移植到自己...