rt-thread-official/bsp/stm32f411-nucleo/README.md

136 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# STM32L476-nucleo 板级支持包
## 1. 简介
[STM32F411-nucleo](http://www.st.com/resource/en/data_brief/nucleo-f411re.pdf) 是由意法半导体推出的搭载Cortex-M4内核的高性能微控制器开发板包括如下硬件特性
| 硬件 | 描述 |
| -- | -- |
|芯片型号| [STM32F411RE](http://www.st.com/en/microcontrollers/stm32f411re.html) |
|CPU | Cortex-M4 |
|主频 | 100MHz |
|Flash| 512kB |
|SRAM | 128KB |
![stm32f411](http://www.st.com/content/ccc/fragment/product_related/rpn_information/product_circuit_diagram/4b/82/41/cc/25/ec/4b/3d/bd_stm32f411xe_512k.jpg/files/bd_stm32f411xe_512k.jpg/_jcr_content/translations/en.bd_stm32f411xe_512k.jpg)
## 2. 编译说明
| 环境 | 说明 |
| ------------ | ------------------------------------------------------------ |
| PC操作系统 | Linux/MacOS/Windows |
| 编译器 | arm-none-eabi-gcc version 6.3.1 20170620 (release)/armcc/ |
| 构建工具 | scons/mdk5 |
| 依赖软件环境 | Env工具/(MDK或arm-none-eabi-gcc)/git/调试器驱动 |
1) 下载源码
```bash
git clone https://github.com/RT-Thread/rt-thread.git
```
2) 配置工程并准备env
* Windows
>在[RT-Thread官网][1]下载ENV工具包
* Linux/Mac
```bash
cd rt-thread/bsp/stm32l476-nucleo
scons --menuconfig
source ~/.env/env.sh
pkgs --upgrade
```
3) 生成工程(Mac/Linux下请跳过此步骤)
* Windows MDK5
```bash
scons --target=mdk5 -s
```
4) 编译
* Windows
使用MDK或IAR请参见对应教程。Windows下使用ENV工具已经携带GNU GCC工具链只需要在console下在`bsp/stm32f411-nucleo`目录下使用
```bash
scons
```
即可编译成功。
* Linux/MAC
请使用以下指令设置gcc路径
```bash
export RTT_EXEC_PATH=[GCC路径]
```
而后在`rt-thread/bsp/stm32f411-nucleo`目录下使用
```bash
scons
```
即可编译成功。
GNU GCC编译成功会在最后有如下类似信息显示
```bash
LINK rtthread-stm32f411.elf
arm-none-eabi-objcopy -O binary rtthread-stm32f411.elf rtthread.bin
arm-none-eabi-size rtthread-stm32f411.elf
text data bss dec hex filename
55916 208 2456 58580 e4d4 rtthread-stm32f411.elf
scons: done building targets.
```
并产生rtthread-stm32f411.elf、rtthread.bin文件。其中rtthread.bin为二进制固件
## 3. 烧写及执行
对于STM32F411-Nucleo开发板在Windows上可以直接把rtthread.bin文件拖到U盘中实现烧写。在Linux下请查找Linux下如何使用 ST-Link 的教程。
**注:**
如果需要使用Keil MDK来调试GNU GCC编译后的映像文件可以在编译出`rt-thread/bsp/stm32f411-nucleo/rtthread-stm32f411.elf`后,把这个文件改名成`rtthread-stm32f4xx.axf`
并放置于build目录下。然后在Keil MDK工程配置的Debug页中把`Run to main()`选项拿掉,然后直接点击下载或调试即可进行调试(千万别再编译这个工程)。
### 3.1 运行结果
如果编译 & 烧写无误会在串口2上看到RT-Thread的启动logo信息
```bash
\ | /
- RT - Thread Operating System
/ | \ 3.0.4 build May 29 2018
2006 - 2018 Copyright by rt-thread team
msh >
```
## 4. 驱动支持情况及计划
| 驱动 | 支持情况 | 备注 |
| ---------- | :------: | :--------------------------: |
| UART | 支持 | UART2 |
### 4.1 IO在板级支持包中的映射情况
| IO号 | 板级包中的定义 |
| -- | -- |
| PA2 | USART2 TX |
| PA3 | USART2 RX |
## 5. menuconfig Bsp菜单详解
| 选项 | 解释 |
| -- | -- |
| Using UART2 | 开启串口2设备名为"uart2" |
[1]: https://www.rt-thread.org/page/download.html