亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ucos學習報告之c8051f060移植篇.txt

?? UCOS學習報告之C8051F060移植篇.rar UCOS學習報告之C8051F060移植篇.rar
?? TXT
字號:
UCOS學習報告之C8051F060移植篇


   掩飾不住內心的喜悅,我用了6天就將UCOS移植到C8051F060,這期間得到了楊屹,牛毅,郝剛等廣大網友的幫助,在此一并表示感謝。本文來自于網絡,落葉于網絡,回饋給像我一樣不知該怎么入門的網友,若你能從中學到什么或有同感,我將甚感欣慰。若你要拍磚砸我,請讓我死的瞑目(呵呵,開個玩笑,真心希望你的頂,我們一塊討論,一塊進步)各位網友說過的已經比較明了的問題我就不說或少說
前言:我以前學過2個月的ARM7+uClinux,深知移植的難處,那時叫交叉編譯,我當時就交叉編譯這個概念就1個星期沒搞懂,當面對開發板移植好的uClinux心里總是不甘心,心想自己也想移植一個,可眼睜睜的看了好一段時間,就是不知道怎么下手,那么多代碼啊,(有同感的朋友頂一下啊)身邊又沒有做這一塊的,別人都學VxWorks,就這樣我把ARM當成了單片機用拉,看懂理解bootloader,然后遍一些簡單的程序,交叉編譯環境更是2個星期沒搞定。郁悶之中,項目選用了C8051F060,我又被該派成學習它,干一個愛一個啊,我就努力中。ARM7+uClinux成了我心中的遺憾。
  言歸正傳,本文章我們主要說一下移植過程中遇到的實際問題及我的切身體會,需要源碼和有疑惑者可來信,我將知無不言,言無不盡。(畢竟這是我第一篇啊)
我下面說一下我的移植體會,對于下面的問題我將給于解答,不對之處,敬請指出。說的時候頭一句,腳一句,讓大家笑話了^-^
1,    貝貝翻譯的書可按其說名看一邊,做到心中有數,以后再慢慢翻閱,知道一直要做那些工作即可。書中有個程序結構圖,看好好看,知道那些代碼跟移植有關,那些代碼跟應用程序有關
2,    找個源嗎仔細研究,對于51+KEIL推薦楊屹大俠的,他的思路比較清晰,我就是按他的程序,結構思路來的。
3,    分析一個C函數,和4個匯編函數,想一想,為什么要自己編寫它,寫完了干什么?它們是怎么運動的?想想這些函數名一定要定義這個樣子嗎,能寫成其他的樣子嗎?
4,    仔細看看里面的C語言知識,這是你可能回發現這我們平時用的簡單的C51知識點多多了。
5,    OS里面很注重保護,保護各種各樣的量,重入函數本身就是一種保護它的局部變量,由于我接觸過VC++,了解了里面的多線程編程,所以對這一塊我比較好理解些。時間一長,大家就會明白。
6,    對移植來說我感覺一個難點是堆棧的設計,我比較了牛毅和楊屹的堆棧設計,一開始我心中有好多疑惑如何保證用戶堆棧在片外,局部變量如何保存才不被破壞
7,    時間節拍函數是怎么回事,理解了其工作原理之后,我該怎么提筆寫程序,這是像我這樣的初學著深深體會的,(自己曾有過不少這樣的體會,我學習C8051F060的CAN總線時就時這樣,看了一個星期后,就感覺差不多了,就是不知道程序該怎么寫,心理想誰要是能給我一個例程,我可能很快就上手,一天晚上當我得到例程,第二天我高興的5點就起床了,一天就感覺胸有成竹了,然后就沒什么了)看來,像我這樣的網友們水平都一般,但好在大伙都學習的激情,相信日積月累我們會有收獲的,相信有一天,我們能達到自己認為理解了的東西,都能夠用程序實現出來。
8,    最后就是結合自己要移植的硬件,我原別人移植好的該程序,這期間會遇到各種各樣的問題,正如不幸的家庭千奇百狀。后文我會提出一些。
  不知大家看到這里有什么體會,我是針對入門著來說的,高手可不必看了,如果看,一定要提寶貴意見啊,呵呵,手都敲累了,休息5分鐘。
