毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.scb-ycwb.com/bbs/index.asp)
--  ARM技術(shù)討論專(zhuān)區(qū)  (http://www.scb-ycwb.com/bbs/list.asp?boardid=14)
----  ARM的開(kāi)發(fā)步驟  (http://www.scb-ycwb.com/bbs/dispbbs.asp?boardid=14&id=1439)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-11-18 8:54:19
--  ARM的開(kāi)發(fā)步驟
ARM的開(kāi)發(fā)步驟
1. 做個(gè)最小系統(tǒng)板:如果你從沒(méi)有做過(guò)ARM的開(kāi)發(fā),建議你一開(kāi)始不要貪大求全,把所有的應(yīng)用都做好,因?yàn)锳RM的啟動(dòng)方式和dsp或單片機(jī)有所不同,往往會(huì)遇到各種問(wèn)題,所以建議先布一個(gè)僅有Flash,SRAM或SDRAM、CPU、JTAG、和復(fù)位信號(hào)的小系統(tǒng)板,留出擴(kuò)展接口。使最小系統(tǒng)能夠正常運(yùn)行,你的任務(wù)就完成了一半,好在ARM的外圍接口基本都是標(biāo)準(zhǔn)接口,如果你已有這些硬件的布線(xiàn)經(jīng)驗(yàn),這對(duì)你來(lái)講是一件很容易的事情。
2. 寫(xiě)啟動(dòng)代碼,根據(jù)硬件地址先寫(xiě)一個(gè)能夠啟動(dòng)的小代碼,包括以下部分:
初始化端口,屏蔽中斷,把程序拷貝到SRAM中;完成代碼的重映射;配置中斷句柄,連接到C語(yǔ)言入口。也許你看到給你的一些示例程序當(dāng)中,bootloader會(huì)有很多東西,但是不要被這些復(fù)雜的程序所困擾,因?yàn)槟悴皇亲鲩_(kāi)發(fā)板的,你的任務(wù)就是做段小程序,讓你的應(yīng)用程序能夠運(yùn)行下去
3. 仔細(xì)研究你所用的芯片的資料,盡管ARM在內(nèi)核上兼容,但每家芯片都有自己的特色,編寫(xiě)程序時(shí)必須考慮這些問(wèn)題。尤其是女孩子,在這兒千萬(wàn)別有依賴(lài)心理,總想拿別人的示例程序修改,卻越改越亂。
4. 多看一些操作系統(tǒng)程序,在ARM的應(yīng)用開(kāi)放源代碼的程序很多,要想提高自己,就要多看別人的程序,linux,uc/os-II等等這些都是很好的原碼。
6.如果你是作硬件,每個(gè)廠(chǎng)家基本上都有針對(duì)該芯片的DEMO板原理圖。先將原理圖消化。這樣你以后做設(shè)計(jì)時(shí),對(duì)資源的分配心中有數(shù)。器件的DATSHEET一定要好好消化。
7.如果做軟件最好對(duì)操作系統(tǒng)的機(jī)理要有所了解。當(dāng)然這對(duì)軟件工程師來(lái)說(shuō)是小菜一碟。但如果是硬件出身的就有點(diǎn)費(fèi)勁。
問(wèn):做最小系統(tǒng)板是2層還是4層好?
答:只有AT91可以用兩層板,其他的最少4層;44b0的地和電源處理好也可用兩層板;
談四層板和33歐電阻:
選用四層板不僅是電源和地的問(wèn)題,高速數(shù)字電路對(duì)走線(xiàn)的阻抗有要求,二層板不好控制阻抗。33歐電阻一般加在驅(qū)動(dòng)器端,也是起阻抗匹配作用的;布線(xiàn)時(shí)要先布數(shù)據(jù)地址線(xiàn),和需要保證的高速線(xiàn);
在高頻的時(shí)候,PCB板上的走線(xiàn)都要看成傳輸線(xiàn)。傳輸線(xiàn)有其特征阻抗,學(xué)過(guò)傳輸線(xiàn)理論的都知道,當(dāng)傳輸線(xiàn)上某處出現(xiàn)阻抗突變(不匹配)時(shí),信號(hào)通過(guò)就會(huì)發(fā)生反射,反射對(duì)原信號(hào)造成干擾,嚴(yán)重時(shí)就會(huì)影響電路的正常工作。采用四層板時(shí),通常外層走信號(hào)線(xiàn),中間兩層分別為電源和地平面,這樣一方面隔離了兩個(gè)信號(hào)層,更重要的是外層的走線(xiàn)與它們所靠近的平面形成稱(chēng)為“微帶”(microstrip) 的傳輸線(xiàn),它的阻抗比較固定,而且可以計(jì)算。對(duì)于兩層板就比較難以做到這樣。這種傳輸線(xiàn)阻抗主要于走線(xiàn)的寬度、到參考平面的距離、敷銅的厚度以及介電材料的特性有關(guān),有許多現(xiàn)成的公式和程序可供計(jì)算。
33歐電阻通常串連放在驅(qū)動(dòng)的一端(其實(shí)不一定33歐,從幾歐到五、六十歐都有,視電路具體情況) ,其作用是與發(fā)送器的輸出阻抗串連后與走線(xiàn)的阻抗匹配,使反射回來(lái)(假設(shè)解收端阻抗沒(méi)有匹配) 的信號(hào)不會(huì)再次反射回去(吸收掉),這樣接收端的信號(hào)就不會(huì)受到影響。接收端也可以作匹配,例如采用電阻并聯(lián),但在數(shù)字系統(tǒng)比較少用,因?yàn)楸容^麻煩,而且很多時(shí)候是一發(fā)多收,如地址總線(xiàn),不如源端匹配易做。
這里梭說(shuō)的高頻,不一定是時(shí)鐘頻率很高的電路,是不是高頻不止看頻率,更重要是看信號(hào)的上升下降時(shí)間。通?梢杂蒙仙(或下降) 時(shí)間估計(jì)電路的頻率,一般取上升時(shí)間倒數(shù)的一半,比如如果上升時(shí)間是1ns,那么它的倒數(shù)是1000MHz,也就是說(shuō)在設(shè)計(jì)電路是要按500MHz的頻帶來(lái)考慮。有時(shí)候要故意減慢邊緣時(shí)間,許多高速I(mǎi)C其驅(qū)動(dòng)器的輸出斜率是可調(diào)的
構(gòu)造嵌入式Linux
Linux自身具備一整套工具鏈,容易自行建立嵌入式系統(tǒng)的開(kāi)發(fā)環(huán)境和交叉運(yùn)行環(huán)境,并且可以跨越嵌入式系統(tǒng)開(kāi)發(fā)中的仿真工具(ICE)的障礙。內(nèi)核的完全開(kāi)放使人們可以自己設(shè)計(jì)和開(kāi)發(fā)出真正的硬實(shí)時(shí)系統(tǒng),軟實(shí)時(shí)系統(tǒng)在Linux中也容易得到實(shí)現(xiàn)。強(qiáng)大的網(wǎng)絡(luò)支持使得可以利用Linux的網(wǎng)絡(luò)協(xié)議棧將其開(kāi)發(fā)成為嵌入式的TCP/IP網(wǎng)絡(luò)協(xié)議棧。
  Linux提供了完成嵌入功能的基本內(nèi)核和所需要的所有用戶(hù)界面,它是多面的。它能處理嵌入式任務(wù)和用戶(hù)界面。
  一個(gè)小型的嵌入式Linux系統(tǒng)只需要下面三個(gè)基本元素:
  * 引導(dǎo)工具
  * Linux微內(nèi)核,由內(nèi)存管理、進(jìn)程管理和事務(wù)處理構(gòu)成
  * 初始化進(jìn)程
  如果要讓它能干點(diǎn)什么且繼續(xù)保持小型化,還得加上:
  * 硬件驅(qū)動(dòng)程序
  * 提供所需功能的一個(gè)或更多應(yīng)用程序。
  再增加功能,或許需要這些:
  * 一個(gè)文件系統(tǒng)(也許在ROM或RAM)中
  * TCP/IP網(wǎng)絡(luò)堆棧
  下面我們就從精簡(jiǎn)內(nèi)核、系統(tǒng)啟動(dòng)、驅(qū)動(dòng)程序?qū)、X-Window換成MicroWindows四個(gè)步驟介紹嵌入式Linux的實(shí)際開(kāi)發(fā)。
  精簡(jiǎn)內(nèi)核
  構(gòu)造內(nèi)核的常用命令包括:make config、dep、clean、mrproper、zImage、bzImage、modules、modules_install。命令說(shuō)明略。
  現(xiàn)在舉個(gè)例子說(shuō)明一下:
  我使用的是 Mandrake內(nèi)附的 2.2.15。我沒(méi)有修改任何一行程序碼,完全只靠修改組態(tài)檔得到這些數(shù)據(jù)。
  首先,使用 make config 把所有可以拿掉的選項(xiàng)都拿得。
  不要 floppy;不要SMP、MTRR;不要 Networking、SCSI;把所有的 block device 移除,只留下 old IDE device;把所有的 character device 移除;把所有的 filesystem 移除,只留下 minix;不要 sound 支援。相信我,我己經(jīng)把所有的選項(xiàng)都移除了。這樣做之后,我得到了一個(gè) 188K 的核心。
  還不夠小嗎? OK,再加上一招,請(qǐng)把下列兩個(gè)檔案中的 -O3,-O2 用 -Os 取代。
  ./Makefile
  ./arch/i386/kernel/
  Makefile
  這樣一來(lái),整個(gè)核心變小了 9K,成為 179K。
  不過(guò)這個(gè)核心恐怕很難發(fā)揮 Linux 的功能,因此我決定把網(wǎng)絡(luò)加回去。把General中的 network support 加回去,重新編譯,核心變成 189 K。10K就加上個(gè) TCP/IP stack,似乎是很上算的生意。
  有stack沒(méi)有driver也是枉然,所以我把 embedded board常用的RTL8139的driver加回去,195K。
  如果你需要 DOS 檔案系統(tǒng),那大小成為 213K。如果 minix 用 ext2 換代,則大小成長(zhǎng)至 222K。
  Linux所需的內(nèi)存大約在600K~800K之間。1MB內(nèi)存就可能可以開(kāi)機(jī)了,但不太有用,因?yàn)檫B載入C程序庫(kù)都有困難。2MB內(nèi)存應(yīng)該就可以做點(diǎn)事了,但要到 4MB以上才可以執(zhí)行一個(gè)比較完整的系統(tǒng)。
  因?yàn)長(zhǎng)inux 的filesystem 相當(dāng)大,大約在 230K 左右,占了 1/3 的體積。內(nèi)存管理占了80K,和核心其它部分的總和差不多。TCP/IP stack 占了65K,驅(qū)動(dòng)程序占了120K。SysV IPC占了 21K,必要的話(huà)可以拿掉,核心檔應(yīng)該可以再小個(gè)10K左右。
  如果要裁剪核心大小,應(yīng)該動(dòng)那里呢? 答案很明顯,當(dāng)然是文件系統(tǒng)。Linux 的 VFS簡(jiǎn)化了檔案系統(tǒng)的設(shè)計(jì),buffer cache, directory cache增加了系統(tǒng)的效率。但這些embedded系統(tǒng)根本就用處不大。如果可以把它們拿掉,核心可以馬上縮小 20K 左右。如果跳過(guò)整個(gè) VFS,直接將文件系統(tǒng)寫(xiě)成一個(gè) driver 的型式,應(yīng)該可以將 230K縮減至50K左右。整個(gè)核心縮到100K左右。
  系統(tǒng)啟動(dòng)
  系統(tǒng)的啟動(dòng)順序及相關(guān)文件仍在核心源碼目錄下,看以下幾個(gè)文件:
  ./arch/$ARCH/boot/
  bootsect.s
  ./arch/$ARCH/boot/setup.s
  ./init/main.c
  bootsect.S 及 setup.S
  這個(gè)程序是Linux kernel的第一個(gè)程序,包括了Linux自己的bootstrap程序,但是在說(shuō)明這個(gè)程序前,必須先說(shuō)明一般IBM PC開(kāi)機(jī)時(shí)的動(dòng)作(此處的開(kāi)機(jī)是指“打開(kāi)PC的電源”)。
  一般PC在電源一開(kāi)時(shí),是由內(nèi)存中地址FFFF:0000開(kāi)始執(zhí)行(這個(gè)地址一定在ROM BIOS中,ROM BIOS一般是在FEOOOh到FFFFFh中),而此處的內(nèi)容則是一個(gè)jump指令,jump到另一個(gè)位于ROM BIOS中的位置,開(kāi)始執(zhí)行一系列的動(dòng)作。
  緊接著系統(tǒng)測(cè)試碼之后,控制權(quán)會(huì)轉(zhuǎn)移給ROM中的啟動(dòng)程序(ROM bootstrap routine)。這個(gè)程序會(huì)將磁盤(pán)上的第零軌第零扇區(qū)讀入內(nèi)存中,至于讀到內(nèi)存的哪里呢? --絕對(duì)位置07C0:0000(即07C00h處),這是IBM系列PC的特性。而位于Linux開(kāi)機(jī)磁盤(pán)的boot sector上的,正是Linux的bootsect程序。
  把大家所熟知的MS DOS 與Linux的開(kāi)機(jī)部分做個(gè)粗淺的比較。MS DOS 由位于磁盤(pán)上boot sector的boot程序負(fù)責(zé)把IO.SYS載入內(nèi)存中,而IO.SYS則負(fù)有把DOS的kernel --MSDOS.SYS載入內(nèi)存的重任。而Linux則是由位于boot sector 的bootsect程序負(fù)責(zé)把setup及Linux的kernel載入內(nèi)存中,再將控制權(quán)交給setup。
  驅(qū)動(dòng)程序
  在Linux系統(tǒng)里,設(shè)備驅(qū)動(dòng)程序所提供的這組入口點(diǎn)由一個(gè)結(jié)構(gòu)來(lái)向系統(tǒng)進(jìn)行說(shuō)明。
  設(shè)備驅(qū)動(dòng)程序所提供的入口點(diǎn),在設(shè)備驅(qū)動(dòng)程序初始化的時(shí)候向系統(tǒng)進(jìn)行登記,以便系統(tǒng)在適當(dāng)?shù)臅r(shí)候調(diào)用。Linux系統(tǒng)里,通過(guò)調(diào)用register_chrdev 向系統(tǒng)注冊(cè)字符型設(shè)備驅(qū)動(dòng)程序。
  在Linux里,除了直接修改系統(tǒng)核心的源代碼,把設(shè)備驅(qū)動(dòng)程序加進(jìn)核心里以外,還可以把設(shè)備驅(qū)動(dòng)程序作為可加載的模塊,由系統(tǒng)管理員動(dòng)態(tài)地加載它,使之成為核心的一部分。也可以由系統(tǒng)管理員把已加載的模塊動(dòng)態(tài)地卸載下來(lái)。Linux中,模塊可以用C語(yǔ)言編寫(xiě),用gcc編譯成目標(biāo)文件(不進(jìn)行鏈接,作為*.o文件存在)。為此需要在gcc命令行里加上-c的參數(shù)。在成功地向系統(tǒng)注冊(cè)了設(shè)備驅(qū)動(dòng)程序后(調(diào)用register_chrdev成功后),就可以用mknod命令來(lái)把設(shè)備映射為一個(gè)特別文件。其它程序使用這個(gè)設(shè)備的時(shí)候,只要對(duì)此特別文件進(jìn)行操作就行了。
  將X-Window換成MicroWindows
  MicroWindows是使用分層結(jié)構(gòu)的設(shè)計(jì)方法。允許改變不同的層來(lái)適應(yīng)實(shí)際的應(yīng)用。在最底一層,提供了屏幕、鼠標(biāo)/觸摸屏和鍵盤(pán)的驅(qū)動(dòng),使程序能訪(fǎng)問(wèn)實(shí)際的硬件設(shè)備和其它用戶(hù)定制設(shè)備。在中間一層,有一個(gè)輕巧的圖形引擎,提供了繪制線(xiàn)條、區(qū)域填充、繪制多邊形、裁剪和使用顏色模式的方法。在最上一層,提供了不同的API給圖形應(yīng)用程序使用。這些API可以提供或不提供桌面和窗口外形。目前,MicroWindows支持Windows Win32/WinCE GDI和Nano-X API。這些API提供了Win32和X窗口系統(tǒng)的緊密兼容性,使得別的應(yīng)用程序可以很容易就能移植到MicroWindows上。
  何謂嵌入式系統(tǒng)
  嵌入式系統(tǒng)被定義為:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。
  嵌入式系統(tǒng)是面向用戶(hù)、面向產(chǎn)品、面向應(yīng)用的,如果獨(dú)立于應(yīng)用自行發(fā)展,則會(huì)失去市場(chǎng)。嵌入式處理器的功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等方面均受到應(yīng)用要求的制約,這些也是各個(gè)半導(dǎo)體廠(chǎng)商之間競(jìng)爭(zhēng)的熱點(diǎn)。嵌入式處理器的應(yīng)用軟件是實(shí)現(xiàn)嵌入式系統(tǒng)功能的關(guān)鍵。軟件要求固化存儲(chǔ),軟件代碼要求高質(zhì)量、高可靠性,系統(tǒng)軟件(OS)的高實(shí)時(shí)性是基本要求。
  在制造工業(yè)、過(guò)程控制、通訊、儀器、儀表、汽車(chē)、船舶、航空、航天、軍事裝備、消費(fèi)類(lèi)產(chǎn)品等方面均是嵌入式計(jì)算機(jī)的應(yīng)用領(lǐng)域。

毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
欧美不卡一二三| 中文字幕第一区二区| 欧美成人高清电影在线| 日韩精品五月天| 欧美日韩在线电影| 午夜久久久久久| 日韩三级视频在线看| 奇米精品一区二区三区在线观看一| 91国产丝袜在线播放| 亚洲一区二区av在线| 色www精品视频在线观看| 亚洲精品国产a久久久久久| 男女男精品视频| 欧美videos中文字幕| 国产精品一区二区在线观看不卡 | 欧美日韩精品一区二区天天拍小说| 99国产精品99久久久久久| 国产日韩欧美亚洲| 99久久精品国产导航| 亚洲丝袜制服诱惑| 精品视频在线视频| 久久精品99国产精品| 国产精品欧美久久久久无广告 | 日韩电影一二三区| 亚洲精品在线三区| 99久久精品费精品国产一区二区| 亚洲欧美日韩在线| 国产午夜精品理论片a级大结局| 色国产综合视频| 国产成人av影院| 亚洲成人自拍一区| 国产精品久久一卡二卡| 91精品国产福利在线观看 | 91精品国产综合久久精品| 免费高清在线视频一区·| 国产欧美精品一区二区三区四区| 亚洲精品美国一| 久久久久久亚洲综合| 日韩欧美精品在线| 欧美激情综合五月色丁香| 成人av网在线| 国产综合久久久久久久久久久久| 亚洲同性gay激情无套| 国产福利精品一区| 久久精品亚洲国产奇米99| 日韩电影在线免费看| 色哟哟精品一区| 一区二区三区在线视频播放| 一本久道久久综合中文字幕 | 国产午夜亚洲精品羞羞网站| 日本不卡一二三| 欧美一区二区在线观看| 久久国产视频网| 久久亚洲一级片| 国产高清在线精品| 一区二区三区**美女毛片| 国产精品久久久久天堂| 韩国成人在线视频| 久久久久亚洲综合| 日韩电影免费在线看| 日韩美女视频在线| 国产成人精品综合在线观看| 亚洲日本一区二区| 91麻豆swag| 亚洲一区二区四区蜜桃| 欧美一区二区黄| 国产露脸91国语对白| 国产精品久久久久毛片软件| 欧美性色欧美a在线播放| 免费成人av资源网| 亚洲免费在线播放| 国产精品午夜久久| 欧美一区二区三区四区在线观看 | 国产精品你懂的在线| 欧美日韩在线亚洲一区蜜芽| 国产精品一区二区91| 日韩和欧美一区二区三区| 中文字幕精品三区| 欧美电视剧在线观看完整版| 91久久免费观看| 亚洲图片另类小说| 日韩久久免费av| 欧美日韩第一区日日骚| 国产不卡视频在线观看| 国产在线视视频有精品| 日本色综合中文字幕| 亚洲高清视频在线| 91精品久久久久久蜜臀| 欧美三级电影一区| 一本久道中文字幕精品亚洲嫩| 亚洲一区二区欧美| 亚洲一区二区三区精品在线| 亚洲激情图片一区| 亚洲国产美女搞黄色| 天天av天天翘天天综合网色鬼国产| 亚洲天堂av一区| 亚洲一区二三区| 麻豆精品视频在线观看视频| 狠狠v欧美v日韩v亚洲ⅴ| 狠狠v欧美v日韩v亚洲ⅴ| 国产成人精品一区二区三区网站观看| 国产盗摄一区二区| av激情成人网| 337p亚洲精品色噜噜| 精品国产一区二区三区久久久蜜月| 日韩美女视频一区二区在线观看| 久久久国际精品| 99精品热视频| av不卡在线播放| 这里是久久伊人| 中文字幕精品三区| 日本亚洲一区二区| 国产成人一区在线| 色综合久久久网| 精品久久久三级丝袜| 一区二区视频在线看| 国产精品亚洲午夜一区二区三区| 99r精品视频| 欧美不卡一区二区| 偷偷要91色婷婷| 日本韩国欧美一区二区三区| 日本一区二区视频在线| 日本不卡不码高清免费观看| 日本乱人伦一区| 国产精品的网站| 国产盗摄一区二区| 久久久久久免费| 国产精品羞羞答答xxdd| 91精品国产麻豆国产自产在线 | 日本成人在线不卡视频| 激情图片小说一区| 精品对白一区国产伦| 琪琪一区二区三区| 精品久久人人做人人爽| 国产一区二区三区蝌蚪| 亚洲精品在线免费观看视频| 韩国精品主播一区二区在线观看| 欧美一级夜夜爽| 韩国视频一区二区| 亚洲欧洲一区二区三区| 色哟哟国产精品| 日本系列欧美系列| 国产无一区二区| 欧美天堂一区二区三区| 麻豆91精品视频| 国产精品区一区二区三| 91在线观看视频| 亚洲与欧洲av电影| 欧美精品色综合| 蜜臀久久99精品久久久久久9 | 欧美一区二区三区小说| 亚洲欧美自拍偷拍色图| 亚洲电影在线播放| 欧美日韩三级一区| 另类调教123区| 欧美绝品在线观看成人午夜影视| 精品国产免费久久| 国产在线视频一区二区三区| 久久综合久久综合久久| 99在线视频精品| 一级女性全黄久久生活片免费| 在线亚洲欧美专区二区| 偷拍日韩校园综合在线| 久久精品一区二区三区不卡 | 国产在线一区二区| 国产精品欧美一级免费| 7777女厕盗摄久久久| 99精品国产视频| 精品福利在线导航| 欧美日免费三级在线| 丝袜美腿成人在线| 日韩精品一区国产麻豆| 99久久国产综合色|国产精品| 精品一区二区影视| 中文字幕亚洲欧美在线不卡| 欧美日韩色一区| 国内一区二区在线| 亚洲成人动漫一区| 欧美一区二区三区精品| 在线欧美日韩精品| 成人av集中营| 国产精品久久久久四虎| 久久久一区二区| 久久日韩精品一区二区五区| 欧美久久婷婷综合色| 欧美无人高清视频在线观看| 成人av在线一区二区| 国产成人精品三级| 国产iv一区二区三区| 不卡视频在线观看| av在线播放一区二区三区| 成人午夜视频网站| 97久久精品人人爽人人爽蜜臀 | 色偷偷一区二区三区| 94-欧美-setu| 在线观看视频一区二区| 91在线视频免费观看| 欧洲精品视频在线观看| 青青草成人在线观看| 国v精品久久久网|