| 在51單片機(jī)上硬件仿真uCOS51的說(shuō)明 巨龍公司系統(tǒng)集成開發(fā)部 楊屹 asdjf@163.com_ 2002/11/26 討論4----uCOS51仿真 zyware網(wǎng)友2002/11/22來(lái)信詢問uCOS51在單片機(jī)上的硬件仿真問題,具體情況是“在51上用uCOS51核,以及一些構(gòu)件,keilc上仿真通過,用wave接硬件仿真程序亂飛,wave仿真以前的程序沒有問題,不知是何緣故”。 由于我的OS程序已經(jīng)在KEIL軟件仿真和硬件上實(shí)際測(cè)試過,所以不可能是程序錯(cuò)??赡艿脑蛑荒苁怯布抡孳浖O(shè)置問題。本人用的是Medwin軟件,在Insight上調(diào)試,使用uCOS51編譯測(cè)試程序一樣跑飛。即使添加修改后的startup.a51(詳見《在51單片機(jī)上固化uCOS51的說(shuō)明》)也不正常。我發(fā)現(xiàn)Medwin似乎沒有編譯startup.a51,因?yàn)樗言撐募釉诹薿ther Files目錄下而不是source Files目錄,于是我猜測(cè)只有放在source Files目錄下的文件才被編譯。由觀察知,以.c和.asm做后綴的文件均被放在此目錄下且被編譯。于是我立即將startup.a51改成startup.asm并加入項(xiàng)目編譯,結(jié)果測(cè)試正常。不必?fù)?dān)心startup改名造成沖突,KEIL在鏈接目標(biāo)文件時(shí)會(huì)自動(dòng)處理重名段,本目錄的文件優(yōu)先級(jí)高(我是這么理解的,具體原理不清楚,這只是根據(jù)實(shí)踐得到的結(jié)論,希望了解此處理過程的朋友能告之,不勝感激。)。 具體做法如下: 1。按《在51單片機(jī)上固化uCOS51的說(shuō)明》一文修改startup.a51,并將其更名為startup.asm。 2。將startup.asm、yy1.c、os_cpu_c.c、ucos_ii.c、os_cpu_a.asm五個(gè)文件加入項(xiàng)目編譯。 3。運(yùn)行 |