|
7 years ago | |
---|---|---|
.. | ||
Libraries | 7 years ago | |
applications | 7 years ago | |
drivers | 7 years ago | |
figures | 7 years ago | |
.config | 7 years ago | |
Kconfig | 7 years ago | |
README.md | 7 years ago | |
SConscript | 7 years ago | |
SConstruct | 7 years ago | |
project.ewp | 7 years ago | |
project.eww | 7 years ago | |
project.uvoptx | 7 years ago | |
project.uvprojx | 7 years ago | |
rtconfig.h | 7 years ago | |
rtconfig.py | 7 years ago | |
stm32_rom.icf | 7 years ago | |
stm32_rom.ld | 7 years ago | |
stm32_rom.sct | 7 years ago | |
template.ewp | 7 years ago | |
template.eww | 7 years ago | |
template.uvoptx | 7 years ago | |
template.uvprojx | 7 years ago |
STM32F4 是由意法半导体推出的Cortex-M4内核的高性能单片机 包括如下硬件特性:
| 硬件 | 描述 | | -- | -- | |芯片型号| STM32F4全系列 | |CPU| Cortex-M4 | |主频| 84MHz-208MHz |
环境 | 说明 |
---|---|
PC操作系统 | Linux/MacOS/Windows |
编译器 | arm-none-eabi-gcc version 6.3.1 20170620 (release)/armcc/iar |
构建工具 | scons/mdk5/iar |
依赖软件环境 | Env工具/(MDK或IAR或arm-none-eabi-gcc)/git/调试器驱动 |
1) 下载源码
git clone https://github.com/RT-Thread/rt-thread.git
2) 配置工程并准备env
(Linux/Mac)
cd rt-thread/bsp/stm32f4xx-HAL
scons --menuconfig
source ~/.env/env.sh
pkgs --upgrade
(Windows)
在RT-Thread官网下载ENV工具包
3) 配置芯片型号
(Linux/Mac)
scons --menuconfig
(Windows(ENV环境中))
menuconfig
在menuconfig页面配置并选择对应的芯片型号,若开发环境为MDK/IAR,则需要生成工程
4) 生成工程(Mac/Linux下请跳过此步骤)
(Windows IAR)
SET RTT_CC=iar
scons --target=iar -s
(Windows MDK5)*
scons --target=mdk5 -s
*该板级支持包不支持生成mdk4的工程
MDK 与 IAR 在生成完成工程之后一定要在工程中手动选择一次芯片信号,否则会产生严重编译错误
5) 编译
使用MDK或IAR请参见对应教程
(Windows arm-none-eabi-gcc) 使用以下指令设置gcc路径
SET RTT_EXEC_PATH=[GCC路径]
(Linux/Mac arm-none-eabi-gcc) 使用以下指令设置gcc路径
export RTT_EXEC_PATH=[GCC路径]
编译(WindowsLinux/Mac arm-none-eabi-gcc)
scons -j4
出现下列信息即为编译成功
LINK rtthread-stm32f4xx.elf
arm-none-eabi-objcopy -O binary rtthread-stm32f4xx.elf rtthread.bin
arm-none-eabi-size rtthread-stm32f4xx.elf
text data bss dec hex filename
41596 356 1456 43408 a990 rtthread-stm32f4xx.elf
scons: done building targets.
如果编译正确无误,会产生rtthread-stm23f4xx.elf、rtthread.bin文件。其中rtthread.bin为二进制固件
烧写可以使用仿真器 ISP等多种方式 此处不再赘述
如果编译 & 烧写无误,会在串口2*上看到RT-Thread的启动logo信息:
\ | /
- RT - Thread Operating System
/ | \ 3.0.4 build May 15 2018
2006 - 2018 Copyright by rt-thread team
msh />
*默认串口
驱动 | 支持情况 | 备注 |
---|---|---|
UART | 支持 | UART1/2/6 |
GPIO | 支持 | 自动根据芯片型号选择引脚布局 |
SPI | 支持 | SPI1/2/3 |
SPI Flash | 支持 | W25QXX |
USB Device | 支持 | OTGFS,暂不支持OTGHS |
USB Host | 支持 | OTGFS,暂不支持OTGHS |
IWG | 支持 | / |
I2c | 支持 | 软件I2C |
RTC | 支持 | RTC时钟自动配置 |
| IO号 | 板级包中的定义 | | -- | -- | | PB6 | I2C SCL | | PB7 | I2C SDA | | PA9 | USART1 TX | | PA10 | USART1 RX | | PA2 | USART2 TX | | PA3 | USART2 RX | | PC6 | USART6 TX | | PC7 | USART6 RX | | PA5 | SPI1 SCK | | PA6 | SPI1 MISO | | PA7 | SPI1 MOSI | | PB13 |SPI2 SCK | | PB14 |SPI2 MISO | | PB15 |SPI2 MOSI | | PC10 |SPI3 SCK | | PC11 |SPI3 MISO | | PC12 |SPI3 MOSI |
| 选项 | 解释 | | -- | -- | | Device type | 选择芯片型号,修改此处需修改MDK/IAR工程为相同芯片型号 | | Using HSI as clock source | 不使用外部时钟源,该选项目前不能开启 | | HSE Value | 外部时钟源的频率,单位(HZ) | | System Clock Value | 系统时钟频率,该值会自动计算时钟树,某些特定频率下无法通过PLLQ产生48M时钟,可能导致USB SDIO等设备时钟异常,可使用STM32 Cube MX工具配置需要的时钟树替换board.c中的时钟初始化部分 | | Using UART1 | 开启串口1,串口1的设备名为"uart1" | | Using UART2 | 开启串口2,串口1的设备名为"uart2" | | Using UART6 | 开启串口6,串口1的设备名为"uart6" | | Using SPI1 | 开启SPI1,设备名为"spi1" | | Using SPI2 | 开启SPI2,设备名为"spi2" | | Using SPI3 | 开启SPI3,设备名为"spi3" | | W25QXX CS Pin index | SPI flash 的片选,接入单片机的引脚号 | | W25QXX Spi bus name | SPI flash 所使用的总线设备名称 | | USB Host Config | USB主机模式的配置菜单 | | using a gpio control usb power | 根据具体硬件,选择是否使用一个GPIO来控制USB主机的电源开启 | | power control pin | 控制USB主机的电源控制引脚号 | | current check pin | USB主机的电流过载检测引脚号 | | using vbus check pin | 选择是否开启USB VBUS检测 |
*部分选项需要在RT-Thread组件菜单中开启对应的设备框架才能显示。
维护人: uestczyh222 < lymz@foxmail.com >