sdk简介
这里使用的sdk之前已经介绍过了,是芯来科技的
https://gitee.com/Nuclei-Software/nuclei-sdk
sdk结构简介
这里只介绍和这里相关的
NMSIS:基于开源软件CMSIS,针对Nuclei RISC-V处理器内核进行了深度定制优化开发,提供完备
的代码以及在线文档,并采用Apache 2.0 License进行发布.
OS: 当前支持的OS,主要有FreeRTOS RTThread UCOSII
SoC: 现在有demosoc和gd32vf103,其中demosoc应该是芯来科技其他的soc,这里不关心
SoC/gd32vf103: 这个目录下面有Board 和Common,顾名思义Board放的是各个板子的代码,Common则是通用代码
application: 这里可以认为放的都是用户的应用部分代码
我们知道gd32vf103使用的内核是芯来科技Bumblebee内核(RV32IMAC),外围设备比如adc,gpio这些是兆亿创新的。
在后面找内核和外设的代码的时候,这里要注意
NMSIS放的是内核的代码,比如嘀嗒时钟,SCR寄存器这些
SoC下面放置的是外设代码
开始移植
- 创建rvos目录 application/rvos/
- 将kernel.c中的函数start_kernel改成main,因为入口函数这里是main
- 移除串口相关的设置,因为sdk中已经封装好了printf,可以用于打印
注意这里的printf是来自于交叉编译器库的,sdk只需要实现底层的_read和_write就可以使用
详细的修改看这里
https://gitee.com/ldl17/nuclei-sdk/commit/613e6b4cef6089cda6c7dbc5e71259574975a97f