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中有独立配置开关的外设库,建议使用编译选项的方式加入,减小代码编译时间。

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

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

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

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

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

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

开发资料

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RT-Thread 是一个开源的实时操作系统,它具有轻量级、可裁剪、可移植等特点。而 hc32f460 是汇顶科技推出的一款高性能的32位ARM Cortex-M4F内核的微控制器。 要将 RT-Thread 移植到 hc32f460 上,我们需要进行以下几个步骤: 1. 确认硬件支持:首先需要确保 hc32f460 上的硬件资源能够满足 RT-Thread 的要求,比如存储器空间、CPU性能等。 2. 创建移植目录:在 RT-Thread 的源代码目录中,我们可以通过复制一个与 hc32f460 对应的目录来进行移植。例如,将 `port` 目录下的 `hc32` 目录复制,并重命名为 `hc32f460`。 3. 配置:打开 `rtconfig.h` 文件,根据 hc32f460 的硬件特点和资源情况,对 RT-Thread 进行相应的配置。这包括设置堆栈大小、线程数量、中断优先级、时钟相关配置等。 4. 驱动移植:检查 hc32f460 上的外设驱动是否与 RT-Thread 的驱动兼容。如果不兼容,需要进行一些适配工作,确保驱动能够正确地与 RT-Thread 进行交互。 5. 编译:使用 hc32f460 相应的编译工具链,编译 RT-Thread 移植代码。 6. 烧录和运行:将编译生成的可执行文件烧录到 hc32f460 的存储器中,并启动芯片,即可运行 RT-Thread。 总之,将 RT-Thread 移植到 hc32f460 上主要涉及硬件支持、目录创建、配置、驱动移植以及编译和烧录等步骤。只要按照这些步骤进行操作,我们就可以成功将 RT-Thread 移植到 hc32f460 上,并利用 RT-Thread 强大的功能和优势来开发我们的应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值