菜鸟学uC/OS_II(9)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
By <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Norman
2008-7-17
写在前面:
邵老师的书看了一遍,扪心自问,看的不算马虎,内核代码功能都研究了一遍,虽然有很多地方还是不太明白,但至少内核能做什么事情还是心中有数的;书上在PC上的移植程序跑过,也修改过,算是一种感性认识;参照学校嵌入式实时操作系统课程中的一些例程,对内核功能进行了一些实验,不敢说完全弄懂(至少有个地方:OSQPost()和OSQPostFront()为何实现的结果是一样的,始终不太明白),但也有了更深的感性认识。按照我的习惯,书读一遍肯定有遗漏的地方,甚至两遍三遍也会有很多;因此,再读几遍是有必要的。但是,我觉得我应该先放一放,不要这么快就去重复,我认为这样有可能在某些地方会走进老路,钻进牛角尖就不好了,问题还是得不到解决;所以,我决定先换个平台,现在去熟悉一下ARM的硬件平台,还有uC/OS_II在ARM上的移植等等,并且多看看资料,找找网上同类问题,见多一些同行们遇到的情况,对我的疑惑应该很有帮助。
到ARM上就不是一个PC就可以搞定的了;所幸,我从05级师兄哪里交接到一个EasyARM2131的ZLG开发板,正好用来做移植学习。这个板子看起来不咋样,但是做一些简单的实验应该是够了的,先用来熟悉一下ARM7的体系结构,以后再利用实验室其他平台如ARM9等进行新的探索。
好啦,闲话少说,先来联通板子,跑一跑例程吧……
郁闷,第一天就遇到了问题
利用ADS调试程序,不是很难,H_JTAG也就是一个动态库而已;DebugInRAM调试很顺利,自然,我修改了一下程序,加了几个灯(原来就是蜂鸣),然后再DebugInRAM,也很顺利;然后DebugInFlash,发现连不通。这个ADS的AXD也真的不怎么样,这是我的感受,感觉不稳定,又不是很方便,以前用Keil调单片机的感觉一下子就不见了,急啊,看来以后还是得转向KeilARM(不过ADS有添加模板还不错)。连不通吧,那就手动下载好了,利用H_Flasher,设置,编程,这回是下载成功了,也能够运行,不过接下来我就傻眼了:JTAG连不上了?!哪有这样的呀?排除了很多情况,包括电路板的跳线,不行!折腾了一晚上,实验室都关门了,没办法,先回家。
天气热,又想着这事,睡不着,上网查查。果然有这样的问题:JTAG的复用问题!初来乍到,我做了一件蠢事:PIN2SEL = 0x00000000(??);把JTAG给屏蔽了!唉,只有用ISP擦除Flash再编程下载吧。
(这里要注意的是,可能是由于引脚电压的问题,2.2.2版本的ISP好像不能联通,2.2.1版本却能够使用)。
严格来讲,不完全是我的问题,Fhilips节约引脚也太厉害了,这不是害我们这些新手么?还好有这些好心的前辈大虾们出面。唉,问题解决了,心情也好一点了^_^。
妈呀……刚解决了问题,居然碰到停电!小伙,这么热的天,不要开这种玩笑好不好……
文章评论(0条评论)
登录后参与讨论