rt_thread hc32f460开发一:工程建立和注意事项

RT-Thread的开发方式

RT-Thread有两种开发方式,RT-Thread Studio和ENV工具+传统的开发工具(IAR或Keil)。

RT-Thread Studio

Stdio的好处是直观,对新手比较友好。不过经过试用,发现其对新处理器支持受限比较严重,由于我们需要为F460的驱动和BSP增加许多改进,因此没有采用Studio的方法进行开发。

https://www.rt-thread.org/document/site/#/development-tools/rtthread-studio/README

Env 工具 +  Keil

Env是一个使用Kconfig系统的配置和包管理工具,修改Kconfig、SConstruct可以方便扩展现有的BSP和驱动。Env工具使用方法参考官方的文章:

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/application-note/setup/standard-project/an0017-standard-project

开发过程中需要注意的问题

RT-Thread 4.X和3.X建立工程的区别

之前3.x版本的bsp是和硬件(开发板)强关联的,因此在新硬件上使用RT-Thread都需要一个增加bsp,然后编译和提交git的时候都要带着整个RT-Thread的源代码,非常臃肿。

4.x版本的bsp更佳倾向于为使用这款处理器的所有硬件提供一个供修改的基础,使用scons --dist命令可以把所用芯片的bsp和系统组件打包成一个dist.zip。后续的开发直接基于这个打包后的dist目录进行开发就可以了。

有一篇介绍如何制作新bsp的文章对理解bsp的结构非常有意义,建议参考https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97BSP%E5%88%B6%E4%BD%9C%E6%95%99%E7%A8%8B.md

ddl_config.h需要手工开启用到的函数库

hc32f460标准库中的ddl_config.h文件中有一些了DDL_XXX_ENABLE的宏,默认都是DDL_OFF,这样即使包含了对应的头文件在编译的时候还是会报错。需要手工修改该文件,把用到的外设库打开。

Libraries\SConscript中需要添加用到的函数库

Libraries\SConscript中默认仅包含了部分外设函数库,在使用新函数库时需要自行加入需要用到的函数库。系统公共组件,比如GPIO、DMA建议直接添加到文件中,RT-Thread中有独立配置开关的外设库,建议使用编译选项的方式加入,减小代码编译时间。

  rt_thread hc32f460开发一:工程建立和注意事项

 

 

J-Tag引脚当作普通IO使用时的初始化

如果需要把用不到的J-Tag引脚当作普通IO使用,需要对其进行额外的初始化,参考其他驱动的例子,应该把初始化参数放在board_config.c中,然后在drv_gpio.c中引用。

 rt_thread hc32f460开发一:工程建立和注意事项

 

 rt_thread hc32f460开发一:工程建立和注意事项

 

 如果不幸把当前调试用到的引脚改掉,导致没法进行调试,需要修改CPU的启动引脚电平,让CPU不运行Flash中的代码,然后再次修改代码烧录程序。

用尽CPU提供的内存(修改board.h)

hc32f460的bsp默认只使用了32kb的内存,对于rt-thread全功能不是很宽裕。hc32f460提供了四段共188kb的SRAM,虽然分了四段,但是地址是连续的,如果没有特殊需求的话四段可以作为一个整体使用。

修改board.h中的SRAM内存结束地址,以使用全部内存。

 rt_thread hc32f460开发一:工程建立和注意事项

 

 开发资料

HC32F460用户手册

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/65/id/47/key/0

HC32F460数据手册

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/65/id/46/key/0

HC32F460驱动库

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/66/id/57/key/9

HC32F460驱动库帮助

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/66/id/57/key/8

HC32F460IDE支持包

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/66/id/58/key/2

上一篇:杨辉三角


下一篇:xctf攻防世界 MISC高手进阶区 签到题