gd32vf103
文章平均质量分 52
基于gd32vf103学习riscv架构
dianlong_lee
普通造bug码农一枚。。。
展开
-
2.5 移植rvos - preemptive
移植rvos - preemptivegd32vf103中断模式非向量处理模式向量处理模式移植rvos的难点使用向量处理模式如何将中断改成向量模式?向量模式需要注意的地方gd32vf103中断模式gd32vf103的中断有2种模式:向量处理模式和非向量处理模式非向量处理模式中断被处理器内核响应后,处理器会直接跳入到所有非向量中断共享的入口地址,该入口地址可以通过软件进行设置。非向量中断入口地址的选择方式如下:mtvec 中记录了异常入口地址mtvt2 中记录了非向量中断入口地址mtvt2中原创 2021-09-16 17:22:58 · 369 阅读 · 0 评论 -
2.4 移植rvos - multitask
移植rvos - multitask对比contexswitch详细修改对比contexswitch/* 新增注册task接口 */int task_create(void (*start_routin)(void)){ if (_top < MAX_TASKS) { ctx_tasks[_top].sp = (reg_t) &task_stack[_top][STACK_SIZE - 1]; ctx_tasks[_top].ra = (reg_t) start_routin原创 2021-09-15 16:01:10 · 123 阅读 · 0 评论 -
2.3 移植rvos - contextswitch
移植rvos - contextswitch关键代码分析详细修改关键代码分析#define STACK_SIZE 1024uint8_t task_stack[STACK_SIZE];struct context ctx_task;extern void w_mscratch(reg_t x);void user_task0(void);void sched_init(){ /* 初始化将mscratch寄存器中写入0 */ w_mscratch(0); /* 初始化任务上下文结原创 2021-09-15 15:48:47 · 169 阅读 · 0 评论 -
2.2 移植rvos - helloRVOS
移植rvos - helloRVOSsdk简介sdk结构简介开始移植sdk简介这里使用的sdk之前已经介绍过了,是芯来科技的https://gitee.com/Nuclei-Software/nuclei-sdksdk结构简介这里只介绍和这里相关的NMSIS:基于开源软件CMSIS,针对Nuclei RISC-V处理器内核进行了深度定制优化开发,提供完备的代码以及在线文档,并采用Apache 2.0 License进行发布.OS: 当前支持的OS,主要有FreeRTOS RTThread原创 2021-09-15 15:19:41 · 288 阅读 · 0 评论 -
2.1 rvos简介
rvos简介1 简介课程地址源码地址课程交流群1 简介rvos(RISC-V OS)是基于riscv开发的一个简单的适合入门的实时操作内核。其作者是汪辰老师,有对应的源码及视频。汪辰老师的这么课程讲的非常好,强烈推荐大家去观看课程地址https://www.bilibili.com/video/BV1Q5411w7z5?p=1源码地址https://gitee.com/unicornx/riscv-operating-system-mooc课程交流群QQ:976125506...原创 2021-09-15 14:50:01 · 895 阅读 · 0 评论 -
1.3 nuclei sdk Makefile分析
nuclei sdk Makefile分析Make 命令1. 根目录Makefile2. 源码选择application/baremetal/helloworld Makefile如下3. 分析Makefile.base3.1 Makefile.misc3.2 Makefile.conf(1)3.2.1 Makefile.soc3.2.1.1 Makfile.soc.gd32vf1033.3 Makefile.conf(2)3.3.1 Makefile.files3.3.1.1 Makefile.files原创 2021-09-15 14:39:38 · 988 阅读 · 0 评论 -
1.2 nuclei sdk gd32vf03 启动文件分析
gd32vf103 启动文件分析/** * Reset Handler called on controller reset */_start: /* ===== Startup Stage 1 ===== */ /* csrc是伪指令 * csrc csr rs -> csrrc x0, csr, rs : Clear bits in CSR * csrrc指令格式 csrrc rd, csr, rs1 * CSRRC(CSR 中的原子读取和清除原创 2021-09-15 14:31:08 · 851 阅读 · 0 评论 -
1.1 ubuntu环境下搭建gd32vf103
1.1 ubuntu环境下搭建gd32vf1031 资料下载1.1 芯片介绍1.2 开发板介绍1.3 源码下载1.4 其他资料2 交叉编译工具链3 下载工具4 环境搭建5 编译5.1 编译步骤5.2 生成bin文件6 下载7 其他1 资料下载1.1 芯片介绍GD32VF103系列MCU是基于RISC-V内核的32位通用微控制器,具备均衡的处理效能和系统资源,适用于工业控制、消费电子、新兴IoT等嵌入式市场应用。内核:芯来科技Bumblebee内核(RV32IMAC)主频:108MHz内存:内置1原创 2021-09-15 14:25:19 · 2938 阅读 · 1 评论 -
基于GD32VF103学习risc-v总览
1,gd32vf103环境搭建及sdk分析 1.1 ubuntu环境下搭建gd32vf103 1.2 nuclei sdk 启动文件分析 1.3 nuclei sdk Makefile分析2,移植rvos实时操作内核到gd32vf103 2.1 rvos简介 2.2 移植...原创 2021-09-15 14:04:07 · 325 阅读 · 0 评论