繼續,下面我解答上面的問題和針對KEIL+ C8051F060具體細節做出說明,是本文的關鍵。
   C8051F060有256B+4K的片內RAM,如果用戶的任務消耗資源不是太多的話,應該不用外括。
1,對于KEIL我們要裝上新華龍提供的驅動,并選用硬件仿真,點擊一旁的SET,彈出對話框,選用COM3,其它的都默認即可。點擊確定返回。這樣KEIL下編譯環境就建立好了,把所需文件加到工程里即可,在option for target 里面選用large模式,c429:  'data' segment too large就是沒設置large模式造成的錯誤。我寫這篇文章的時候沒有keil環境(在別人的機器上),有些單詞或說明的不準確,但我相信不防礙我思想的表達,設置好后,編譯連接生成目標文件后,即可點擊那個帶d的按鈕,激動人心的時刻到來了,你會發現flash正在燒寫,我第一次看到時高興的跳了起來,那種感覺太爽了。
   2,我說一下在編譯過成中我遇到的問題,首先是工程里的包含文件,startup.a51要使用,并修改RAM的地址,大家看一下我的源碼即可明白。對于UCOS的SOURCE源代碼只包含ucos_ii.c即可,因為它里面包含了源代碼。下面我將按要修改的文件分別說明。
a)    INCLUDES.h是個主包含文件你要把所有的頭文件都要放在里面。
b)    OS_CFG。H決定了你編譯文件的取舍
c)    OS_CPU_A.asm中只要把別人移植好的理解后,需要改動的代碼只有時間節拍函數,針對C8051F060可把楊屹的serial函數去掉,直接printf即可。
d)    OS_CPU_C可不用改動。
e)    對于主測試程序,建議在每個任務中對不需要打斷的代碼中加上保護,這就是上文中所說的保護,否則輸出的是被打斷的內容,大家一看我的源碼即可明白
f)    對于編譯的文件就簡單的說以上5點,下面說以下各位大俠給我的意見,在次一并轉給各位網友。牛毅回答的(僅供參考):
問:OSStartHighRdy等4個匯編子程序是否為可重入的?
答: 不可重入好些因為它們就不占?C_XBP空間
問:typedef bit               BOOLEAN;
     我看有的說一定要把 BOOLEAN定義成char
      答:這個定義要看實際聲明的變量怎么賦值
     問:在你的OS_STK  *OSTaskStkInit(。。。)中
stk      -= sizeof(void *);
         *(void **)stk   = (void *)os_pdata;  
答:stk      -= sizeof(void *);
*(void **)stk   = (void *)os_pdata;  
stk是指向?C_XBP的堆棧指針(堆棧類型是滿向下的);第一句是調整其指針使其空出(void *)個空間,第二句把stk強制轉換為(void *)類型后對其賦值
問:你是如何包證建立的用戶任務棧在片外ram的?我知道系統棧應該在片內的
答:把SP  COPY   到?C_XBP中OSTaskStkInit()函數就是模擬入棧
問:os_pdata(R3,R2,R1)用寄存器傳遞os_pdata實際應用中,通常是不是沒有參數
答:通常不用傳遞有效參數,就傳遞0,但必須有
     楊屹回答的(僅供參考):
     問:此外冒昧問一下你的OS_CPU_A.ASM沒有包含OS_CFG.H是為什么?
     答:不需要的頭文件不必包含
問:對于可重入函數,只加上那個關鍵字就可以嗎?我看有些移植的代碼中對他操作了好多,都很難看懂了,麻煩你說一下,另外我看了你的關于重入函數 說明的文檔,對這個問題還是不太理解
答:重入函數加上關鍵字并處理仿真堆棧指針
    問:upstart51.a這個文件有什么用,和設置的堆棧關系大嗎?好像是跟堆棧有關系
