今天聊下需要移植RTOS时RISC-V内核单片机需要保存的寄存器。 RISC-V寄存器如下图1所示,其中x0-x31为整形寄存器,f0-f31为浮点寄存器(青稞V3没有浮点寄存器)。所有带caller的寄存器,当发生中断时需要保存,值得注意的是,WCH的硬件压栈保存的寄存器仅仅保存整数的16个caller saved寄存器。正常一个中断函数的寄存器保存我们...
这样即可保证RTOS下,硬件压栈可正常使用,保证RTOS下的中断响应速度。 今天聊下需要移植RTOS时RISC-V内核单片机需要保存的寄存器。 RISC-V寄存器如下图1所示,其中x0-x31为整形寄存器,f0-f31为浮点寄存器(青稞V3没有浮点寄存器)。所有带caller的寄存器,当发生中断时需要保存,值得注意的是,WCH的硬件压栈保存的寄存器仅...
总的来说,FreeRTOS-metal 是一个为 RISC-V 微控制器设计的实时操作系统,它结合了 FreeRTOS 和 Metal 库的优势,并提供了高效、可靠和可移植的解决方案,适用于各种嵌入式系统和应用程序。 FreeRTOS-metal 是运行在机器模式和用户模式,适用于大多数简单应用场景,不过对于需要运行多运行区域隔离的场景(比如运行多个 R...
这样即可保证RTOS下,硬件压栈可正常使用,保证RTOS下的中断响应速度。 今天聊下需要移植RTOS时RISC-V内核单片机需要保存的寄存器。 RISC-V寄存器如下图1所示,其中x0-x31为整形寄存器,f0-f31为浮点寄存器(青稞V3没有浮点寄存器)。所有带caller的寄存器,当发生中断时需要保存,值得注意的是,WCH的硬件压栈保存的寄存器仅...
RISC-V MCU移植RTOS系列教程(二) 接着以WCH沁恒微电子的赤菟V103(CH32V103)和赤菟V307(CH32V307)两款RISC-V内核芯片来详细说下针对RISC-V平台,移植实时操作系统的注意点。 今天聊下移植RTOS时RISC-V内核时单片机任务栈保存哪些内容。 上一章中列举了所有的寄存器,当需要切换任务时刻的寄存器值,除x0恒为0,...
今天聊下需要移植RTOS时RISC-V内核单片机 需要保存的寄存器。 RISC-V寄存器如下图1所示,其中x0-x31为整形寄存器,f0-f31为浮点寄存器(青稞V3没有浮点寄存器)。 所有带caller的寄存器,当发生中断时需要保存,值得注意的是,WCH的硬件压栈保存的寄存器仅仅保存整数的16个caller saved 寄存器。 正常一个中断函数的寄存器保...
接着以WCH沁恒微电子的赤菟V103(CH32V103)和赤菟V307(CH32V307)两款RISC-V内核芯片来详细说下针对RISC-V平台,移植实时操作系统的注意点。 今天聊下移植RTOS时RISC-V内核时单片机任务栈保存哪些内容。 上一章中列举了所有的寄存器,当需要切换任务时刻的寄存器值,除x0恒为0,其他的寄存器无法预知其值,切换时均...
基于RISC-V内核单片机移植RTOS实时操作系统(四) 接着以WCH沁恒微电子的赤菟V103(CH32V103)和赤菟V307(CH32V307)两款RISC-V内核单片机来详细说下针对RISC-V平台,移植实时操作系统的注意点。 今天聊下移植RTOS时RISC-V内核时单片机任务之间的切换。 了解了如何切换至第一个任务,如何实现不同任务之间的切换呢。在...
FreeRTOS任务调度器开启依赖svc中断与vTaskStartScheduler函数,在cortex-m4系列芯片完成CPU、外设与中断等硬件资源初始化进入到主要函数main函数后,创建项目运行的所需任务,调用vTaskStartScheduler函数开启FreeRTOS任务调度(如下图所示)。 FreeRTOS在任务调度器的启动阶段,会默认自动创建idle任务,idle任务优先级默认为系统最...
她指出,支持RISC-V的开源工具和软件的开发是主要的挑战,然后说明并支持在高端和中间阶段的采用。然后是要有可靠的例子,参考跨行业特定的实现,如汽车。“这非常重要”。 1.SylixOS,这款嵌入式RTOS值得学习! 2.芯片短缺或将结束?数据来说话。。。 3.代码...