久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2449|回復: 1
打印 上一主題 下一主題
收起左側

Embedded OS 移植筆記by 小ARM菜菜

[復制鏈接]
跳轉到指定樓層
樓主
ID:82781 發表于 2015-6-13 16:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

  剛剛移植了一個新的操作系統運行,總起來說基本上系統大同小異,不一樣的是代碼的精簡程度和工作方式,很小的系統內核就不要奢望他封裝成內核對象了,因為對象勢必會消耗過多的RAM和ROM,所以基本上很小的內核大部分用線程隊列的方式來搞。大家都在一個線程的隊列中,當然內核再小也需要TCB控制,再小也需要內存,IPC通信一個不少,值得注意的是,任務是有限的,因為他要運行的系統都是資源非常局促,緊張之流!目前為止。我裸系統編譯完畢后ROM用量僅僅3.7K,RAM用量1.8K顯然這真是要命啊,超級小啊!并且這包括了所有的系統提供的微庫文件,真是要命啊!。而這一切,僅僅是個開始!適合對于小芯片chip os解決方案!





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:82781 發表于 2015-6-13 16:15 | 只看該作者
           前些日子看C++注意到內聯函數inline,其實在嵌入式C開發中也是支持的,只不過編譯器有封裝了一層,這是內聯函數,盡量的短使用頻繁,的function可以inline聲明他,不過現在編譯器已經具有優化功能了,過于冗長的也會主動封裝成普通函數,
        信號量的概念其實不難理解,重要的是記住他的初始化的值,假設有一個任務等待那么他的值初始化應該=1,N個應該等于N,得到了信號量就得到了進入線程的鑰匙,等不到就超時掛起或者掛起一直永遠等待。使用起來就變得簡單了。IPC是基本相同的,舉一反三的事情了。

      在面向對象的內核編程里面上層已經把底層的硬件完全抽象了,那么對于底層的硬件來說他們的方法和屬性,對象要封裝吧,然而不可能把所有的方法都封裝到對象里,但是上層還不希望直接看到對硬件流的操作,那么怎么解決這個問題呢? 顯然指向函數的指針就成了一個好的解決辦法,這樣上層操作系統的處理就是加載一個對象中的方法,而硬件卻執行了一次函數調用,操作了硬件,哈哈哈,很好的結局。

     最后說下網絡流操作,網絡組件靠硬件中斷觸發,然后對數據包進行檢測,是否有效載荷,如果有效,那么給操作系統發送郵箱,系統建立一個靜態線程,等待,喚醒后執行對緩存的加載任務,把有效載荷加載到動態內存分配的當前緩存中去,最后送入協議棧中,至此硬件的任務完成,而上層則是通過socket完成。這樣上層和底層通過棧連接起來。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人免费视频网站视频社区 | 成人精品久久日伦片大全免费 | 亚洲综合天堂网 | 手机在线观看 | 免费欧美| 亚洲精品视频在线播放 | 涩涩视频在线观看 | 我想看一级黄色毛片 | 亚洲一区国产精品 | 狠狠躁18三区二区一区 | 国产精品一区二区在线 | 久久91| 黄色免费在线网址 | 欧美一区二区三区在线 | 国产69精品久久99不卡免费版 | av片网站 | 日韩在线资源 | 精品国产欧美一区二区三区成人 | 久草精品视频 | 精品久久久久久久久久久久久久 | 亚洲视频在线看 | 日本亚洲欧美 | 日韩欧美国产一区二区 | 亚洲视频手机在线 | 亚洲巨乳自拍在线视频 | 欧美 日本 国产 | 国产视频在线一区二区 | 色中文在线 | 91热爆在线观看 | 欧美精品综合在线 | 欧美激情综合五月色丁香小说 | 国产成人av在线播放 | 国产亚洲第一页 | 中文字幕综合 | 在线观看av网站永久 | 中文字幕国产精品 | 国产九九九九 | 国产精品欧美一区二区三区 | 国产精品永久免费 | 九九热在线视频免费观看 | 精品久草|