打印
[STM32F4]

移植rt-thread

[复制链接]
860|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
下面是移植rt-thread的步骤。
沙发
wangjiahao88|  楼主 | 2018-2-28 14:36 | 只看该作者
1 复制bsp下的stm32f40x文件夹,将里面的Libraries文件下的两个文件夹删除,替换刚才www.st.com下载的对应于stm32f469ni这颗芯片的标准库

使用特权

评论回复
板凳
wangjiahao88|  楼主 | 2018-2-28 14:36 | 只看该作者
2 修改\bsp\stm32f469\Libraries\SConscript 为下面这样
   # The set of source files associated with this SConscript file.
src = Split("""
CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c
""")

src += Glob('STM32F4xx_StdPeriph_Driver/src/*.c')

#add for startup script
if rtconfig.CROSS_TOOL == 'gcc':
     src = src + ['CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc_ride7/startup_stm32f429_439xx.s']
elif rtconfig.CROSS_TOOL == 'keil':
     src = src + ['CMSIS/ST/STM32F4xx/Source/Templates/arm/startup_stm32f4xx.s']
# elif rtconfig.CROSS_TOOL == 'iar':
    # src = src + ['CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/' + startup_scripts[rtconfig.STM32_TYPE]]

path = [cwd + '/STM32F4xx_StdPeriph_Driver/inc',
    cwd + '/CMSIS/Device/ST/STM32F4xx/Include',
    cwd + '/CMSIS/Include']

CPPDEFINES = ['USE_STDPERIPH_DRIVER', rtconfig.STM32_TYPE]
#CPPDEFINES = ['USE_STDPERIPH_DRIVER']

主要是加入Device和加入rtconfig.STM32_TYPE这两个。

使用特权

评论回复
地板
wangjiahao88|  楼主 | 2018-2-28 14:37 | 只看该作者
3 修改rtconfig.py 加入了stm32f469ni的类型定义
STM32_TYPE = 'STM32F469_479xx'

使用特权

评论回复
5
wangjiahao88|  楼主 | 2018-2-28 14:37 | 只看该作者
4 修改rtconfig.h
//#define RT_USING_UART1
//#define RT_USING_UART2
#define RT_USING_UART3
由于这块板子的控制台串口用的是UART3,所以将其打开,其他的注释掉,有兴趣的话可以把其他所有的串口支持都加上。

使用特权

评论回复
6
wangjiahao88|  楼主 | 2018-2-28 14:37 | 只看该作者
5 修改stm32_rom.ld
MEMORY
{
    CODE (rx) : ORIGIN = 0x08000000, LENGTH = 2048k /* 1024KB flash */
    DATA (rw) : ORIGIN = 0x20000000, LENGTH =  320k /* 128K sram */
}

这个是gcc下的链接配置文件,主要改下flash和sram的大小,这个芯片应该是支持384k的,为了保险起见(担心内存不连续),没用后面的64K

使用特权

评论回复
7
wangjiahao88|  楼主 | 2018-2-28 14:38 | 只看该作者
6 修改usart.c
将串口的管脚配置上
#define UART3_GPIO_TX       GPIO_Pin_10
#define UART3_TX_PIN_SOURCE GPIO_PinSource10
#define UART3_GPIO_RX       GPIO_Pin_11
#define UART3_RX_PIN_SOURCE GPIO_PinSource11
#define UART3_GPIO          GPIOB
#define UART3_GPIO_RCC      RCC_AHB1Periph_GPIOB
#define RCC_APBPeriph_UART3 RCC_APB1Periph_USART3

使用特权

评论回复
8
wangjiahao88|  楼主 | 2018-2-28 14:38 | 只看该作者
7 编译
scons.bat
得到rtthread.bin,就可以用st的下载工具去下载了。

使用特权

评论回复
9
wangjiahao88|  楼主 | 2018-2-28 14:39 | 只看该作者
8 下载的时候是要用最新的st下载工具,否则会报错的。
9 串口打印消息

11.jpg (219.32 KB )

11.jpg

使用特权

评论回复
10
aozima| | 2018-2-28 16:26 | 只看该作者
新版本可以直接使用 stm32f429 的BSP

使用特权

评论回复
11
xixi2017| | 2018-2-28 17:39 | 只看该作者
貌似现在都有移植好的了

使用特权

评论回复
12
dongnanxibei| | 2018-2-28 23:25 | 只看该作者
现在好像每个芯片的例子里面都有这了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

474

主题

7520

帖子

30

粉丝