最近 一直在折腾RTOS,对我来说要看懂,真的很不容易。跟预计的差不多,需要时间去 慢慢看 。现在连看懂的第一步还没走完。 已经一个礼拜了,每天晚上回家看 一两小时,总算已经到第3章了。刚开始看,一直停在第一章,随着深入,渐渐的 看不吃力了。原本汇编就能看懂点,但是没有 真正玩过汇编,所以导致我在看底层汇编时显得非常吃力。很多伪指令我找资料没找到。不过现在资料都全了,就 查下能看懂。现在也只能对代码每个细节都摸透再说,后来写的话是后话了。 到昨天晚上几乎摸到点头绪了,果然都是一些老资格才能写出来的。由于单片机的RAM非常有限。我的52只有256个字节。所以在里面嵌入操作系统,必须分配和管理好用户函数的栈。到 目前为止已经知道怎么进入一个任务,又怎么跳转到另个任务,软中断。大体上已经有了影子了,后面的就会容易多了。这些寄存器的保存和PC指针的修改,果然很底层,是一个经常玩汇编的人才能写出来的。现在学的C语言其实有点对寄存器的操作屏蔽了,程序员不必知道到底寄存器之间怎么运算的,只要按模式写代码。学习这个操作系统的时候,我也学会了不断翻看ROM和RAM中某地址的值,学会看各个寄存器中直,也尝试看汇编代码。 想想真的佩服那些写操作系统的人。以前有本叫高手箴言,我在做软件开发时,硬是没看明白,感觉非常的难,不过昨晚不经意的看了下,已经能看出点名堂了,果然写这个人和我之间的距离如隔天地。他站在一个山峰上看着平地的我。他对window操作系统的分析让我感觉到了 他的高度。我现在连8位单片机得操作系统都搞得一头包,他已经透析32、64的操作系统了。 呵呵,不知道什么时候可以写个自己的单片机操作系统,估计也不需要太久的时间了。 |