欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3190|回復(fù): 1
收起左側(cè)

Embedded OS 移植筆記by 小ARM菜菜

[復(fù)制鏈接]
ID:82781 發(fā)表于 2015-6-13 16:14 | 顯示全部樓層 |閱讀模式

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





回復(fù)

使用道具 舉報(bào)

ID:82781 發(fā)表于 2015-6-13 16:15 | 顯示全部樓層
           前些日子看C++注意到內(nèi)聯(lián)函數(shù)inline,其實(shí)在嵌入式C開(kāi)發(fā)中也是支持的,只不過(guò)編譯器有封裝了一層,這是內(nèi)聯(lián)函數(shù),盡量的短使用頻繁,的function可以inline聲明他,不過(guò)現(xiàn)在編譯器已經(jīng)具有優(yōu)化功能了,過(guò)于冗長(zhǎng)的也會(huì)主動(dòng)封裝成普通函數(shù),
        信號(hào)量的概念其實(shí)不難理解,重要的是記住他的初始化的值,假設(shè)有一個(gè)任務(wù)等待那么他的值初始化應(yīng)該=1,N個(gè)應(yīng)該等于N,得到了信號(hào)量就得到了進(jìn)入線程的鑰匙,等不到就超時(shí)掛起或者掛起一直永遠(yuǎn)等待。使用起來(lái)就變得簡(jiǎn)單了。IPC是基本相同的,舉一反三的事情了。

      在面向?qū)ο蟮膬?nèi)核編程里面上層已經(jīng)把底層的硬件完全抽象了,那么對(duì)于底層的硬件來(lái)說(shuō)他們的方法和屬性,對(duì)象要封裝吧,然而不可能把所有的方法都封裝到對(duì)象里,但是上層還不希望直接看到對(duì)硬件流的操作,那么怎么解決這個(gè)問(wèn)題呢? 顯然指向函數(shù)的指針就成了一個(gè)好的解決辦法,這樣上層操作系統(tǒng)的處理就是加載一個(gè)對(duì)象中的方法,而硬件卻執(zhí)行了一次函數(shù)調(diào)用,操作了硬件,哈哈哈,很好的結(jié)局。

     最后說(shuō)下網(wǎng)絡(luò)流操作,網(wǎng)絡(luò)組件靠硬件中斷觸發(fā),然后對(duì)數(shù)據(jù)包進(jìn)行檢測(cè),是否有效載荷,如果有效,那么給操作系統(tǒng)發(fā)送郵箱,系統(tǒng)建立一個(gè)靜態(tài)線程,等待,喚醒后執(zhí)行對(duì)緩存的加載任務(wù),把有效載荷加載到動(dòng)態(tài)內(nèi)存分配的當(dāng)前緩存中去,最后送入?yún)f(xié)議棧中,至此硬件的任務(wù)完成,而上層則是通過(guò)socket完成。這樣上層和底層通過(guò)棧連接起來(lái)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表