|
前几天拿到了友善的mini2440,更加促发了自己的学习兴趣,根据说明书开始了基本的操作,通过联机下载了厂家提供的ucos的镜像BIN文件,ucos示例程序显示在屏幕上了,界面颇似IPHONE。
我是从uc/os 2开始学习的,源代码也看了一段时间,不过内核很多函数不是一下就能记住并理解的,就算是理解也是肤浅的,决定在实践中慢慢深化。
产生了若干问题:
1.系统内核那么多的函数,而我们的编译器在链接的过程中应该只会把主函数直接调用或间接调用的函数的代码添加进来,这么一来,编译的内核岂不是不完整?
2.又突然想到前几天看到网友的学习ucos心得,他说任务调度的基本方式(所有操作系统)有3种:1.时间片。2.可剥夺内核通过中断来完成任务切换。3.通过进程通信。第三点我深有疑问,调度没有发生前,那没有占用CPU的进程怎么会给正在占用CPU的进程发消息呢,令他让出CPU使用权,难道发消息不需要CPU的参与?这不可能吧,或者是第三点说法本身就是有误?
3.某宏定义如下:
#define rBWSCON (*(volatile unsigned *)0x48000000)
可否换成:
#define rBWSCON 0x48000000
为什么?
先做下记号,以后回头理解,请高手不吝赐教。
|
|