欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      學(xué)習(xí)ARM的心得體會

      時間:2019-05-12 12:26:52下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《學(xué)習(xí)ARM的心得體會》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《學(xué)習(xí)ARM的心得體會》。

      第一篇:學(xué)習(xí)ARM的心得體會

      arm四天學(xué)習(xí)心得體會 1.懂得了如何使用iar的軟件使用,使用前要先進(jìn)行環(huán)境的設(shè)置,具體見文檔iar使用說明。

      2.第一次是學(xué)習(xí)點(diǎn)亮led燈,在點(diǎn)亮led燈中學(xué)習(xí)到如果要點(diǎn)亮led燈必須學(xué)會調(diào)用已經(jīng)寫好的庫函數(shù),對系統(tǒng)進(jìn)行初始化systeminit();對io口進(jìn)行初始化gpioinit();,還得對gpio口的設(shè)置gpiosetdir--設(shè)置gpio口為輸入為1的io口,設(shè)置完成后就可以對io口成為輸入輸出方向,當(dāng)要點(diǎn)亮led燈時,要使用到gpiosetvalue();函數(shù),當(dāng)為確定好某個io口確定時,后一個為0時可以設(shè)置led燈為點(diǎn)亮了,然后就可以對io口進(jìn)行設(shè)置了,用法和單片機(jī)基本一致,具體可以參考程序《閃燈》。3.蜂鳴器的鳴響很簡單,就是首先對蜂鳴器的io端口進(jìn)行設(shè)定以驅(qū)動蜂鳴器,gpiosetdir(port3, 3, 1);當(dāng)蜂鳴器需要鳴響時,直接對port3_3端口進(jìn)行賦值0《gpiosetvalue(port3, 3, 0);》不讓蜂鳴器鳴響則是(gpiosetvalue(port3, 3, 01);)就可以了。

      4.串口的使用

      串口開始時要初始化出口,并且通過串口打印前會把數(shù)據(jù)存在數(shù)據(jù)緩存區(qū)里面,如果我們需要通過輸入值來控制arm板子的功能時,可以讀取緩存區(qū)(uartbuffer[uartcount-1])的內(nèi)容(緩存區(qū)的內(nèi)的數(shù)據(jù)都是字符型數(shù)據(jù)【char】)然后就可以通過輸入的值來處理,可以用中斷方式,也可以用查詢方式,可參考串口中斷程序 5.中斷的使用

      使用中斷時需要初始化中斷例如: init_timer32(test_timer_num,time_interval);

      // 初始化定時器 enable_timer32(test_timer_num);

      //使能定時器使定時器工作 lpc_syscon->sysahbclkctrl |=(1<<6);//能ahb時鐘,為gpio提供時鐘源 通過定時器就可以在定時器內(nèi)直接操作例如圖 1:

      圖1 定時器的使用操作要先開使能,與定時器的定時方式如 圖2 圖2 6.外部中斷

      外部中斷時要先對外部中斷的方式進(jìn)行設(shè)置,是下降沿觸發(fā)還是上升沿觸發(fā)方式或其他,圖3 7.步進(jìn)電機(jī)

      initstep();//步進(jìn)機(jī)相關(guān)引腳初始化

      對了步進(jìn)電機(jī)的引腳初始化后就可以對步進(jìn)電機(jī)的轉(zhuǎn)動方向進(jìn)行控制了,如圖 4 圖4 當(dāng)motor_ccw 時,為反轉(zhuǎn)方式 8.鍵盤掃描

      對鍵盤進(jìn)行操作時,可以對鍵盤進(jìn)行操作,可以通過串口輸入1~8來控制燈的閃動情況,初始化如圖 5 圖5 對鍵盤的操作時使用可以參考如下圖6:

      圖6 9.i2c 在i2c中首先要在頭文件定義一個#define __debug_flash,使后面的程序生效。圖7所示:

      圖7 在i2c里面要輸出溫度值的后面三位小數(shù)要經(jīng)過處理,如圖8所示:

      圖8 10.adc芯片

      在用到adc芯片時,可以顯示阻值或者mv顯示,需經(jīng)過處理如圖9所示:

      圖9篇二:arm學(xué)習(xí)心得etc arm 學(xué)習(xí)心得

      一、通用i/o口設(shè)置:

      1、使用pinselx定義端口作為通用i/o功能, 每個引腳可能有4個功能, 因此需要用2位來確定其功能

      2、設(shè)置scs寄存器第0位為1, 使其作為快速i/o端口

      3、使用pinmodex定義端口的模式, 分為上拉, 下拉, 浮空, 因此需要用2位來確定其模式

      4、使用fioxdir來確定端口方向

      5、使用fioxmask與fioxclr, fioxset, fioxpin聯(lián)合來設(shè)置端

      口的值

      6、由于通用i/o一般情況下方向是確定的, 通?;蛘邽檩斎? 或者為輸出, 要模擬數(shù)據(jù)總線, 必須在需要的時候, 隨時改變端口的方向, 可使用fioxdir寄存器完成此項(xiàng)工作

      7、除extint0-extint3外,端口0和端口2均可以作為外部

      中斷源,它們共用extint3這個外部中斷。

      8、根據(jù)實(shí)際情況合理選用。主要對上電時的初始值。上拉或

      下拉都是弱的,有時也用外部分電阻上/下拉。對于輸入,上拉表示通用端口所連接的外部信號不存在時, 端口值為1, 下拉為0。對于輸出,如果沒有更改時,上拉輸出為高(1), 下拉輸出為低(0)。fioxpin總是可以讀出端口的狀態(tài)。fioxpin對非通用i/o端口也可讀出其狀態(tài)。

      9、對于內(nèi)置(片上)外設(shè), 如uart, can, spi等:使用pinselx定

      義端口作為特定外設(shè)。通常情況作為外設(shè)的引腳的方向是確定的,如果可能,還會自動改變方向。大多情況下,無須設(shè)置上拉或下拉模。設(shè)置外設(shè)的參數(shù),如果需要的話,安裝中斷服務(wù)程序外設(shè)上電(有些外設(shè)默認(rèn)是上電的,有些不是)啟動外設(shè)

      二、以太網(wǎng)模塊心得

      實(shí)例1:

      以微處理器lpc2368為核心、dp83848c為以太網(wǎng)物理層

      接口芯片,介紹嵌入式以太網(wǎng)接口的實(shí)現(xiàn)方法。

      以太網(wǎng)接口電路主要由mac控制器和物理層接口

      (physical layer,phy)兩大部分構(gòu)成。lpc2368內(nèi)嵌一個以太網(wǎng)控制器,支持精簡的媒體獨(dú)立接口(reduced media independent interface,rmii)和帶緩沖dma接口(buffered dma interface,bdi),可在半雙工和全雙工模式下提供10m/100mbps的以太網(wǎng)接入。因此,lpc2368內(nèi)部實(shí)際上己經(jīng)包含了以太網(wǎng)mac控制,但并未提供物理層接口,所以,需要外接一片物理層芯片以提供以太網(wǎng)的接入通道。在這里選用national semiconductor公司的dp83848c作為以太網(wǎng)物理層接口芯片,它提供了包括mii/rmii/sni接口,可以很方便地與lpc2368連接。dp83848c是一個10/100mb/s單端低功耗物理層器件,有幾種智能降功耗模式,包括有25mhz時鐘輸出,很容易通過

      外接變壓器和雙絞線媒體接口;支持兩種ieee 802.3u mii和rmii rev 1.2,方便了設(shè)計(jì);集成的亞層支持10base-t和100base-tx以太網(wǎng)協(xié)議;低功耗小于270mw、3.3v mac接口;可配置的sni接口;48引腳lqfp封裝(7x7mm)。dp83848c作為一種以太網(wǎng)物理層收發(fā)器,廣泛應(yīng)用于高端外圍設(shè)備、工業(yè)控制和工廠自動化操作、通用的嵌入式應(yīng)用領(lǐng)域 lpc2368與dp83848c連接比較簡單,直接通過rmii接口連接即可。連接好后,dp83848c再通過網(wǎng)絡(luò)隔離變壓器和rj45接口接入傳輸媒體,其電路框圖如圖1所示。

      16st8515為網(wǎng)絡(luò)隔離變壓器,其主要是起信號傳輸、阻抗匹配、波形修復(fù)、雜波抑制以及高電壓隔離等作用,以保護(hù)系統(tǒng)的安全

      電路原理圖:

      實(shí)例2: s3c4510b 內(nèi)嵌一個以太網(wǎng)控制器,支持媒體獨(dú)立接口(media independent interface,mii)和帶緩沖 dma 接口(buffered dma interface,bdi)。在該系統(tǒng)中,使用 rtl8201 作為以太網(wǎng)的物理層接口。篇三:arm的linux常用指令學(xué)習(xí)心得體會 2010 arm的linux常用指令學(xué)習(xí)心得體會 2010-01-26 15:42:19 閱讀29 評論0 字號:大中小

      ****************************************************************************************** tar *.tar.bz2 ——>參數(shù) jxfv *.tgz ——>參數(shù) zxfv 或 zxf *.tar.gz ——>參數(shù)zxfv 注: j 表示針對bzip2壓縮文件; z 表示gzip壓縮文件; x 表示釋放文件;

      f 表示使用檔案文件或設(shè)備,必選參數(shù); v 表示顯示解壓信息。

      ****************************************************************************************** 掛載windows fat32分區(qū) mount-t vfat /dev/hda1 /mnt/c-o codepage=936,iocharset=cp936 注: vfat表示加載fat格式分區(qū);(轉(zhuǎn)載于:學(xué)習(xí)arm的心得體會)936是為了支持中文提供的代碼頁字符集選項(xiàng),如果不加codepage=936,iocharset=cp936的話,加載的fat分區(qū)中的文件名不能正確顯示中文字符串; codepage=936,iocharset=cp936中間無空格分開的;

      可以使用tab鍵獲得硬盤分區(qū)信息的提示; /mnt/c是預(yù)先建立的掛載目錄。

      ****************************************************************************************** rm rm-rf filename r 表示recuisive遞歸刪除目錄下的所有子目錄及文件; f 表示force,強(qiáng)制刪除,不提示; i 表示interactive,交互的,刪除的時候出現(xiàn)提示。??

      ****************************************************************************************** linux基本操作命令

      基本操作命令

      --------ls--------ls #以默認(rèn)方式顯示當(dāng)前目錄文件列表 ls –a #顯示所有文件包括隱藏文件 ls –l #顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執(zhí)行 ls--color=never *.so > obj #不顯示文字顏色,將所有so文件記錄到obj文件中 cd--------cd dir #切換到當(dāng)前目錄下的dir目錄 cd / #切換到根目錄

      cd..#切換到到上一級目錄 cd../..#切換到上二級目錄 cd ~ #切換到用戶目錄,比如是root用戶,則切換到/root下 rm--------rm file #刪除某一個文件

      rm-fr dir #刪除當(dāng)前目錄下叫dir的整個目錄 cp--------cp source target #將文件source 復(fù)制為 target cp /root/source.#將/root下的文件source復(fù)制到當(dāng)前目錄 cp –av soure_dir target_dir #將整個目錄復(fù)制,兩目錄完全一樣 cp –fr source_dir target_dir #將整個目錄復(fù)制,并且是以非鏈接方式復(fù)制,當(dāng)source目錄帶有符號鏈接時,兩個目錄不相同 mv--------mv source target #將文件source更名為target diff--------diff dir1 dir2 #比較目錄1與目錄2的文件列表是否相同,但不比較文件的實(shí)際內(nèi)容,不同則列出

      diff file1 file2 #比較文件1與文件2的內(nèi)容是否相同,如果是文本格式的文件,則將不相同的內(nèi)容顯示,如果是二進(jìn)制代碼則只表示兩個文件是不同的--------echo--------echo message #顯示一串字符 echo message message2 #顯示不連續(xù)的字符串 cat--------cat file #顯示文件的內(nèi)容,和dos的type相同 cat file | more #顯示文件的內(nèi)容并傳輸?shù)絤ore程序?qū)崿F(xiàn)分頁顯示,使用命令less file可實(shí)現(xiàn)相同的功能 more--------more #分頁命令,一般通過管道將內(nèi)容傳給它,如ls | more export--------export lc_all=zh_cn.gb2312 #將環(huán)境變量lc_all的值設(shè)為zh_cn.gb2312 export display=0:0 #通過該設(shè)置,當(dāng)前字符終端下運(yùn)行的圖形程序可直接運(yùn)行于xserver date--------date #顯示當(dāng)前日期時間

      date-s 20:30:30 #設(shè)置系統(tǒng)時間為20:30:30 date-s 2002-3-5 #設(shè)置系統(tǒng)時期為2003-3-5 clock--------clock –r #對系統(tǒng)bios中讀取時間參數(shù) clock –w #將系統(tǒng)時間(如由date設(shè)置的時間)寫入bios eject--------eject #umout掉cdrom并將光碟彈出,但cdrom不能處于busy的狀態(tài),否則無效 du--------du #計(jì)算當(dāng)前目錄的容量

      du-sm /root #計(jì)算/root目錄的容量并以m為單位 find--------find-name /path file #在/path目錄下查找看是否有文件file grep--------grep-ir “chars” #在當(dāng)前目錄的所有文件查找字串chars,并忽略大小寫,-i為大小寫,-r為下一級目錄 vi--------vi file #編輯文件file vi 原基本使用及命令:

      輸入命令的方式為先按ctrl+c,然后輸入:x(退出),:x!(退出并保存):w(寫入文件),:w!(不詢問方式寫入文件),:r file(讀文件file),:%s/oldchars/newchars/g(將所有字串oldchars換成newchars)這一類的命令進(jìn)行操作 man--------man ls #讀取關(guān)于ls命令的幫助 man ls | grep color #讀取關(guān)于ls命令的幫助并通過grep程序在其中查找color字串 startx--------startx #運(yùn)行l(wèi)inux圖形有環(huán)境 xfree86 #只運(yùn)行x圖形server reboot--------reboot #重新啟動計(jì)算機(jī) halt--------halt #關(guān)閉計(jì)算機(jī) init--------init 0 #關(guān)閉所有應(yīng)用程序和服務(wù),進(jìn)入純凈的操作環(huán)境 init 1 #重新啟動應(yīng)用及服務(wù) init 6 #重新啟動計(jì)算機(jī)--------擴(kuò)展命令

      --------tar--------tar xfzv file.tgz #將文件file.tgz解壓 tar xfzv file.tgz-c target_path #將文件file.tgz解壓到target_path目錄下 tar cfzv file.tgz source_path #將文件source_path壓縮為file.tgz tar c directory > directory.tar #將目錄directory打包成不壓縮的directory.tar tar xf directory.tar #可將不壓縮的文件解包 gzip--------gzip directory.tar #將覆蓋原文件生成壓縮的 directory.tar.gz gunzip--------gunzip directory.tar.gz #覆蓋原文件解壓生成不壓縮的 directory.tar。demsg--------dmesg #顯示kernle啟動及驅(qū)動裝載信息 uname--------uname #顯示操作系統(tǒng)的類型篇四:arm學(xué)習(xí)心得,arm入門,arm基礎(chǔ),什么是arm arm學(xué)習(xí)心得,arm入門,arm基礎(chǔ),什么是arm 一個電子工程師的arm學(xué)習(xí)心得 目錄:

      一 首先說說arm的發(fā)展 二 arm是硬件還是軟件 三 要不要買開發(fā)板 買哪家

      四 要不要有51 avr等單片機(jī)基礎(chǔ) 五 開發(fā)都需要學(xué)習(xí)哪些軟件

      七 選ucos?uclinux?linux?vxworks?還是當(dāng)單片機(jī)用 八 學(xué)習(xí)要用多長時間 九

      arm都玩什么十 我用的什么板子 十一 開發(fā)流程

      十二 關(guān)于jtag訪真器十三 哪個公司的arm 我的筆記剛公布就有很多朋友來找我,把我當(dāng)高手,問我“arm怎么入門”。我不是高手,仍然是菜鳥。

      但是回想起自己當(dāng)時的迷茫,特意寫了這篇東西,當(dāng)作給和我一樣的兄弟姐妹的幫助吧。問這個問題的人多半不是已經(jīng)工作的工程師,而是和我一樣是學(xué)生,所以這篇筆記就把看家當(dāng)成我一樣的菜鳥,高手勿怪。

      首先聲明:本人還沒有找工作,事實(shí)上處于研究生剛畢業(yè),還沒開始找工作的空閑時間,44b0只是興趣所在,打發(fā)時間。

      所有看法完全是自己的感受,不代表任何他人。錯了的觀點(diǎn)各位幫我糾正。

      再次補(bǔ)充:很多朋友看了上面的話就問我為什么研究生畢業(yè)了還不找工作:)說是打發(fā)時間,其實(shí)是因?yàn)檠芯可臅r候帶了一個項(xiàng)目,申請?zhí)崆爱厴I(yè)以后項(xiàng)目還有塊尾巴,答應(yīng)導(dǎo)師把項(xiàng)目做完再走:)就這么簡單。男人總點(diǎn)負(fù)點(diǎn)責(zé),呵呵

      以下問題常被問到,我就想到哪說到哪吧。

      一 首先說說arm的發(fā)展

      可以用一片大好來形容,翻開各個公司的網(wǎng)站,招聘里面嵌入式占據(jù)了大半工程師職位。

      廣義的嵌入式無非幾種:傳統(tǒng)的什么

      51、avr、pic稱做嵌入式微控制器;arm是嵌入式微處理器;dsp;fpga。

      客觀的講,工作需求量上dsp的需求比arm要多,而arm和fpga差不多。dsp因?yàn)閿?shù)字處理與通信領(lǐng)域的空前發(fā)展而火暴,小到mp3 射象頭,大到我們軍品里的控制器,應(yīng)用面很廣。fpga的兄弟一般做ansic(特殊芯片設(shè)計(jì),好象是這么翻譯的)。而arm單純說來并不比一個單片機(jī)強(qiáng)多少,但是它的獨(dú)特就在于不斷下降的價(jià)格和提升的性能。這完全依靠于arm公司的戰(zhàn)略,厲害!很佩服他們的戰(zhàn)略眼光!

      值得注意的是:在找工作中,企業(yè)(著名的,小的不算)對單純的arm硬件開發(fā)工程師并不比單片機(jī)重視,很少有大企業(yè)的職位里寫“從事過arm開發(fā)優(yōu)先”。寫的多的是什么?“嵌入式linux”

      到這相信大家看出來了吧,需要的是硬件中的軟件。

      二 arm是硬件還是軟件

      很難說,arm是硬件,linux是軟件。arm的硬件多半已經(jīng)模塊化了,像我這樣把板子改成這樣的就算動的多的了,這同樣是arm公司的戰(zhàn)略,再次佩服。

      實(shí)際中的linux的開發(fā)工作更多,更耗時。從這方面說arm應(yīng)該算是軟件了。在找工作中更是這樣,舉個例子,聯(lián)想里和arm最接近的是“bios工程師”是軟件,moto里接近的是嵌入式linux工程師是軟件。而其他很多公司把嵌入式產(chǎn)品開發(fā)歸為硬件。所以,不要討論這個,好好玩轉(zhuǎn)自己的板子才是關(guān)鍵。實(shí)在不爽你就把自己叫“嵌入式開發(fā)工程師”

      三 要不要買開發(fā)板 買哪家

      我的答案是“在你個人的學(xué)習(xí)方法”,但是如果看家是需要看這騙筆記的水平,個人推薦還是買現(xiàn)成的。1 買

      買板子可以把注意力集中在軟件開發(fā)上,軟件開發(fā)(尤其是驅(qū)動)可以不必?fù)?dān)心自己硬件上的問題,我就是以便調(diào)試一邊寫驅(qū)動和程序,每次寫驅(qū)動前就要先確認(rèn)硬件沒問題。

      另外,買板子更省錢和時間,我自己做的板子,原理圖pcb花了2周以上!制版又15天,回來以后焊接44b0 160個腳!那叫一個麻煩~~花了多少錢呢?2層板,制版費(fèi)就300塊!當(dāng)然 我把接口都外引了,還做了個20x18的lcd背板,板子比較大。總體下來 元件+lcd屏+pcb=11xx塊!夠2410的了。

      再有就是買的資料相對來說比較全,但是不要指望有技術(shù)支持!都是騙人的,賣你之后就不會理你。2 做

      自己做可以更了解底層硬件,可以按照自己的要求加?xùn)|西,比如我就加了gps模塊、gprs模塊、sd卡模塊,擴(kuò)了個iic的35個鍵子的鍵盤、把lcd接口按照買的lcd改裝了,可以用fpc線直接連接。做的很爽的。玩一把嗎。

      當(dāng)然,你可以有策略的做,比如像我一樣,把ram和rom,網(wǎng)絡(luò)都保持和某現(xiàn)成的板子一樣,這樣他們的資料你就可以拿過來直接用,給自己留個退路。其他的如sd了 什么的自己做。都達(dá)到了~~就是費(fèi)錢,費(fèi)時間。

      再有就是給做的朋友幾點(diǎn)建議:盡量拿到現(xiàn)成的板子,盡量多搜集其他板子的全套資料,一定要拿到一張沒問題的原理圖。

      網(wǎng)上流傳的原理圖多數(shù)是龔俊03年畫的,再這里對龔俊表達(dá)一下我的敬意!牛人!但是那個圖有個小bug,我指的是03版的,后來的沒這問題了。8019那地址線和地址有問題。還有人仿照他的pdf圖畫的sch,更是漏洞百出!譴責(zé)!順便譴責(zé)把龔俊板子偷賣 的人。3 買哪家

      個人感覺分3類吧 1)首先是zlg的,資料非常的全,感覺他是真正想教你怎么開發(fā)arm,而不是像有的公司自己技術(shù)都沒做好就做個板子出來賣錢。但是最大的不利就是價(jià)格太貴!而且主要是philip的,貨源比較麻煩~~可能有人說21xx系列的不貴啊,那是總線不外擴(kuò)的,只能跑ucos,不能跑uclinux。但是說是話,21xx系列才是arm7的價(jià)格性能結(jié)合點(diǎn)。arm7最適合做工業(yè)控制,arm普及,銷量都是怎么來的?都是arm7來的,而44b0是典型的商業(yè)片子。但是,這里如果你看中的是為工作做準(zhǔn)備,還是選能跑uclinux的吧。但是仍然作為第一個推薦,因?yàn)椴锁B時期,合適的資料太重要了!在這里被zlg的務(wù)實(shí)*感動!你看人家那代碼寫的。2)感覺硅谷芯微的2440不錯

      硬件沒別的,就是資料比較全的說,不像有些家,原理圖直接拿人家的,還錯的~~ 3)找個最便宜的好象最便宜的有賣350的吧?也是沒別的,就是即省了錢 還省時間搜集資料,至于資料全不全,別計(jì)較了~~硬件肯定好使就行吧。

      四 要不要有51 avr等單片機(jī)基礎(chǔ) 有更好,但沒有也無所謂。兩個月以前,我只是看別人做,耳濡目染~~,本科學(xué)過單片機(jī),從來沒做過。我們這的技術(shù)主干做avr和51,我就跟他們調(diào)過c語言程序。你看出來了?我是個不折不扣的菜鳥吧? 但是做這個之前我特意找了zlg的兩本書,看了里面的例子和原理圖,這很重要。例程里有匯編有c,都看懂了就ok,不用自己現(xiàn)寫

      五 開發(fā)都需要學(xué)習(xí)哪些軟件

      總結(jié)起來最主要的有以下幾個吧 1 ads調(diào)試用

      確切的說是ads+axd。ads里包含axd。原來都用sdt后來arm公司停止對sdt支持了,改支持ads了,還是用ads吧。

      有的人的程序發(fā)布的仍然是sdt版本的,但基本都可以找到相應(yīng)ads的,新人在這里不要發(fā)蒙。ads是編譯器,axd是調(diào)試器。編譯成axf以后再在arm的ram里調(diào)試。2 plashpgm flash燒寫的軟件。axd在ram里調(diào)試,掉電就沒有了,方便程序修改。調(diào)試好的程序再下到flash里,上電直接運(yùn)行。

      同類的軟件還有很多,什么fluted了、flshp了都是,但flashpgm最好,要是有人還問flash不支持bin格式文件的問題就要看我寫的plashpgm使用了。3 banyant調(diào)試代理(不知道名對不,起這么個難記的,我一般都叫它“半羊”因?yàn)橹浪菐滋靹偝粤丝狙颍?/p>

      調(diào)試代理就是用它幫你使用更簡單的jtag(便宜啊)來實(shí)現(xiàn)原本1k才賣的jtag仿真器的大部分功能。jtag調(diào)試原理看我另一篇筆記。簡單的就可以把他理解為你自己做的jtag的驅(qū)動就行了。

      調(diào)試代理還有很多種,什么h-jtag了、arm7了(不知道具體叫什么,就記得可執(zhí)行文件叫arm7.exe)都是,banyant比較好。

      需要注意的是,沒種調(diào)試代理安裝方法雖然都簡單 但都不一樣,需要看說明。而且axd調(diào)試之前都要運(yùn)行。省錢了,就別怕麻煩了。4 arm-elf-tools工具鏈

      里面是uclinux開發(fā)用的工具比如arm-elf-gcc只類的。工具鏈就是把很多工具打包在一起發(fā)布的方便你開發(fā)的東西。具體安裝方法看我另一篇筆記。另外如果你開發(fā)linux就要用arm-linux-tools,不一樣,不通用。5 u-boot 大名鼎鼎的bootloader生成工具,同類的好象還有vivi(名字很曖昧~~)

      生成的bootloader燒到flash里,然后就可以用bootloader下載 燒寫其他了 有了bootloader才能下uclinux。bootloader就像電腦上的bios。當(dāng)然ucos的不用這個,用什么我不知道:)

      最新版本是1.1.4 具體使用方法看我另一篇筆記吧。6 uclinux包 uclinux的源碼包,不用多說了吧?建議大家用現(xiàn)成的先體會一下,然后再自己編譯,裁剪。因?yàn)閱为?dú)uclinux的編輯技術(shù)上比較簡單,但涉及的方面還是比較廣的。7 vmware 老牌的虛擬機(jī)軟件,在一個機(jī)器上虛擬出一個機(jī)器裝linux(pc上用的),省得你來回開關(guān)機(jī)了。記得裝vmware-tools,安裝方法在我另一篇筆記里。

      七 選ucos?uclinux?linux?vxworks?還是當(dāng)單片機(jī)用 1 搞開發(fā),工程設(shè)計(jì),用ucos,小巧,多進(jìn)程,簡單,體現(xiàn)了arm7的精髓。2 linux 正根的嵌入式系統(tǒng),linux消費(fèi)與通信領(lǐng)域用的比較多,但缺點(diǎn)是必須arm9才能跑,arm9的板子自己做就不行了,6層板太貴。買開發(fā)板500-1500吧。但是還是推薦選arm9+linux 3 uclinux 算投機(jī)嵌入式系統(tǒng):)arm7上可以跑,由有l(wèi)inux近親,學(xué)好好可以比較方便的轉(zhuǎn)向linux,像我一樣的窮鬼用吧,呵呵 4 vxworks 學(xué)好后可以找到高薪工作,但工作機(jī)會本身并不比linux好找。5 當(dāng)單片機(jī)用

      不推薦,雖然我景仰的zlg一直號召這么干。因?yàn)閷τ趯W(xué)習(xí)來說多進(jìn)程的系統(tǒng)設(shè)計(jì)才是arm7的玩頭,至少你也要整個ucos?。海?/p>

      有朋友問我先學(xué)這個當(dāng)基礎(chǔ)不行嗎?那當(dāng)然可以~~但我當(dāng)時就用了1周搞定,就是我先的ads在ram中調(diào)試的筆記。后來我清空flash用的小段程序還是當(dāng)時寫的led閃爍程

      序呢。另外1周里其中還因?yàn)樽约哼^于菜,沒把om設(shè)置好導(dǎo)致晶陣不陣哈哈。這個是必須做的,但一帶而過。目標(biāo)放的遠(yuǎn)一點(diǎn)。

      八 學(xué)習(xí)要用多長時間

      我從菜鳥到現(xiàn)在兩個多月,中間被打擾數(shù)次。仍然搞定了pcb設(shè)計(jì)與制版,ram調(diào)試,flash下載,uboot移植和下載uclinux(沒剪裁,用現(xiàn)成的),lcd驅(qū)動。再次坦誠的說:我確實(shí)比較菜,說這些不是讓大家羨慕,只是告訴你們“你們應(yīng)該比這個更好”

      我相信良好的態(tài)度+合適的方法+及時的總結(jié)=成績 九 arm都玩什么 就幾點(diǎn) 1 硬件設(shè)計(jì) 2 系統(tǒng)移植 3 驅(qū)動開發(fā) 4 應(yīng)用開發(fā)

      沒了。其中推薦把注意力放在后兩個上,3有難度,4比較靈活,最重要的是都是找工作的砝碼。

      十 我用的什么板子

      很多人問我這個問題,我特意寫過一個的。再說一次吧。

      我是自己做的,ram、rom、8019等比較麻煩而當(dāng)時的自己不理解的都按照龔俊的做的。保持其他不便的情況下做了如下改動。1 加了串口通信的gps模塊、gprs模塊

      一個uart0,一個uart1,當(dāng)與要用超級終端時用跳線切換。2 sd卡,和7843觸摸屏

      同時掛在spi總線上,因?yàn)閟pi只能掛一個設(shè)備,同時還做了i/o模擬的準(zhǔn)備,把兩個設(shè)備又通過跳線掛在4個io上。3 擴(kuò)了個iic的35個鍵子的鍵盤

      用的zlg的7290,不占用cpu,最大支持64個鍵子,只上了35個,其他留接口。4 把lcd接口按照買的lcd改裝了,可以用fpc線直接連接。

      所以改動雖然多,但真正很移植了,初期調(diào)試有關(guān)的并沒動,就是為了現(xiàn)在不那么菜的時候做準(zhǔn)備:)

      十一 開發(fā)流程

      這里是我的開發(fā)流程 1 設(shè)計(jì)原理圖(含wiggler的jtag訪真器)2 設(shè)計(jì)pcb(含wiggler的jtag訪真器)3 制版

      焊接電壓,確定電壓沒問題 5 焊接44b0+jtag電路+wiggler的jtag訪真器+周邊電路,用banyant+仿真器連接,篇五:嵌入式心得體會

      這學(xué)期才接觸嵌入式系統(tǒng)感覺還稱不上入門,我通過學(xué)習(xí)知道了嵌入式的發(fā)展前景很大,各個領(lǐng)域都用到了嵌入式,學(xué)好嵌入式不愁沒飯吃。

      廣義上講,凡是帶有微處理器的專用軟硬件系統(tǒng)都是嵌入式系統(tǒng)。如各類單片機(jī)和dsp系統(tǒng)。從狹義上講,那些使用嵌入式微處理器構(gòu)成獨(dú)立系統(tǒng),具有自己操作系統(tǒng),具有特定功能,用于特定場合的專用軟硬件系統(tǒng)稱為嵌入式系統(tǒng)。嵌入式系統(tǒng)由嵌入式硬件與嵌入式軟件組成;嵌入式硬件以芯片、模板、組件、控制器形式埋藏于設(shè)備內(nèi)部。理解“嵌入”的概念 主要從三個方面上來理解。

      1、從硬件上,將基于cpu的處圍器件,整合到cpu芯片內(nèi)部,比如早期基于x86體系結(jié)構(gòu)下的計(jì)算機(jī),cpu只是有運(yùn)算器和累加器的功能,一切芯片要造外部橋路來擴(kuò)展實(shí)現(xiàn),象串口之類的都是靠外部的16c550/2的串口控制器芯片實(shí)現(xiàn),而目前的這種串口控制器芯片早已集成到cpu內(nèi)部,還有pc機(jī)有顯卡,而多數(shù)嵌入式處理器都帶有l(wèi)cd控制器,但其種意義上就相當(dāng)于顯卡。比較高端的arm類intel xscale架構(gòu)下的ixp網(wǎng)絡(luò)處理器cpu內(nèi)部集成pci控制器(可配成支持4個pci從設(shè)備或配成自身為cpi從設(shè)備);還集成3個npe網(wǎng)絡(luò)處理器引擎,其中兩個對應(yīng)于兩個mac地址,可用于網(wǎng)關(guān)交換用,而另外一個npe網(wǎng)絡(luò)處理器引擎支持dsl,只要外面再加個phy芯片即可以實(shí)現(xiàn)dsl上網(wǎng)功能。ixp系列最高主頻可以達(dá)到1.8g,支持2g內(nèi)存,1g×10或10g×1的以太網(wǎng)口或febre channel的光通道。ixp系列應(yīng)該是目標(biāo)基于arm體系統(tǒng)結(jié)構(gòu)下由intel進(jìn)行整合后成xscale內(nèi)核的最高的處理器了。

      2、從軟件上前,就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將內(nèi)核下載到rom中。而在定制操作系統(tǒng)內(nèi)核時所選擇的應(yīng)用程序組件就是完成了軟件的“嵌入”,比如wince在內(nèi)核定制時,會有相應(yīng)選擇,其中就是wordpad,pdf,mediaplay等等選擇,如果我們選擇了,在ce啟動后,就可以在界面中找到這些東西,如果是以前pc上將的windows操作系統(tǒng),多半的東西都需要我們得新再裝。

      3、把軟件內(nèi)核或應(yīng)用文件系統(tǒng)等東西燒到嵌入式系統(tǒng)硬件平臺中的rom中就實(shí)現(xiàn)了一個真正的“嵌入”。

      嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動層、操作系統(tǒng)層和應(yīng)用層

      1、硬件層,是整個嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機(jī)及接口這塊很熟悉,并且能用c和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對容易,硬件層也是驅(qū)動層的基礎(chǔ),一個優(yōu)秀的驅(qū)動工程師是要能夠看懂硬件的電路圖和自行完成cpld的邏輯設(shè)計(jì)的,同時還要對操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ?。但硬件平臺是基礎(chǔ),增值還要靠軟件。硬件層比較適合于,電子、通信、自動化、機(jī)電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎(chǔ)知識有,單片機(jī)原理及接口技術(shù)、微機(jī)原理及接口技術(shù)、c語言。

      2、驅(qū)動層,這部分比較難,驅(qū)動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內(nèi)核十分的精通,以便其所寫的驅(qū)動程序在系統(tǒng)調(diào)用時,不會獨(dú)占操作系統(tǒng)時間片,而導(dǎo)至其它任務(wù)不能動行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實(shí)時調(diào)度性,沒有良好的驅(qū)動編寫風(fēng)格,按大多數(shù)書上所說添加的驅(qū)動的方式,很多人都能做到,但可能連個初級的驅(qū)動工程師的水平都達(dá)不到,這樣所寫的驅(qū)動在應(yīng)用調(diào)用時就如同windows下我們打開一個程序運(yùn)行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運(yùn)行后來打開的程序。想做個好的驅(qū)動人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。

      驅(qū)動層比較適合于電子、通信、自動化、機(jī)電一體、信息工程類專業(yè)尤其是計(jì)算機(jī)偏體系結(jié)構(gòu)類專業(yè)的人來搞,除硬件層所具備的基礎(chǔ)學(xué)科外,還要對數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要十分精通了解。

      3、操作系統(tǒng)層,對于操作系統(tǒng)層目前可能只能說是簡單的移植,而很少有人來自已寫操

      作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅(qū)動工程師來完成。操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件的管理,而嵌入式系統(tǒng)的實(shí)時性十分重要。據(jù)說,xp操作系統(tǒng)是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧hopen操作系統(tǒng)估計(jì)也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。

      4、應(yīng)用層,相對來講較為容易的,如果會在windows下如何進(jìn)行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境有相應(yīng)的變化而已。如果涉及java方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開發(fā)(比如基于sip、h.323、astrisk)方面又較為復(fù)雜,并且有難度了。

      通過網(wǎng)上查詢我發(fā)現(xiàn)目前國內(nèi)外這方面的人都很稀缺。一方面,是因?yàn)檫@一領(lǐng)域入門門檻較高,不僅要懂較底層軟件(例如操作系統(tǒng)級、驅(qū)動程序級軟件),對軟件專業(yè)水平要求較高(嵌入式系統(tǒng)對軟件設(shè)計(jì)的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業(yè)it人員很難切入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,很多軟硬件技術(shù)出現(xiàn)時間不長或正在出現(xiàn)(如arm處理器、嵌入式操作系統(tǒng)等),掌握這些新技術(shù)的人當(dāng)然很少。嵌入式人才稀缺,身價(jià)自然就高,越有經(jīng)驗(yàn)價(jià)格就越高。其實(shí)嵌入式人才稀少,根本原因可能是大多數(shù)人無條件接觸,這需要相應(yīng)的嵌入式開發(fā)板和軟件,另外需要有經(jīng)驗(yàn)的人進(jìn)行指導(dǎo)開發(fā)流程。我們軟件系的人學(xué)習(xí)嵌入式,顯然應(yīng)偏重于嵌入式軟件,特別是嵌入式操作系統(tǒng)方面。對于搞嵌入式軟件的人,最重要的技術(shù)顯然是掌握主流嵌入式微處理器的結(jié)構(gòu)與原理,必須掌握一個嵌入式操作系統(tǒng),必須熟悉嵌入式軟件開發(fā)流程并至少做過一個嵌入式軟件項(xiàng)目。然而我們都沒有做過一個嵌入式軟件項(xiàng)目,甚至連嵌入式的開發(fā)流程我也不清楚,我只了解了使用簡單工具做一個簡單的實(shí)驗(yàn)。只有去專研才能在嵌入式的領(lǐng)域站住腳,只有知道的比別人多才會更有競爭力。通過網(wǎng)上了解,我查詢了嵌入式的入門和所需要的知識,其中c語言尤為重要,不管是做嵌入式軟件還是硬件開發(fā)的人員,對c語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發(fā)的人,現(xiàn)在絕大部分都是用c語言。其次,應(yīng)該對操作系統(tǒng)有所了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線程,系統(tǒng)如何來分配資源的,系統(tǒng)如何來管理硬件的;知道了c語言和操作系統(tǒng)之后,再來看看嵌入式系統(tǒng),我們主要學(xué)的是arm,用的是arm7,深入理解arm不是件容易的事,只有在知道arm相關(guān)知識之后才能稱得上嵌入式已經(jīng)入門了。與嵌入式有關(guān)的知識我也學(xué)了不少就是不能夠綜合在一起運(yùn)用,組成原理,數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),c++,這3門與嵌入式密切相關(guān)的學(xué)科都系統(tǒng)的學(xué)了一遍,但由于長時間沒用到都有點(diǎn)忘記了,從網(wǎng)上得知嵌入式的學(xué)習(xí)與這些書有很大關(guān)系之后,我把嵌入式與以前學(xué)過的知識結(jié)合起來發(fā)現(xiàn)嵌入式的實(shí)驗(yàn)中很多都是共通的,我對嵌入式有了初步的理解。

      我以為學(xué)習(xí)嵌入式應(yīng)該分為2個部分:軟件和硬件。關(guān)于硬件方面我接觸到了數(shù)字電路教材和模擬電路方面的知識,但由于沒有嵌入式cpu很難親自動手來實(shí)現(xiàn)嵌入式的相關(guān)理論;嵌入式入門則需要不斷地實(shí)驗(yàn)與分析,我只在實(shí)驗(yàn)課時做幾個與所給的程序相關(guān)的小程序來實(shí)現(xiàn)一下;而軟件方面則學(xué)過c語言,里面通常的語法曾今熟悉過;我通過下列方法來適應(yīng)c語言在嵌入式中應(yīng)用:首先重新翻看了下c的教材,看了些常見的語法,接著在編譯器的角度來看待c,編譯原理我剛學(xué)過,其中將高級語言與低級語言的翻譯感覺在嵌入式中用到了很多;最后沖硬件的角度來看待c。嵌入式的核心包括嵌入式操作系統(tǒng),嵌入式軟件開發(fā)平臺及工具以及嵌入式應(yīng)用軟件。這些決定怎樣才能開發(fā)一個好的嵌入式系統(tǒng)。下面談?wù)勎伊私獾那度胧降南嚓P(guān)知識與應(yīng)用: 首先,嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),且軟硬件可裁減,適應(yīng)應(yīng) 用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式有如下幾個突出的有點(diǎn)1.系統(tǒng)內(nèi)核小,2專用性強(qiáng),3系統(tǒng)精簡4高實(shí)時性os5嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運(yùn)行,6嵌入式系統(tǒng)需要開發(fā)工具和環(huán)境。嵌入式系統(tǒng)是近幾年才風(fēng)靡起來的,但是這個概念并非新近才出現(xiàn)。從20世紀(jì)七十年代單片機(jī)(最早的單片機(jī)是intel公司的 8048,出現(xiàn)在1976年)的出現(xiàn)到今天各式各樣的嵌入式微處理器,微控制器的大規(guī)模應(yīng)用,嵌入式系統(tǒng)已經(jīng)有了近30年的發(fā)展歷史。經(jīng)過30年的發(fā)展,嵌入式技術(shù)已經(jīng)日趨成熟,在中國嵌入式機(jī)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個部分組成,用于實(shí)現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。

      其次,嵌入式系統(tǒng)無疑是當(dāng)前最熱門最有發(fā)展前途的it應(yīng)用領(lǐng)域之一。嵌入式系統(tǒng)用在一些特定專用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實(shí)時響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智能化,嵌入式更顯重要。嵌入式系統(tǒng)是軟硬結(jié)合的學(xué)科,通常有兩類人會去專研嵌入式:一類是學(xué)電子工程、通信工程等偏硬件專業(yè)的,另一類是學(xué)軟件、計(jì)算機(jī)專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開發(fā)。我是軟件專業(yè)的學(xué)習(xí)嵌入式,越是智能設(shè)備越是復(fù)雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是目前的趨勢。嵌入式應(yīng)用在很多方面,具體的可以分為工業(yè)控制,交通管理,信息家電,家庭智能管理系統(tǒng),pos網(wǎng)絡(luò)及電子商務(wù),環(huán)境工程與自然,機(jī)器人,機(jī)電產(chǎn)品方面應(yīng)用等方面。其中目前在服務(wù)領(lǐng)域,如遠(yuǎn)程點(diǎn)菜器等已經(jīng)體現(xiàn)了嵌入式系統(tǒng)的優(yōu)勢。例外還有很多地方用到了嵌入式系統(tǒng),最近飛利浦和arm共同推出32位risc嵌入式控制器,適用于工業(yè)控制,采用最先進(jìn)的0.18微米cmos嵌入式閃存處理技術(shù),操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業(yè)領(lǐng)域中對最終用戶而言是一套極具成本效益的解決方案。

      那么該如何學(xué)好嵌入式我覺得應(yīng)該從以下幾點(diǎn)入手:

      首先c語言,這個是毋庸置疑的,不管是做嵌入式軟件還是硬件開發(fā)的人員,對c語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發(fā)的人,現(xiàn)在絕大部分都是用c語言,你說不掌握它可以嗎?至于如何學(xué)習(xí)c語言,我想這些基礎(chǔ)的知識每個人都有自己的方法,關(guān)鍵要去學(xué)習(xí),看書也好,網(wǎng)上找些視頻看也好。很多人會問,c語言要學(xué)到怎么樣,我覺得這沒有標(biāo)準(zhǔn)的答案。我想至少你在明白了一些基礎(chǔ)的概念后,就該寫代碼了,動手才是最重要的,當(dāng)你動手了,遇到問題了,再反過來學(xué)習(xí),反過來查查課本,那時的收獲就不是你死看書能得到的。其次,應(yīng)該對操作系統(tǒng)有所了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線程,系統(tǒng)如何來分配資源的,系統(tǒng)如何來管理硬件的,當(dāng)然,不是看書就能把這些理解透,如果不是一時能理解,沒關(guān)系,多看看,結(jié)合以后的項(xiàng)目經(jīng)驗(yàn),會有更好的理解的。

      還有應(yīng)該學(xué)習(xí)下linux或者wince下的編程,這些對以后做應(yīng)用的編程很有幫助,當(dāng)然,如果做手機(jī)的話,那可以學(xué)習(xí)mtk、塞班、android等操作系統(tǒng),android是以后發(fā)展的趨勢,現(xiàn)在很熱門,android也是基于linux系統(tǒng)封裝的,所以建議先學(xué)習(xí)下linux。

      還有,應(yīng)該學(xué)習(xí)下單片機(jī)或者arm或者mips,很多人說我沒有單片機(jī)的經(jīng)驗(yàn),直接學(xué)arm可以嗎?我覺得那完全沒有問題的,當(dāng)然如果你學(xué)習(xí)過單片機(jī),那最好不過了,以后學(xué)習(xí)arm就更簡單了。

      最后如果你把以上的知識都有所了解后,就該去閱讀閱讀一些優(yōu)秀的代碼,比如結(jié)合arm芯片手冊學(xué)習(xí)去學(xué)習(xí)下uboot的源代碼,了解下最小的系統(tǒng)開發(fā),那對你整個嵌入式開發(fā)的非常有幫助的,可以的話,還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖

      小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。

      以上就是我在本學(xué)期學(xué)習(xí)嵌入式后的心得及感想。

      第二篇:ARM學(xué)習(xí)心得體會

      ARM四天學(xué)習(xí)心得體會

      1.懂得了如何使用IAR的軟件使用,使用前要先進(jìn)行環(huán)境的設(shè)置,具體見文檔IAR使用說明。

      2.第一次是學(xué)習(xí)點(diǎn)亮LED燈,在點(diǎn)亮LED燈中學(xué)習(xí)到如果要點(diǎn)亮LED燈必須學(xué)會調(diào)用已經(jīng)寫好的庫函數(shù),對系統(tǒng)進(jìn)行初始化SystemInit();對IO口進(jìn)行初始化GPIOInit();,還得對GPIO口的設(shè)置GPIOSetDir--設(shè)置GPIO口為輸入為1的IO口,設(shè)置完成后就可以對IO口成為輸入輸出方向,當(dāng)要點(diǎn)亮LED燈時,要使用到GPIOSetValue();函數(shù),當(dāng)為確定好某個IO口確定時,后一個為0時可以設(shè)置LED燈為點(diǎn)亮了,然后就可以對IO口進(jìn)行設(shè)置了,用法和單片機(jī)基本一致,具體可以參考程序《閃燈》。

      3.蜂鳴器的鳴響很簡單,就是首先對蜂鳴器的IO端口進(jìn)行設(shè)定以驅(qū)動蜂鳴器,GPIOSetDir(PORT3, 3, 1);當(dāng)蜂鳴器需要鳴響時,直接對PORT3_3端口進(jìn)行賦值0《GPIOSetValue(PORT3, 3, 0);》不讓蜂鳴器鳴響則是(GPIOSetValue(PORT3, 3, 01);)就可以了。4.串口的使用

      串口開始時要初始化出口,并且通過串口打印前會把數(shù)據(jù)存在數(shù)據(jù)緩存區(qū)里面,如果我們需要通過輸入值來控制ARM板子的功能時,可以讀取緩存區(qū)(UARTBuffer[UARTCount-1])的內(nèi)容(緩存區(qū)的內(nèi)的數(shù)據(jù)都是字符型數(shù)據(jù)【char】)然后就可以通過輸入的值來處理,可以用中斷方式,也可以用查詢方式,可參考串口中斷程序 5.中斷的使用

      使用中斷時需要初始化中斷例如:

      init_timer32(TEST_TIMER_NUM,TIME_INTERVAL);

      // 初始化定時器 enable_timer32(TEST_TIMER_NUM);

      //使能定時器使定時器工作 LPC_SYSCON->SYSAHBCLKCTRL |=(1<<6);//能AHB時鐘,為GPIO提供時鐘源

      通過定時器就可以在定時器內(nèi)直接操作例如圖1:

      圖1 定時器的使用操作要先開使能,與定時器的定時方式如 圖2

      圖2 6.外部中斷

      外部中斷時要先對外部中斷的方式進(jìn)行設(shè)置,是下降沿觸發(fā)還是上升沿觸發(fā)方式或其他,圖3 7.步進(jìn)電機(jī)

      InitStep();

      //步進(jìn)機(jī)相關(guān)引腳初始化

      對了步進(jìn)電機(jī)的引腳初始化后就可以對步進(jìn)電機(jī)的轉(zhuǎn)動方向進(jìn)行控制了,如圖4

      圖4 當(dāng)MOTOR_CCW 時,為反轉(zhuǎn)方式 8.鍵盤掃描

      對鍵盤進(jìn)行操作時,可以對鍵盤進(jìn)行操作,可以通過串口輸入1~8來控制燈的閃動情況,初始化如圖5

      圖5 對鍵盤的操作時使用可以參考如下圖6:

      圖6 9.I2C 在I2C中首先要在頭文件定義一個#define __DEBUG_FLASH,使后面的程序生效。圖7所示:

      圖7 在I2C里面要輸出溫度值的后面三位小數(shù)要經(jīng)過處理,如圖8所示:

      圖8 10.ADC芯片

      在用到ADC芯片時,可以顯示阻值或者mv顯示,需經(jīng)過處理如圖9所示:

      圖9

      第三篇:ARM學(xué)習(xí)規(guī)劃(經(jīng)典).

      ARM 學(xué)習(xí)規(guī)劃

      ARM+LINUX路線,主攻嵌入式 Linux 操作系統(tǒng)及其上應(yīng)用軟件開發(fā)目標(biāo):(1 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理(初步定為 arm9(2 必須掌握一個嵌入式操作系統(tǒng)(初步定為 uclinux 或 linux, 版本待定(3 必須熟悉嵌入式軟件開發(fā)流程并至少做一個嵌入式軟件項(xiàng)目。從事嵌入式軟件開發(fā)的好處是:(1目前國內(nèi)外這方面的人都很稀缺。這一領(lǐng)域入門門檻較高,所以非專業(yè) IT 人員很難切入這一領(lǐng)域;另一方面,是 因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,大多數(shù)人無條件接觸。

      (2與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低。

      (3哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,嵌入式不像應(yīng)用軟件那樣容易被盜版。硬件設(shè)計(jì)一般都是請其它公司給訂做(這 叫 “ 貼牌 ” :OEM ,都是通用的硬件,我們只管設(shè)計(jì)軟件就變成自己的產(chǎn)品了。

      (4興趣所在,這是最主要的。從事嵌入式軟件開發(fā)的缺點(diǎn)是:(1 入門起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級軟件功底不深,則可能 不適于此行。

      (2這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類企業(yè)。

      (3有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無此要求,只要有經(jīng)驗(yàn) 即可。

      (4平臺依托強(qiáng),換平臺比較辛苦。興趣的由來:

      1、成功觀念不同,不虛度此生,就是我的成功。

      2、喜歡思考,挑戰(zhàn)邏輯思維。

      3、喜歡 C C 是一種能發(fā)揮思維極限的語言。關(guān)于 C 的精神的一些方面可以被概述成短句如下: 相信程序員。

      不要阻止程序員做那些需要去做的。保持語言短小精干。一種方法做一個操作。

      使得它運(yùn)行的夠快,盡管它并不能保證將是可移植的。

      4、喜歡底層開發(fā),討厭 vb 類開發(fā)工具(并不是說 vb 不好。

      5、發(fā)展前景好,適合創(chuàng)業(yè),不想自己要死了的時候還是一個工程師。方法步驟:

      1、基礎(chǔ)知識: 目的:能看懂硬件工作原理,但重點(diǎn)在嵌入式軟件, 特別是操作系統(tǒng)級軟件 ,那將是我的優(yōu)勢。

      科目:數(shù)字電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)。

      匯編語言、C/C++、編譯原理、離散數(shù)學(xué)。

      數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫。

      方法:雖科目眾多,但都是較簡單的基礎(chǔ),且大部分已掌握。不一定全學(xué),可根據(jù)需要選修。

      主攻書籍:the c++ programming language(一直沒時間讀、數(shù)據(jù)結(jié)構(gòu)-C2。

      2、學(xué)習(xí)linux : 目的:深入掌握 linux 系統(tǒng)。

      方法:使用 linux — 〉 linxu 系統(tǒng)編程開發(fā) — 〉驅(qū)動開發(fā)和分析 linux 內(nèi)核。先看深,那主講原理??磶妆楹?看情景分析, 對照深看,兩本交叉,深是綱,情是目。剖析則是 0.11版,適合學(xué)習(xí)。最后深入代碼。

      主攻書籍:linux 內(nèi)核完全剖析、unix 環(huán)境高級編程、深入理解 linux 內(nèi)核、情景分析和源代。

      3、學(xué)習(xí)嵌入式 linux : 目的:掌握嵌入式處理器其及系統(tǒng)。方法:(1嵌入式微處理器結(jié)構(gòu)與應(yīng)用:直接 arm 原理及匯編即可,不要重復(fù) x86。(2嵌入式操作系統(tǒng)類:ucOS/II簡單,開源,可供入門。而后深入研究 uClinux。(3必須有塊開發(fā)板(arm9以上 ,有條件可參加培訓(xùn)(進(jìn)步快,能認(rèn)識些朋友。主攻書籍:毛德操的《嵌入式系統(tǒng)》及其他 arm9手冊與 arm 匯編指令等。

      4、深入學(xué)習(xí):

      A、數(shù)字圖像壓縮技術(shù):主要是應(yīng)掌握 MPEG、mp3等編解碼算法和技術(shù)。B、通信協(xié)議及編程技術(shù):TCP/IP協(xié)議、802.11, Bluetooth , GPRS、GSM、CDMA 等。

      C、網(wǎng)絡(luò)與信息安全技術(shù):如加密技術(shù),數(shù)字證書 CA 等。

      D、DSP 技術(shù):Digital Signal Process, DSP 處理器通過硬件實(shí)現(xiàn)數(shù)字信號處理算法。

      說明:太多細(xì)節(jié)未說明,可根據(jù)實(shí)際情況調(diào)整。重點(diǎn)在于1、3,不必完全按照順序作。對于學(xué)習(xí)c++,理由是 c++不只 是一種語言,一種工具,她還是一種藝術(shù),一種文化,一種哲學(xué)理念、但不是拿來炫耀得東西。對于 linux 內(nèi)核,學(xué)習(xí)編程,讀一些優(yōu)秀代碼也是有必要的。

      注意:要學(xué)會舉一反多,有強(qiáng)大的基礎(chǔ),很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種 編程語言,并具有良好的邏輯思維。一定要理論結(jié)合實(shí)踐。

      不要一味鉆研技術(shù),雖然擠出時間是很難做到的,但還是要留點(diǎn)余地去完善其他的愛好,比如宇宙,素描、機(jī)械、管理, 心理學(xué)、游戲、科幻電影。還有一些不愿意做但必須要做的!技術(shù)是通過編程編程在編程編出來的。永遠(yuǎn)不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程 在編程,完了在編程,在編程!等機(jī)會來了在創(chuàng)業(yè)(不要相信有奇跡發(fā)生,盲目創(chuàng)業(yè)很難成功,即便成功了發(fā)展空間也 不一定很大。

      嵌入式書籍推薦 Linux 基礎(chǔ)

      1、《 Linux 與 Unix Shell 編程指南》

      C 語言基礎(chǔ)

      1、《 C Primer Plus, 5th Edition》 【美】 Stephen Prata著

      2、《 The C Programming Language, 2nd Edition》 【美】 Brian W.Kernighan David M.Rithie(K & R著

      3、《 Advanced Programming in the UNIX Environment, 2nd Edition》(APUE

      4、《嵌入式 Linux 應(yīng)用程序開發(fā)詳解》 Linux 內(nèi)核

      1、《深入理解 Linux 內(nèi)核》(第三版

      2、《 Linux 內(nèi)核源代碼情景分析》毛德操 胡希明著 研發(fā)方向

      1、《 UNIX Network Programming》(UNP

      2、《 TCP/IP詳解》

      3、《 Linux 內(nèi)核編程》

      4、《 Linux 設(shè)備驅(qū)動開發(fā)》(LDD 硬件基礎(chǔ)

      1、《 ARM 體系結(jié)構(gòu)與編程》杜春雷著

      2、S3C2410 Datasheet 英語基礎(chǔ)

      1、《計(jì)算機(jī)與通信專業(yè)英語》

      系統(tǒng)教程

      1、《嵌入式系統(tǒng) ―― 體系結(jié)構(gòu)、編程與設(shè)計(jì)》

      2、《嵌入式系統(tǒng) ―― 采用公開源代碼和 StrongARM/Xscale處理器》毛德操 胡希明著

      3、《 Building Embedded Linux Systems》 理論基礎(chǔ)

      1、《算法導(dǎo)論》

      2、《數(shù)據(jù)結(jié)構(gòu)(C 語言版 》 阿斯事實(shí)上

      第四篇:ARM學(xué)習(xí)心得

      ARM linux學(xué)習(xí)心得(zt)

      2008-08-13 13:55

      由于很多人總問這個問題,所以這里做一個總結(jié)文檔供大家參考。

      這里必須先說明,以下的步驟都是針對Linux系統(tǒng)的,并不面向WinCE。也許你會注意到,現(xiàn)在做嵌入式的人中,做linux研究的人遠(yuǎn)比做WinCE的人多,很多產(chǎn)家提供的資料也是以linux為主。我一直很難理解,其實(shí)WinCE的界面比linux的界面好看多了,使用起來也很方便,更為重要的是,WinCE的開發(fā)和Windows下的開發(fā)基本一樣,學(xué)起來簡單得多,但是學(xué)linux或者使用linux做嵌入式的人就是遠(yuǎn)比WinCE多。在和很多工作的人交流時我了解到,他們公司從沒考慮使用WinCE,因?yàn)槌杀靖撸际鞘褂胠inux進(jìn)行開發(fā)。我讀研究生的的實(shí)驗(yàn)室中也沒有使用WinCE的,大都研究linux,也有少部分項(xiàng)目使用vxwork,但是就沒有聽說過使用WinCE的,原因就是開源!當(dāng)然現(xiàn)在WinCE6.0聽說也開源,不過在成本和資源上linux已經(jīng)有了無人能擋的優(yōu)勢。與此相對應(yīng)的是,越來越多的電子廠商已經(jīng)開始使用linux開發(fā)產(chǎn)品。舉個例子,Google近期開發(fā)的智能手機(jī)操作系統(tǒng)Android其實(shí)就是使用linux-2.6.23內(nèi)核進(jìn)行改進(jìn)得到的。

      第一,學(xué)習(xí)基本的裸機(jī)編程。

      對于學(xué)硬件的人而言,必須先對硬件的基本使用方法有感性的認(rèn)識,更必須深刻認(rèn)識該硬件的控制方式,如果一開始就學(xué)linux系統(tǒng)、學(xué)移植那么只會馬上就陷入一個很深的漩渦。我在剛剛開始學(xué)ARM的時候是選擇ARM7(主意是當(dāng)時ARM9還很貴),學(xué)ARM7的時候還是保持著學(xué)51單片機(jī)的思維,使用ADS去編程,第一個實(shí)驗(yàn)就是控制led。學(xué)過一段時間ARM的人都會笑這樣很笨,實(shí)際上也不是,我倒是覺得有這個過程會好很多,因?yàn)闊o論做多復(fù)雜的系統(tǒng)最終都會落實(shí)到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認(rèn)識就好很多了

      學(xué)習(xí)裸機(jī)的編程的同時要好好理解這個硬件的構(gòu)架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說,理解這個硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進(jìn)行控制的。比如說,s3c2410中有AD轉(zhuǎn)換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那么這些地址是什么意思?又怎么通過寄存器來控制這些外圍設(shè)備的運(yùn)轉(zhuǎn)?還有,norflash內(nèi)部的每一個單元在這個芯片的內(nèi)存中都有一個相應(yīng)的地址單元,那么這些地址與剛剛說的寄存器地址又有什么關(guān)系?他們是一樣的嗎?而與norflash相對應(yīng)的nandflash內(nèi)部的儲存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內(nèi)存空間上進(jìn)行使用?或者簡單地說應(yīng)該怎么用nandflash?再有,使用ADS進(jìn)對ARM9行編程時都需要使用到一個初始化的匯編文件,這個文件究竟有什么用?他里面的代碼是什么意思?不要這個可以嗎?

      諸如此類都是對硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以后更深一步的學(xué)習(xí)將有很大的幫助,如果跳過這一步,我相信越往后學(xué)越會

      覺得迷茫,越覺得這寫東西深不可測。因?yàn)椋愕母鶝]打好。

      不過先聲明一下,本人并沒有使用ADS對ARM9進(jìn)行編程,我是學(xué)完ARM7后直接就使用ARM9學(xué)linux系統(tǒng)的,因此涉及使用ADS對ARM9進(jìn)行編程的問題我很難回答^_^,自己去研究研究吧。

      對于這部分不久將提供一份教程,這個教程中的例程并不是我為我們所代理的板子寫的,是我在我們學(xué)院實(shí)驗(yàn)室拿的,英培特為他們自己的實(shí)驗(yàn)箱寫的,不過很有借鑒意義,可以作為一份有價(jià)值的參考。

      第二,使用linux系統(tǒng)進(jìn)行一些基本的實(shí)驗(yàn)。

      在買一套板子的時候一般會提供一些linux的試驗(yàn)例程,好好做一段時間這個吧,這個過程也是很有意義的,也是為進(jìn)一步的學(xué)習(xí)積累感性認(rèn)識,你能想象一個從沒有使用過linux系統(tǒng)的人能學(xué)好linux的編程嗎?好好按照手冊上的例程做一做里面的實(shí)驗(yàn),雖然有點(diǎn)娃娃學(xué)走路,有點(diǎn)弱智,但是我想很多高手都會經(jīng)歷這個過程。

      在這方面我們深藍(lán)科技目前沒有計(jì)劃提供相應(yīng)的例程,主要是開發(fā)板的提供商會提供很豐富的例程,我們不做重復(fù)工作,只提供他們沒有的、最有價(jià)值的東西給大家。

      第三,研究完整的linux系統(tǒng)的的運(yùn)行過程。

      所謂完整的linux系統(tǒng)包括哪些部分呢?

      三部分:bootloader、linux kernel(linux內(nèi)核)、rootfile(根文件系統(tǒng))。那么這3部分是怎么相互協(xié)作來構(gòu)成這個系統(tǒng)的呢?各自有什么用呢?三者有什么聯(lián)系?怎么聯(lián)系?系統(tǒng)的執(zhí)行流程又是怎么樣的呢?搞清楚這個問題你對整個系統(tǒng)的運(yùn)行就很清楚了,對于下一步制作這個linux系統(tǒng)就打下了另一個重要的根基。介紹這方面的資料網(wǎng)上可以挖掘到幾噸,自己好好研究吧。第四,開始做系統(tǒng)移植。

      上面說到完整的linux有3部分,而且你也知道了他們之間的關(guān)系和作用,那么現(xiàn)在你要做的便是自己動手學(xué)會制作這些東西。

      當(dāng)然我不可能叫你編寫這些代碼,這不實(shí)現(xiàn)。事實(shí)上這個3者都能在網(wǎng)下載到相應(yīng)的源代碼,但是這個源代碼不可能下載編譯后就能在你的系統(tǒng)上運(yùn)行,需要很多的修改,直到他能運(yùn)行在你的板子上,這個修改的過程就叫移植。在進(jìn)行移植的過程中你要學(xué)的東西很多,要懂的相關(guān)知識也很多,等你完成了這個過程你會發(fā)現(xiàn)你已經(jīng)算是一個初出茅廬的高手了。

      在這個過程中如果你很有研究精神的話你必然會想到看源代碼。很多書介紹你

      怎么閱讀linux源代碼,我不提倡無目的地去看linux源代碼,用許三多的話說,這沒有意義。等你在做移植的時候你覺得你必須去看源代碼時再去找基本好書看看,這里我推薦一本好書倪繼利的《linux內(nèi)核的分析與編程》,這是一本針對linux-2.6.11內(nèi)核的書,說得很深,建議先提高自己的C語言編程水平再去看。

      至于每個部分的移植網(wǎng)上也可以找到好多噸的資料,自己研究研究吧,不過要提醒的是,很多介紹自己經(jīng)驗(yàn)的東西都或多或少有所保留,你按照他說的去做總有一些問題,但是他不會告訴你怎么解決,這時就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保證能解決你的問題,因?yàn)槲椅幢赜龅竭^你的問題,不過我相信能給你一點(diǎn)建議,也許有助你解決問題。

      這一步的最終目的是,從源代碼的官方主頁上(都是外國的,悲哀)下載標(biāo)準(zhǔn)的源代碼包,然后進(jìn)行修改,最終運(yùn)行在板子上。

      盜用阿基米德的一句話:“給我一根網(wǎng)線,我能將linux搞定”。

      第五,研究linux驅(qū)動程序的編寫。

      移植系統(tǒng)并不是最終的目的,最終的目的是開發(fā)產(chǎn)品,做項(xiàng)目,這些都要進(jìn)行驅(qū)動程序的開發(fā)。

      Linux的驅(qū)動程序可以說是五花八門,linux2.4和linux2.6的編寫有相當(dāng)大的區(qū)別,就是同為linux2.6但是不同版本間的驅(qū)動程序也有區(qū)別,因此編寫linux的驅(qū)動程序變都不是那么容易的事情,對于最新版本的驅(qū)動程序的編寫甚至還沒有足夠的參考資料。那么我的建議就是使用、移植一個不算很新的版本內(nèi)核,這樣到時學(xué)驅(qū)動的編程就有足夠的資料了。

      這部分的推薦書籍可以參考另一篇文章《推薦幾本學(xué)習(xí)嵌入式linux的書籍》。第六,研究應(yīng)用程序的編寫。

      做作品做項(xiàng)目除了編寫驅(qū)動程序,最后還要編寫應(yīng)用程序。現(xiàn)在的趨勢是圖形應(yīng)用程序的開發(fā),而圖形應(yīng)用程序中用得最多的還是qt/e函數(shù)庫。我一直就使用這個函數(shù)庫來開發(fā)自己的應(yīng)用程序,不過我希望你能使用國產(chǎn)的MiniGUI函數(shù)庫。盜用周杰倫的廣告詞就是“支持國產(chǎn),支持MiniGUI”。MiniGUI的編程比較相似Windows下的VC編程,比較容易上手,效果應(yīng)該說是相當(dāng)不錯的,我曾使用過來開發(fā)ARM7的程序。不過MiniGUI最大的不好就是沒有像qtopia這樣的圖形操作平臺,這大大限制了他的推廣,我曾經(jīng)幻想過與北京飛漫公司(就是MiniGUI的版權(quán)擁有者)合作使用MiniGUI函數(shù)庫開發(fā)像qtopia這樣的圖形操作平臺,不過由于水平有限這只能是幻想了,呵呵。

      完成這一步你基本就學(xué)完了嵌入式linux的全部內(nèi)容了。

      還有一個小小的經(jīng)驗(yàn)想和大家分享。我在學(xué)習(xí)嵌入式linux的過程中很少問人,客觀原因是身邊的老師、同學(xué)師兄都沒有這方面的高手,主觀原因是我不喜歡問人,喜歡自己研究解決問題。這樣做有個好處,就是可以提高自己解決問題的能力,因?yàn)樽鲞@些東西總有很多問題你難以理解,別人也沒有這方面的經(jīng)驗(yàn),也不是所有問題都有人給你答案,這時必須要自己解決問題,這樣,個人的解決問題能力就顯得非常關(guān)鍵了。因此我的建議就是一般的問題到網(wǎng)上搜索一下,確實(shí)找不到答案了就問問高手,還是不行了就自己去研究,不要一味去等別人幫你解決問題。

      記住,問題是學(xué)習(xí)的最好機(jī)會。

      第五篇:arm心得.

      心得體會(許晶)

      本次實(shí)習(xí)時間是一周,我們組所選的題目是直流電動機(jī)轉(zhuǎn)速控制設(shè)計(jì),其要求有:硬件部分要求在LPC2100系列ARM的最小系統(tǒng)的基礎(chǔ)上,設(shè)計(jì)通過按鍵控制直流電動機(jī)速度的驅(qū)動電路,要求通過LPC2100內(nèi)置的PWM發(fā)生器控制直流電動機(jī);并將電動機(jī)速度通過串口送至PC機(jī)。軟件部分要求設(shè)計(jì)以上功能的脫機(jī)運(yùn)行程序,并在試驗(yàn)室調(diào)試通過。我負(fù)責(zé)的是硬件部分。首先我將系統(tǒng)分為兩部分。一是電動機(jī)控制驅(qū)動電路;二是ARM最小系統(tǒng)。在電動機(jī)驅(qū)動中,直流電機(jī)控制使用了H橋驅(qū)動電路,控制口線為P0.21、P0.22。在ARM最小系統(tǒng)中,分為5部分:電源電路、復(fù)位電路、JTAG接口電路、RS232串口電路、時鐘電路。

      在制作原理圖中,我查閱了實(shí)驗(yàn)指導(dǎo)書和課本。我所選用的是2114板子。因?yàn)長PC2114是基于一個支持實(shí)時仿真和跟蹤的16/32位ARM7TDMI-STM CPU的微控制器,并帶有128/256 k字節(jié)(kB)嵌入的高速Flash存儲器。128位寬度的存儲器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘速率下運(yùn)行。對代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。

      在這個過程中,我注意到了許多問題。通過最小系統(tǒng)的制圖,我對一些問題逐漸了解,不像剛開始學(xué)習(xí)一樣,感覺什么也不懂,硬裝知識。我畫了5部分,這幾個部分讓我對書上的內(nèi)容更加深了學(xué)習(xí)。如:時鐘電路中,我就把時鐘系統(tǒng)和晶體振蕩兩節(jié)課程,重新學(xué)習(xí)。

      而在軟件設(shè)計(jì)中,在我的搭檔編程完之后,我也對程序進(jìn)行了研究。在主程序中,我們用的是i、j表示速度與方向,正轉(zhuǎn)為“+”、反轉(zhuǎn)為“—”;最小速度為1,最大速度為4。先讓電機(jī)正向慢慢的加速,加到正傳的最大速后,在按下就變成反轉(zhuǎn),然后在依次加速,往返循環(huán),直至沒有按鍵按下。所運(yùn)用的是,調(diào)節(jié)PWM的占空比就能達(dá)到電機(jī)的速度調(diào)節(jié)。

      我們組在硬件中遇到的問題并不多,主要是在畫各部分原理圖時找器件很不熟練,不能很快的找到。這說明我不經(jīng)常用軟件。其實(shí)這個軟件制圖很方便,各種器件幾乎都能找到,找不到時也可以在上面畫圖。

      軟件中,程序在編譯正確后,下載方面出現(xiàn)了許多問題,如連接不上;不能生成hex文件等。其實(shí)這些問題,都是因?yàn)槲覀儗浖皇煜に斐傻?。在我們多次調(diào)試、鏈接之后,終于完成。

      經(jīng)過一周實(shí)習(xí),是我對ARM系統(tǒng)有了更深刻的認(rèn)識。因?yàn)榍捌诖蠹叶颊夜ぷ鞯脑?,我并沒有特別認(rèn)真的學(xué)習(xí),而這次的實(shí)習(xí),可以讓我重新再次拿起課本,認(rèn)真學(xué)習(xí)。并且使我感觸最深的是,由于嵌入系統(tǒng)的廣泛應(yīng)用,我應(yīng)該更好的去學(xué)習(xí)它、掌握它。像掌握辦公自動化一樣,成為必不可少的技術(shù)。

      下載學(xué)習(xí)ARM的心得體會word格式文檔
      下載學(xué)習(xí)ARM的心得體會.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        ARM學(xué)習(xí)方法

        ARM學(xué)習(xí)方法 一步一步學(xué)習(xí)uCOS和ARM體系結(jié)構(gòu)的心得 學(xué)習(xí)必備條件: 1、一塊開發(fā)板——例如44B0開發(fā)板,建議初學(xué)者不要去購買那些ARM9體系結(jié)構(gòu)的,因?yàn)樽鳛槌鯇W(xué)者來說ARM9體系的東......

        linux嵌入式學(xué)習(xí)流程及ARM學(xué)習(xí)大綱

        課程大綱 ● 第一階段 嵌入式Linux開發(fā)基礎(chǔ) ◆ 開學(xué)典禮、職業(yè)素養(yǎng):自我介紹; ◆ Linux基礎(chǔ)知識和系統(tǒng)安裝; ◆ Linux常用命令,文本編輯器vi,shell腳本編程; ◆ Linux開發(fā)環(huán)境基礎(chǔ)......

        ARM命名規(guī)則

        ARM==Advanced RISC Machines 它開創(chuàng)了一種嶄新的商業(yè)模式,實(shí)現(xiàn)了無廠房式工廠,依靠出售芯片技術(shù)知識產(chǎn)權(quán)的授權(quán)來盈利。 其次,ARM是一種architecture,同MIPS、PowerPC、X86等......

        arm對講機(jī)報(bào)告

        《嵌入式實(shí)訓(xùn)課》 課程設(shè)計(jì)報(bào)告 設(shè)計(jì)題目: 基于ARM的網(wǎng)絡(luò)對講機(jī) 專 業(yè) 電子信息科學(xué)與技術(shù) 班 級 091 學(xué) 號 200916022118 學(xué)生姓名 大石頭 2012年 6 月 10 日 摘要 語音......

        實(shí)習(xí)總結(jié)-嵌入式ARM

        實(shí)訓(xùn)總結(jié) 班級 卓越1301姓名*** 通過這段時間的學(xué)習(xí)使我學(xué)到了很多知識,并且了解到ARM的應(yīng)用以及對開發(fā)板的應(yīng)用,為以后的學(xué)習(xí)奠定了一定的基礎(chǔ)。 嵌入式系統(tǒng)一般定義為以應(yīng)用......

        嵌入式系統(tǒng)ARM實(shí)驗(yàn)報(bào)告

        南京郵電大學(xué)通信與信息工程學(xué)院 實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱:實(shí)驗(yàn)一基于ADS開發(fā)環(huán)境的設(shè)計(jì) 實(shí)驗(yàn)二嵌入式Linux交叉開發(fā)環(huán)境的建立 實(shí)驗(yàn)三嵌入式Linux環(huán)境下的程序設(shè)計(jì)課程名稱嵌入式......

        ARM實(shí)習(xí)報(bào)告感想

        通過這次模具設(shè)計(jì),本人在多方面都有所提高。通過這次設(shè)計(jì),綜合運(yùn)用本專業(yè)所學(xué)課程的理論和實(shí)際知識進(jìn)行設(shè)計(jì),提高學(xué)生獨(dú)立工作能力,鞏固與擴(kuò)充了ARM等課程所學(xué)的內(nèi)容,掌握ARM設(shè)......

        ARM 2017年復(fù)習(xí)題總結(jié)

        ARM 2017年復(fù)習(xí)題總結(jié) 簡答題 什么是嵌入式操作系統(tǒng)? 答:嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟/硬件可裁減,功能??煽啃?,成本,體積,功耗要求嚴(yán)格的專用計(jì)算機(jī)系統(tǒng)。......