嵌入式開發基礎掌握

最近聽了清華大學物理系曾鳴老師的嵌入式課程,就課程中的知識進行總結。

  1. 微控制器軟件開發過程中的各種文件
    在這裏插入圖片描述
    (1)C編譯器:生成C語言對應的彙編代碼
    (2)彙編編譯器:將彙編文件變爲0/1代碼
    (3)目標文件:此時仍是邏輯的,並未與邏輯一一對應
    (4)鏈接配置文件:規定內存、flash、RAM的具體分配,譬如那個地址段放變量,那個地址段放堆棧
    (5)映射文件:指出每個變量、堆棧的具體空間,譬如每個變量對應的地址範圍

  2. C語言的數據類型
    在這裏插入圖片描述

  3. 嵌入式的重定義:typedef
    C語言不同的數據類型在不同位數的平臺上對應不同的長度,例如long int在32位,64位分別對應長度爲4,8,爲了保證同一工程能在不同平臺上均能運行,因此我們只需要使用typedef重定義同一數據類型的長度,例如:typedef int uint_16t。
    因此,總結如下:
    在這裏插入圖片描述4.C語言的位操作
    C語言的位操作如下所示:
    在這裏插入圖片描述C語言中使用固定的掩碼來進行位運算
    (1)判斷位狀態:0/1
    在這裏插入圖片描述上面代碼的作用爲判斷uchar_var第四位即bit3的位值是0/1
    (2)提取某幾位的值
    在這裏插入圖片描述提取變量的低四位的值:與低四位爲1其他位爲0的掩碼&
    提取變量的高四位的值:用高四位爲1其他位爲0的掩碼與變量&後,右移4位
    (3)移位

uchar_var = 0x43;
//左移4位
uchar_var >> = 4;
//右移4位
uchar_var << = 4;

(4)清0
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章