嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。
一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個嵌入式系統的核心,由硬件層、中間層、系統軟件層和應用軟件層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處于震動接收狀態時打開;也可以很復雜,如SONY 智能機器狗,上面集成了多個微小型控制電機和多種傳感器,從而可以執行各種復雜的動作和感受各種狀態信息。
從應用對象上加以定義,嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
1、單片機等小的外部總線
單片機等小的MCU一般都有外部總線,可以用來接真彩LCD(異步總線接口TFT顯示屏)。手機上,大部分都是用同步(先給出一個地址,然后連續的刷數據)接口的屏。
ARM7:工業控制、手機;
ARM9:圖像顯示;
Cortex-A:高性能的應用:手機、山寨本;
Cortex-M:低端的應用;
Cortex-R:中端的應用,比較少見;
3、ARM處理器的異常
一般情況下,前面的一些中斷(比如前15種)是由ARM公司自己設計的,并且是固定的,后面的部分中端則是由不同的芯片廠家定義的。
4、處理器的System Timer
System Timer 即Systick,在沒有OS時,可以作為通用的定時器使用。在需要OS時,可以作為OS的系統時鐘。
5、同一中斷的禁止和使能分別由不同的寄存器控制
目前,很多的處理中都會有這樣的現象,同一中斷的禁止和使能分別由不同的寄存器控制。禁止該中斷時,向中斷屏蔽寄存器中對應的位寫入1,使能該中斷時,向中斷使能寄存器的對應位寫入1。
這樣分開控制的好處是:
A.不用將中斷控制寄存器的值先讀出來,進行或運算后再寫回去;
B.直接寫1,不會影響到其它位所控制的中斷;
6、OD門輸出
在處理器電平與外設電平不匹配時可以使用。
7、如何設置IO的狀態以降低功耗
若某輸入引腳懸空,有漏電流,會耗電。判斷方法:用手摸時,電流會變動。
A.將不用的引腳設置為0或者1的輸出模式;
B.若配置為輸入引腳,應將內部上拉打開;
在系統睡眠時,應該將ADC和DAC關掉,否則會耗電。
9、看門狗的使用
A.不要在中斷中喂狗;
B.喂狗越沒有規律越好;
10、I2C總線
I2C協議的通訊過程:
A.發送start信號(誰發送start信號,誰就是主機)
B.發送從地址
C.傳輸數據
D.發送stop信號
用軟件模擬的I2C總線有如下缺點:
A.不能進行總線仲裁
B.由于要一直檢測時鐘信號,因此難于實現從設備;
11、邏輯0頁
很多MCU的邏輯0頁可以任意映射,這樣就可以在flash中燒寫多個系統。通過配置字節配置系統從不同的地址啟動,這樣可以實現升級。
-
單片機
+關注
關注
6044文章
44643瀏覽量
640042 -
嵌入式
+關注
關注
5097文章
19228瀏覽量
308839 -
ARM處理器
+關注
關注
6文章
361瀏覽量
42012
原文標題:嵌入式開發中的常見問題小總結
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
嵌入式開發中的常見問題小總結
嵌入式開發中的常見問題小總結
藍橋杯之嵌入式STM32F103RBT6教程及常見問題有哪些
在嵌入式系統中使用FPGA時的常見問題及對策
NIOS II 常見問題總結
【嵌入式】基于ARM的嵌入式Linux開發總結

嵌入式linux 開發小知識總結

評論