stm32f407vgt6 + rtthread制作bsp +踩过的坑


前言

本来想学习一下lwip协议栈,顺便复习一下rtthread的bsp制作,本以为简简单单的顺便,也让我摔了两跤,虽然都是很低级的错误,但是我也想记录下来,原因之一是提醒自己一定要认真!!!认真!!!认真!!!重要的事情要说三遍,还有一个原因是希望可以帮助到初步学习rtthread的同志们,跳出因为大意所踩进的坑。


一、准备工作

二、制作步骤

1、以stm32f407vgt6为例,复制模板

在这里插入图片描述在这里插入图片描述

2、修改模板名

在这里插入图片描述

3、使用stm32cubemx打开工程

在这里插入图片描述
在这里插入图片描述

4、重新选择芯片型号并保存工程,首次打开需要联网下载资源包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、配置下载方式、时钟、串口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、拷贝Src、Inc文件夹

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、复制SystemClock_Config函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、修改flash、sram、宏定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、配置工程模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10、menuconfig配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11、编译工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12、运行scons --dist命令

在这里插入图片描述
使用此命令会在该 BSP 目录下生成 dist 目录,这便是开发项目的目录结构,RT-Thread 源码位于项目文件夹内,可以随意拷贝 dist 文件夹的工程到任何目录下使用。
在这里插入图片描述

三、遇到的问题

1、芯片选型

在这里插入图片描述
使用stm32cubumx配置工程的时候,忘记选择相应的芯片,导致修改完SOC_STM32F407VG宏之后,menuconfig无法打开,工程创建失败。

2、SRAM的大小

粗心大意,没有仔细阅读芯片手册,导致SRAM大小分配错误,程序随不报错,但无法正常运行。
在这里插入图片描述
如图是stm32cubumx芯片选型的时候显示的芯片参数,我们可以看到,图中flash大小为1024kb,sram大小为192kb
在这里插入图片描述在这里插入图片描述
但是,当我修改完这两个文件的时候,程序编译正常,一运行就跑飞,后来上网查资料说是SRAM分配有问题,然后我就又去看了一下f407的芯片手册,发现
在这里插入图片描述
手册上虽然说f407虽然有192kb大小,但是其中包括64kbCCM内存(CPU直接访问的内存,有关CCM内存更详细的说明和使用方法,大家可以去上网搜索),所以分配SRAM的时候不能分配192kb,应该为128kb。

总结

希望本篇文章可以帮助到大家,如果大家发现文章中有错误或者需要改进的地方,欢迎大家私信或是在文章下方留言。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值