久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
Embedded OS 移植筆記by 小ARM菜菜
[打印本頁]
作者:
xuwei
時間:
2015-6-13 16:14
標題:
Embedded OS 移植筆記by 小ARM菜菜
剛剛移植了一個新的操作系統(tǒng)運行,總起來說基本上系統(tǒng)大同小異,不一樣的是代碼的精簡程度和工作方式,很小的系統(tǒng)內核就不要奢望他封裝成內核對象了,因為對象勢必會消耗過多的RAM和ROM,所以基本上很小的內核大部分用線程隊列的方式來搞。大家都在一個線程的隊列中,當然內核再小也需要TCB控制,再小也需要內存,IPC通信一個不少,值得注意的是,任務是有限的,因為他要運行的系統(tǒng)都是資源非常局促,緊張之流!目前為止。我裸系統(tǒng)編譯完畢后ROM用量僅僅3.7K,RAM用量1.8K顯然這真是要命啊,超級小!并且這包括了所有的系統(tǒng)提供的微庫文件,真是要命!。而這一切,僅僅是個開始!適合對于小芯片chip os解決方案!
作者:
xuwei
時間:
2015-6-13 16:15
前些日子看C++注意到內聯函數inline,其實在嵌入式C開發(fā)中也是支持的,只不過編譯器有封裝了一層,這是內聯函數,盡量的短使用頻繁,的function可以inline聲明他,不過現在編譯器已經具有優(yōu)化功能了,過于冗長的也會主動封裝成普通函數,
信號量的概念其實不難理解,重要的是記住他的初始化的值,假設有一個任務等待那么他的值初始化應該=1,N個應該等于N,得到了信號量就得到了進入線程的鑰匙,等不到就超時掛起或者掛起一直永遠等待。使用起來就變得簡單了。IPC是基本相同的,舉一反三的事情了。
在面向對象的內核編程里面上層已經把底層的硬件完全抽象了,那么對于底層的硬件來說他們的方法和屬性,對象要封裝吧,然而不可能把所有的方法都封裝到對象里,但是上層還不希望直接看到對硬件流的操作,那么怎么解決這個問題呢? 顯然指向函數的指針就成了一個好的解決辦法,這樣上層操作系統(tǒng)的處理就是加載一個對象中的方法,而硬件卻執(zhí)行了一次函數調用,操作了硬件,哈哈哈,很好的結局。
最后說下網絡流操作,網絡組件靠硬件中斷觸發(fā),然后對數據包進行檢測,是否有效載荷,如果有效,那么給操作系統(tǒng)發(fā)送郵箱,系統(tǒng)建立一個靜態(tài)線程,等待,喚醒后執(zhí)行對緩存的加載任務,把有效載荷加載到動態(tài)內存分配的當前緩存中去,最后送入協(xié)議棧中,至此硬件的任務完成,而上層則是通過socket完成。這樣上層和底層通過棧連接起來。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
美女在线国产
|
亚洲欧美一区二区三区国产精品
|
欧美日韩在线一区二区三区
|
999免费观看视频
|
91精品国产91久久久久游泳池
|
日韩精品一区二区在线观看
|
久久久精品日本
|
成人在线观看免费
|
成人久久网
|
四虎影视免费观看
|
亚洲精品1区
|
一区二区三区国产好的精
|
精品欧美乱码久久久久久
|
亚洲自拍偷拍免费视频
|
国产综合视频
|
天天干天天玩天天操
|
成人精品视频在线观看
|
中文字幕第49页
|
波多野结衣中文字幕一区二区三区
|
91av入口
|
亚洲精品自拍视频
|
亚洲国产精品一区二区三区
|
日韩欧美亚洲一区
|
在线观看三级av
|
精品国产91乱码一区二区三区
|
黄色免费av
|
国产欧美在线观看
|
亚洲欧美日韩一区二区
|
国产伊人精品
|
日本欧美视频
|
蜜月va乱码一区二区三区
|
欧美一区二区在线播放
|
久久蜜桃资源一区二区老牛
|
亚洲一区在线播放
|
www.亚洲视频
|
操久久
|
亚洲国产精品日韩av不卡在线
|
日韩国产欧美
|
国产亚洲www
|
精品小视频
|
国产黄色在线
|