rtos
z_space
这个作者很懒,什么都没留下…
展开
-
(1)自写zrtos,实现多任务,多优先级,支持消息邮箱,信号量等的简易操作系统
该系统是我在阅读了ucos后,并且借鉴了其它操作系统后实现的,完成了一些基础的工作,可以拿过来学习,也可以进行简单的应用。声明:仅供学习!要自写一个操作系统,我们首先要实现的就是任务切换,再其次是任务调度(高优先级先执行,同优先级时间片分割执行),然后再是消息邮箱,信号量,互斥量等等。下面我们来看看任务切换的实现,这部分的代码只能由汇编语言来完成,在handler.s中有任务切换的具体原创 2016-08-22 08:42:53 · 1389 阅读 · 0 评论 -
(2)自写zrtos API详细解释
这下来看看zrtos相关的api函数吧,顺便我也将源码传上来:(任务)task相关的api: void start_os(void);start_os:开始操作系统的任务调度 void open_scheduling(void);open_scheduling:调用该函数将会立刻立刻进行任务调度,任务自己放弃cpu void enter_int(void);endter原创 2016-08-22 09:14:41 · 898 阅读 · 0 评论 -
evmc6678 dsp6000上的fatfs+ftp的实现
前面我已经发过一个贴子说明了fatfs移植的实现,但是那个还是存在bug,这次我把它修复了,并且在上面我还移植了ftp服务器,下面我们来看看发ftp的移植吧, ftp移植我使用的是tingftp,这个ftp服务器是开源的,并且实现了标准的ftp命令,官网是这么说的,但是我在windows下测试的时候,发现有两条命令不一样,所以进行了一点点小小的修改。ftp测试工具使用的是win下面cmd中自带的f原创 2016-09-27 10:48:12 · 2317 阅读 · 3 评论 -
在没有MMU功能的单片机上实现动态应用程序加载
在没有mmu的cpu上实现动态加载的功能。mmu:拥有虚拟地址映射的功能。在没有mmu的设备上实现动态加载是可能的,两种方法。1)我们知道局部变量占用的是堆栈的内存,全局变量和静态变量占用的是静态存储区,而静态存储区的地址是一个绝对的地址。所以要想实现动态模块的加载,我们不能够去使用全局变量和静态变量,解决方案是通过内存申请来解决。还有一个问题就是在使用函数指针的时候,其实也是一个绝对的地址,那我...原创 2018-05-07 20:36:50 · 4564 阅读 · 6 评论