答:startup51是初始化文件,用于初始化指針、內存等
3,對C語言的知識我想說明2點,extrn是用來聲明外部定義好的,在本程序中的應用。
   Public是聲明定義在本程序中,將來讓另外的文件調用的,是預留的接口。
4,有些函數名不一定要定義成書上說的樣子,只要函數原型聲明對了即可
5,對于時間節拍函數是用我們的硬件定時器產生的,大家一看就明白。
好了,手又敲累了,想必大家也看累了。羅嗦了這些,希望能對大家有那么一點點幫助,我這段時間來的付出就沒有白費,歡迎大家和我交流。同時也希望大家多支持我的UCOS學習報告,我會繼續學習,有什么體會繼續發表出來,將來還會把ARM+linux的遺憾彌補掉。
語言草率之處,請大家涼解,技術錯誤之處,再次懇請之處,讓我們共同進步。
最后感謝我的女朋友一直支持我的工作,原諒我陪她逛街的次數一壓再壓,以至于我們2個星期沒好好玩了。

QQ:12928376
EMAIL:shan318@163.com

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情小说亚洲一区| 精品视频在线视频| 欧美色综合网站| 久久久99精品免费观看不卡| 亚洲人成网站精品片在线观看| 精品一区二区三区香蕉蜜桃| 国产一区二区在线影院| 欧美吞精做爰啪啪高潮| 国产精品网站导航| 麻豆91精品视频| 精品视频一区三区九区| 国产精品久线观看视频| 久久不见久久见免费视频1| 在线视频国产一区| 国产精品视频在线看| 国内成人自拍视频| 91精品国产综合久久精品| 日韩高清国产一区在线| 成人黄色国产精品网站大全在线免费观看| 免费人成在线不卡| 色av一区二区| 中文字幕第一区二区| 麻豆成人在线观看| 欧美一区二区三区视频免费| 亚洲国产日韩综合久久精品| av电影天堂一区二区在线观看| 99视频在线精品| 国产欧美日韩精品在线| 国产成人午夜视频| 久久综合给合久久狠狠狠97色69| 亚洲精品一区二区三区精华液| 精品久久久久久久久久久久久久久久久 | 7777精品伊人久久久大香线蕉超级流畅 | 成人激情免费网站| 日韩丝袜情趣美女图片| 亚洲国产另类av| 欧美猛男gaygay网站| 亚洲图片欧美一区| 欧美日本高清视频在线观看| 午夜欧美2019年伦理| 欧美日韩在线三级| 日韩不卡一区二区| 精品卡一卡二卡三卡四在线| 激情六月婷婷久久| 久久久久久久综合日本| 国产精品亚洲а∨天堂免在线| 日本特黄久久久高潮| 欧美一级精品在线| 另类的小说在线视频另类成人小视频在线| 日韩理论在线观看| 国产不卡视频在线观看| 亚洲欧洲韩国日本视频 | 欧美一区二区三区思思人| 日本不卡一区二区三区| 精品国产1区2区3区| 国产精品亚洲综合一区在线观看| 91麻豆免费看片| av在线不卡免费看| 国产精品乱码一区二区三区软件| 五月天一区二区| 欧美mv日韩mv| 91免费在线看| 蜜臀av性久久久久蜜臀aⅴ| 国产欧美日韩综合精品一区二区| 香蕉成人伊视频在线观看| 欧美日韩国产中文| 国产一区二区美女诱惑| 亚洲精品乱码久久久久久日本蜜臀| 国产一区二区在线观看免费| 国产精品拍天天在线| 色婷婷国产精品久久包臀| 美女一区二区视频| 亚洲久本草在线中文字幕| 欧美一区二区精品在线| 国产69精品久久777的优势| 亚洲一区二区av电影| 久久久精品一品道一区| 欧洲日韩一区二区三区| 国产成人三级在线观看| 亚洲国产精品一区二区久久| 中文字幕+乱码+中文字幕一区| 国产精品一二一区| 亚洲成人你懂的| 国产精品色呦呦| 欧美一级理论片| 在线观看中文字幕不卡| 顶级嫩模精品视频在线看| 日韩成人免费看| 亚洲视频图片小说| 欧美经典一区二区三区| 欧美电影一区二区| 色素色在线综合| 国产成人小视频| 老司机午夜精品| 日韩成人精品视频| 偷拍亚洲欧洲综合| 一区二区欧美在线观看| 国产精品国产三级国产普通话99| 91在线视频观看| 国产电影一区在线| 精品系列免费在线观看| 石原莉奈在线亚洲二区| 国产**成人网毛片九色 | 欧美高清精品3d| 91美女蜜桃在线| 99精品国产91久久久久久| 国产自产高清不卡| 狠狠狠色丁香婷婷综合激情| 日韩精品一二三区| 三级欧美在线一区| 日韩电影一二三区| 日本亚洲视频在线| 久久精品国产一区二区| 香蕉影视欧美成人| 日韩精品亚洲专区| 日韩在线卡一卡二| 免播放器亚洲一区| 美女视频第一区二区三区免费观看网站| 精品美女在线播放| 欧美va亚洲va国产综合| 日韩女优视频免费观看| 日韩一区二区不卡| 欧美精品一区二区三区视频| 日韩欧美中文字幕公布| 日韩精品一区二区三区中文不卡 | 欧美一区二区黄| 91麻豆精品国产91久久久久| 成人国产精品免费观看动漫| 成人黄色777网| 91麻豆免费视频| 欧美日韩国产中文| 欧美一区二区三区在线视频| 日韩精品一区二区在线| 日产精品久久久久久久性色| 免费成人在线观看| 国产不卡在线一区| 奇米四色…亚洲| 成人综合在线观看| 本田岬高潮一区二区三区| 色94色欧美sute亚洲13| 在线播放91灌醉迷j高跟美女 | 狠狠色丁香久久婷婷综合_中| 国产精品欧美一级免费| 亚洲精品一二三| 三级久久三级久久久| 国产精品综合av一区二区国产馆| 中文字幕一区二区三区乱码在线 | 一级做a爱片久久| 日韩av中文在线观看| 韩国精品主播一区二区在线观看| 一区二区三区在线免费播放| 日韩中文字幕91| 成人精品鲁一区一区二区| 欧洲人成人精品| 久久久蜜臀国产一区二区| 亚洲免费在线观看| 日韩极品在线观看| www.亚洲在线| 91精品国产乱| 久久久精品人体av艺术| 亚洲成av人片一区二区三区| 国产精品综合av一区二区国产馆| 日本视频一区二区三区| 国产成人在线色| 欧美一区二区免费观在线| 国产精品久久二区二区| 久久精品国产色蜜蜜麻豆| 色网站国产精品| 国产女同性恋一区二区| 日韩专区一卡二卡| 色av一区二区| 国产精品短视频| 国产精品一二一区| 欧美成人三级电影在线| 香蕉av福利精品导航 | 日韩毛片视频在线看| 黑人巨大精品欧美黑白配亚洲| 亚洲第一成人在线| 99久久er热在这里只有精品15| 成人高清视频在线| 精品国产伦一区二区三区免费| 精品久久久久久最新网址| 亚洲男人的天堂av| 成人一区二区在线观看| xfplay精品久久| 久久国产精品99久久久久久老狼 | 亚洲国产aⅴ天堂久久| 国产v综合v亚洲欧| 亚洲精品在线免费观看视频| 日韩av二区在线播放| 91.成人天堂一区| 亚洲一区在线观看免费 | 精品无人区卡一卡二卡三乱码免费卡| 蜜桃一区二区三区在线| 欧美日韩卡一卡二| 一区二区三区四区高清精品免费观看| 一区二区三区日韩| 91色视频在线| 一区视频在线播放| 成人av网在线|