• <xmp id="iio2k"><u id="iio2k"></u>
  • 嵌入式設計開發中的常見問題小總結

    -回復 -瀏覽
    樓主 2021-08-18 15:18:59
    舉報 只看此人 收藏本貼 樓主

      ?

    ? ? ? 嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。

      一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個嵌入式系統的核心,由硬件層、中間層、系統軟件層和應用軟件層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處于震動接收狀態時打開;也可以很復雜,如SONY 智能機器狗,上面集成了多個微小型控制電機和多種傳感器,從而可以執行各種復雜的動作和感受各種狀態信息。

    ? ? ? 從應用對象上加以定義,嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。



    1、單片機等小的外部總線

    單片機等小的MCU一般都有外部總線,可以用來接真彩LCD(異步總線接口TFT顯示屏)。手機上,大部分都是用同步(先給出一個地址,然后連續的刷數據)接口的屏。

    2、ARM處理器的應用場景

    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.若配置為輸入引腳,應將內部上拉打開;

    8、ADC和DAC

    在系統睡眠時,應該將ADC和DAC關掉,否則會耗電。

    9、看門狗的使用

    A.不要在中斷中喂狗;

    B.喂狗越沒有規律越好;

    10、I2C總線

    SDA和SCL都是雙向的,開漏驅動的,使用時要加上拉電阻。

    I2C協議的通訊過程:

    A.發送start信號(誰發送start信號,誰就是主機)

    B.發送從地址

    C.傳輸數據

    D.發送stop信號

    用軟件模擬的I2C總線有如下缺點:

    A.不能進行總線仲裁

    B.由于要一直檢測時鐘信號,因此難于實現從設備;

    11、邏輯0頁

    很多MCU的邏輯0頁可以任意映射,這樣就可以在flash中燒寫多個系統。通過配置字節配置系統從不同的地址啟動,這樣可以實現升級。


    我要推薦
    轉發到