O
opentdoors
Guest
您好每个人的!
我在这个论坛的新成员。我来自越南作为一个电子工程师。
我试图设计基于89C52与8KB的RAM的分机上的RTOS内核。它只是学习的方式实时Linux操作系统。
我evalution董事会由在0x8000与8K的内存(6264)89C52的。有16个在我的设计任务,每个任务有一个256字节的外部存储器。例如:
-任务从0x8000到0x80FF分机号负责0
-任务1 ---------------------- 0x8100到0x81FF
...
-任务15 ---------------------- 0x8F00到0x8FFF
使DPH = task_id或80,达莱马= 0x00到0xFF。
每个任务有一个字节计数器。当定时器中断发生,应对任务是递减的,如果任务计数器达到零
, 那么这个任务就绪状态。
计数器阵列放置在内部RAM中,由R0 ponted。当一个任务在运行,它会调用一个Ondelay重置其反。
还有其他两个数组的内部RAM中,信号量(仅二进制信号量)阵列和事件的数组。当一个任务也是在空闲模式下
, 直到一个计时器中断发生在等待状态的信号,8051的CPU。当一个任务处于等待状态的事件,它的奥尔韦转sheduler例程。
Sheduler是计数器阵列为基础的例行改变任务的两个变量编号:running_id和blocke_id,那么它调用context_switching节省内部封锁的任务堆栈来完成这项任务的外部记忆体,恢复堆栈的下一个任务的内容。新任务将在跑官“雷蒂”状态。
抱歉,下一次我会在后某些源代码8051 asm编写。
谢谢
最后由opentdoors编辑于05年2月16日7点24分,编辑1次共
我在这个论坛的新成员。我来自越南作为一个电子工程师。
我试图设计基于89C52与8KB的RAM的分机上的RTOS内核。它只是学习的方式实时Linux操作系统。
我evalution董事会由在0x8000与8K的内存(6264)89C52的。有16个在我的设计任务,每个任务有一个256字节的外部存储器。例如:
-任务从0x8000到0x80FF分机号负责0
-任务1 ---------------------- 0x8100到0x81FF
...
-任务15 ---------------------- 0x8F00到0x8FFF
使DPH = task_id或80,达莱马= 0x00到0xFF。
每个任务有一个字节计数器。当定时器中断发生,应对任务是递减的,如果任务计数器达到零
, 那么这个任务就绪状态。
计数器阵列放置在内部RAM中,由R0 ponted。当一个任务在运行,它会调用一个Ondelay重置其反。
还有其他两个数组的内部RAM中,信号量(仅二进制信号量)阵列和事件的数组。当一个任务也是在空闲模式下
, 直到一个计时器中断发生在等待状态的信号,8051的CPU。当一个任务处于等待状态的事件,它的奥尔韦转sheduler例程。
Sheduler是计数器阵列为基础的例行改变任务的两个变量编号:running_id和blocke_id,那么它调用context_switching节省内部封锁的任务堆栈来完成这项任务的外部记忆体,恢复堆栈的下一个任务的内容。新任务将在跑官“雷蒂”状态。
抱歉,下一次我会在后某些源代码8051 asm编写。
谢谢
最后由opentdoors编辑于05年2月16日7点24分,编辑1次共