画了块ch571f和ch579m二合一的开发板,ch571是risc-v的芯片,ch579是m0的。之前一直用的stm32,刚接触risc-v开发还是碰到许多需要琢磨半天的问题。(本文档持续更新)
目录
USB直接烧录软件:WCHISPTool_Setup.exe - 南京沁恒微电子股份有限公司
然后下载官方的资料和示例程序:CH573EVT.ZIP - 南京沁恒微电子股份有限公司
1,在示例程序基础上修改,使用了新的.c文件,编译报错undefined reference to编辑
2,报错 relocation truncated to fit: R_RISCV_JAL against symbol `TMR0_IRQHandler' defined in(23/06/08)
板子在立创有开源: 蓝牙ch579m+ch571f - 嘉立创EDA开源硬件平台
运行官方示例
首先是安装开发软件:MounRiver Studio
USB直接烧录软件:WCHISPTool_Setup.exe - 南京沁恒微电子股份有限公司
烧录软件基本上沁恒的芯片都可以下载,右边选择芯片系列后,按住芯片的boot按键然后上电,软件会自动识别usb以及芯片型号,然后选择hex文件,点下载就可以了(进入boot长时间不下载会自动退出)
然后下载官方的资料和示例程序:CH573EVT.ZIP - 南京沁恒微电子股份有限公司
示例程序包含这些
开发软件安装好之后打开,然后直接导入就行:
编译输出文件可以打开或者更改
编译没有错就可以下载了
下载
下载后自动运行
遇到问题
1,在示例程序基础上修改,使用了新的.c文件,编译报错undefined reference to
同时工程列表中是部分灰色的
1解决:灰色大概意思就是没有包含到工程里,而头文件又包含了,就只是一个函数声明,但没有实现,调用就会报错。
只需要右键需要的文件,点include/exclude....把文件包含或者取消包含到工程编译中就行了
2,报错 relocation truncated to fit: R_RISCV_JAL against symbol `TMR0_IRQHandler' defined in(23/06/08)
错误原因是我注释了官方的一段代码(似乎是汇编)
取消注释即可
具体什么问题我也不是很懂,知乎上看到有相关的:浅谈RISC-V GCC之:链接脚本学习笔记(二) - 知乎
....持续更新中