tinyriscv 移植正点原子启明星zynq7010 RISCV作为开源指令集,有着与Android一样的前景,不少大佬投身RISCV的社区建设,这里借鉴其中一位大佬liangkangnan的作品,进行移植。大佬的教程给出了比较完整的步骤,但还是有些细节不太清楚。这里我就移植过程中出现的一些问题,一并记录,并做分享。 参考链接:tinyriscv源代码 首...
之所以选择赤菟V103和赤菟V307两个芯片主要是其极具代表性:首先,直观上其外设的使用方法和我们之前熟悉的F103,F107等是兼容的,这样降低了我们使用和移植时的难度,基于WCH提供的外设库,我们以前上层的代码甚至于不用修改可直接使用。其次,赤菟V103是WCH RISC-V青稞内核家族中的青稞V3A内核,V307为青稞V4F内核,青稞...
本文记录的是在 risc-v 芯片上移植 rt-thread nano 的过程。 使用到的 risc-v 芯片是玉衡(YuHeng,yuheng-riscv),一款并不存在于现实世界的芯片,同 picorv32 和 darkriscv 一样,仅存在与仿真环境中。 一、硬件平台 玉衡(YuHeng,yuheng-riscv)基于开源 RISC-V 指令集架构,是一款极简的 32 位 RISC-V 处...
首先,直观上其外设的使用方法和我们之前熟悉的F103,F107等是兼容的,这样降低了我们使用和移植时的难度,基于WCH提供的外设库,我们以前上层的代码甚至于不用修改可直接使用。其次,V103是WCH RISC-V内核家族中的V3内核,V307为V4内核,V3内核支持RV32IMAC指令集,即除支持RISC-V基本的32位整数指令集外,还支持硬件乘除...
今天聊下需要移植RTOS时RISC-V内核单片机需要保存的寄存器。 RISC-V寄存器如下图1所示,其中x0-x31为整形寄存器,f0-f31为浮点寄存器(青稞V3没有浮点寄存器)。所有带caller的寄存器,当发生中断时需要保存,值得注意的是,WCH的硬件压栈保存的寄存器仅仅保存整数的16个caller saved 寄存器。正常一个中断函数的寄存器保存我...
作为国内第一家实现高性能RISC-V芯片量产落地的企业,赛昉科技深知,构建软件生态不是闭门造车,而是要真正贴合场景应用需求。赛昉科技软件总监施秦量表示,构建全面的软件生态,是为了帮助客户更容易地将现有的“用户应用程序”移植到RISC-V平台,从而更快地将终端产品推向市场。操作系统(OS)是调度RISC-V芯片平台...
4.FPGA移植 这部分方法和V1的一致,修改FPGA型号、管脚约束、注释不用引脚相关的信号,其中需要注意的是32K时钟,由于我板子没有这个晶振,所以在system.v中编写分频器代码;具体的修改可以参考我gitee的工程; 我的gitee传送门 5.安装linux工具安装与环境设置
问题是仅仅移植 Android 系统是不够的,谷歌正在寻求来自 Android 社区和 RISE(RISC-V 软件生态系统)的合作。前者意味着谷歌已经开始推动 Android 社区的软件开发者尝试和适配 RISC-V,后者是一个旨在推动 RISC-V 软件生态加速发展的联合项目,成员包括了谷歌、英特尔、高通、英伟达、红帽、三星和 SiFive 等一系列重要科...
两者均支持中断嵌套和硬件压栈,区别在于V3最大嵌套两级,V4最大可达八级,同时V3的硬件压栈深度两级,V4的硬件压栈深度为三级。这里需要注意的是,移植实时操作系统时需要关闭硬件压栈,在切换任务时所有寄存器,我们希望是由我们自己控制其压栈和出栈的内容。
在具体移植GD32VF103V-SEVAL的BSP之前,先做好GD32 RISC-V系列的BSP架构。BSP框架结构如下图所示: BSP架构主要分为三个部分:libraries、tools和具体的Boards,其中libraries包含了GD32的通用库,包括每个系列的Firmware Library以及适配RT-Thread的drivers;tools是生成工程的Python脚本工具;另外就是Boards文件,当然这里的Bo...