1. BSP包代码替换
因rt-thread mch下操作SDIO的一些命令需要用到RTC功能,用于创建文件时间的设置。所以使能项目硬件配置的RTC模块。在使用RT-Thread Studio自带的AT32F407VGT7开发板BSP包进行编译的时候有编译错误。硬件驱动drv_rtc.c有两个宏没有定义,另外函数名称和组件驱动rtc.c相重。自带的BSP包可能太久没更新了,所以考虑把BSP包更新为https://gitee.com/rtthread/rt-thread 官网上的BSP代码。
没有采用RT-Thread Studio创建BSP的方式,而是自己替换Studio下的BSP包文件。
RT-Thread Studio下AT32F407VGT7开发板BSP代码存放在安装目录
RT-ThreadStudio\repo\Extract\Board_Support_Packages\RealThread\AT32F407-AT-START\1.0.0\project_0下。
1)删除applications, board, Libraries三个目录下的所有文件,保留原文件夹不变。
从gitee下载rt-thread代码,在bsp/at32目录如下:
2)把bsp/at32/libraries目录下的rt_drivers文件夹和AT32F403A_407_Firmware_Library文件夹拷贝到AT32F407-AT-START\1.0.0\project_0\libraries文件夹下。拷贝完之后,把AT32F403A_407_Firmware_Library文件夹名修改为AT32_Std_Driver(就是之前的文件夹名)。
3)把bsp\at32\at32f407-start下的applications和board文件夹拷贝到AT32F407-AT-START\1.0.0\project_0\目录下。
4)修改AT32F407-AT-START\1.0.0\project_0\board\Sconsript文件。
把文件中AT32F403A_407_Firmware_Library替换为AT32_Std_Driver(如下内容)。
5)完成之后,在Stduio创建项目(基于开发板)时使用的代码就是新的代码了。
AT32F407-AT-START\1.0.0\project_0\rt-thread下的代码没有替换(应该也可以替换了),比较了下rt-thread\components\drivers\sdio和dfs目录下和最新代码的差异,改动不多,也就没有替换了。