ch32f103c8t6代码移植
时间: 2023-08-22 11:10:30 浏览: 120
移植CH32F103C8T6代码时,需要进行以下几个步骤:
1. 修改启动文件:将启动文件"startup_stm32f10x_hd.s"中的PendSV_Handler和SysTick_Handler分别改为OS_CPU_PendSVHandler和OS_CPU_SysTickHandler,共两处。这是因为μC/OS官方已经提供了对应的中断函数,无需自己处理与系统相关的中断。同时,还需要将stm32f10x_it.c文件中的PendSV_Handler和SysTick_Handler函数注释掉(不注释也不会有问题)\[1\]。
2. 修改bsp.c和bsp.h文件:根据需要修改源码中的bsp.c和bsp.h文件。这些文件是与硬件平台相关的,需要根据CH32F103C8T6的特性进行相应的修改\[2\]。
3. 确保器件库包的安装:在进行代码移植之前,需要安装CH32F103C8T6的器件库包。这样在MDK中才能正常下载代码。此外,还需要添加自己的算法。需要注意的是,CH32F103C8T6的BootLoader与ST的不同,但支持串口和USB下载。其他类似的芯片如GD32F103C8T6、APM32F103C8T6、HK32F103C8T6、CKSF103C8T6也可以作为对标ST的芯片使用,但下载方式可能会有所不同\[2\]。
4. 兼容性和外设配置:CH32F103C8T6与意法半导体的STM32F103C8T6对标,架构基本一致。虽然在外设上进行了增删,但总体上与ST的结构相似。芯片手册中的管脚定义也兼容ST芯片。需要注意的是,寄存器和存储器地址映射决定了芯片外设是否兼容,能否使用ST官方驱动库。大多数功能是可以兼容的,但在使用特定功能时,可能需要参考官方例程或库,或者移植寄存器地址设置。例如,CH公司在地址0x40023400处增加了自己的USBHD地址映射,这是其他芯片没有的。此外,CH32F103C8T6还具有自己的BOOT,因此可以轻松实现USB下载固件\[3\]。
综上所述,移植CH32F103C8T6代码需要修改启动文件、bsp.c和bsp.h文件,并确保器件库包的安装。同时,需要注意兼容性和外设配置方面的差异。
#### 引用[.reference_title]
- *1* [STM32F103C8T6移植uCOS(标准库)](https://blog.csdn.net/zhoushuaiyxlmwan/article/details/127712133)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [CH32F103C8T6核心板三种程序下载方式简介](https://blog.csdn.net/qq_42250136/article/details/119600667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文