2025年max31856代码(max31855示例程序)

max31856代码(max31855示例程序)登录兆易创新官网 在资料下载页面找到 GD32H7 的例程包 如下图所示 GD32H7xx Demo Suites V2 0 0 中包含有 GD32H7xx 系列多个开发板的例程包 根据自己所使用的具体 MCU 型号选择对应的例程包 本文中使用的是 GD32H757Z START Demo Suites 中的例程 在例程包内选择最简单的 01 GPIO Running LED 作为移植 RTX5 系统的基础程序



  登录兆易创新官网,在资料下载页面找到GD32H7的例程包,如下图所示:
在这里插入图片描述
GD32H7xx_Demo_Suites_V2.0.0中包含有GD32H7xx系列多个开发板的例程包,根据自己所使用的具体MCU型号选择对应的例程包。本文中使用的是GD32H757Z_START_Demo_Suites中的例程。
在这里插入图片描述

  在例程包内选择最简单的01_GPIO_Running_LED作为移植RTX5系统的基础程序。首先打开01_GPIO_Running_LED工程,确保能够编译成功,并下载到开发板进行功能验证。若使用的不是官方的开发板,则需要修改相应LED GPIO。Running LED程序验证无误后,再进行后续的移植工作。
在这里插入图片描述

  点击Manage Run-Time Environment,选择RTOS2中的keil RTX5选择Source方式添加,如下图所示:
在这里插入图片描述
如果Validation Output处有warning,点击下面的Resolve。最后点击OK完成RTX5的源码添加。添加后可以看到工程目录中的CMSIS中包含了RTX5的源码文件。
在这里插入图片描述
此时编译工程会报很多error,下面就来解决这些编译error。

2.2.1 删除重复文件

在工程目录内可以看到startup_gd32h7xx.s 和 system_gd32h7xx.c文件重复了
在这里插入图片描述
将startup文件夹和CMSIS文件夹中包含的文件都删除掉。删除后如下图所示
在这里插入图片描述

2.2.2 irq_armv7m.S(1): error: A1167E: Invalid line start

在Option中Asm -> Assembler Option 选择 armclang(Auto Select), 设置完成后重新编译。
在这里插入图片描述

2.2.3 注释掉重复定义的中断处理函数

  • .ObjectsProject.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by irq_armv7m.o and gd32h7xx_it.o).
  • .ObjectsProject.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by irq_armv7m.o and gd32h7xx_it.o).
  • .ObjectsProject.axf: Error: L6200E: Symbol SVC_Handler multiply defined (by irq_armv7m.o and gd32h7xx_it.o).
    SysTick_Handler 、PendSV_Handler 、SVC_Handler 在RTX5中已定义,我们需要将gd32h7xx_it.c中的这3个函数定义注释掉。
    由于RTX5 会用到SysTick中断,所以工程内的systick.c 可以删除掉。完成以上步骤重新编译工程,则可以编译通过。
    修改后的gd32h7xx_it.c
 
 

测试代码创建了2个thread,thread_1控制LED以500ms周期闪烁;thread_2控制另外2个LED 以250ms周期闪烁。代码如下:

 

经过测试程序按照设计的功能实现了LED的闪烁控制,至此GD32H7xx的RTX5移植完成。


To Be Continue …

编程小号
上一篇 2025-03-25 08:46
下一篇 2025-03-02 11:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/30087.html