1. 程式人生 > >嵌入式入門學習(小菜雞的學習筆記)

嵌入式入門學習(小菜雞的學習筆記)

嵌入式入門學習(小菜雞的學習筆記)

前言

最近開始接觸嵌入式,之前也就學過C語言,但是都是是非常基礎的一些知識。知識最高峰的時期就是為了過國家計算機二級C 而一通猛學。下面就放入我最近學習筆記的內容。

一、 Linux開發環境的搭建

  1. 下載VirtualBox軟體(win10下載5.2.22,win7下載4.3.12)
    VirtualBox官方下載地址
    下載Ubuntu系統映象(ubuntu12.04 LTS desktop-i386.iso )( LTS為穩定更新開發版)
    Ubuntu官方下載地址
    都儲存在一個資料夾裡(資料夾自己找位置新建,最好是 英文目錄
  2. 安裝並執行VirtualBox(預設路徑安裝即可),新建虛擬機器
  3. 虛擬機器 名稱:Ubuntu(可自定義);型別:Linux ;版本:Ubuntu64/32
  4. 設定虛擬記憶體大小,至少1024 M
  5. 建立虛擬硬碟,VDI格式,固定大小10G
  6. 掛載系統映象,設定 → 儲存 → 光碟(再點選光碟圖示 光碟圖示 )→ 選擇要掛載的系統映象(即下載的VirtualBox軟體包)。
  7. 安裝系統,選擇簡體中文 → 安裝Ubuntu → 檢查安裝條件(不選擇安裝時更新)並繼續 → 清除整個磁碟並安裝Ubuntu並繼續 → 選擇要安裝的磁碟,現在安裝。※ 安裝時一定要斷網,不然會很慢
  8. 開始安裝 → Ubuntu → 設定時區(shanghai)→ 設定語言(中文)→ 設定使用者名稱和密碼。
  9. 現在重啟 → 按 Enter 鍵移除安裝映象 → 啟動Ubuntu。
  10. 右上角系統設定 → 軟體更新 → 設定 → 有新版本時通知我(從不)ubuntu軟體 → 下載自 → 選擇163伺服器
  11. Ctrl +Alt + t 開啟終端 ,執行:sudo apt-get update(更新軟體源),執行:sudo apt-get upgrade(更新作業系統) → 選擇y (耐心等待)→ 重啟。
  12. 安裝功能增強包 → 主視窗選單中 裝置 → 安裝增強功能 → 輸入密碼授權 → 按 Enter 結束 → 關機。
  13. ※ 在關機狀態下 → 設定 → 共享資料夾 → 點選加號 → 選擇共享檔案目錄(注意:檔案目錄為英文目錄
    ) →
    勾選自動掛載 → ok。
  14. 啟動系統,不出意外就可以掛載了,但目前沒有訪問許可權,執行:sudo usermod -aG vboxsf 使用者名稱(使用者名稱就是你安裝時設定的使用者名稱。執行後沒有報錯/彈出什麼問題就行了),然後重啟。
  15. 此時就可以與windows共享目錄了,裝置 → 共享貼上板 → 雙向
  16. 設定 → 系統設定 → 語言支援 → 安裝完整語言支援,此時輸入法就完整了,Ctrl+ 空格就能切換輸入法
  17. 安裝搜狗輸入法,百度搜狗拼音進入官網 → 選擇Linux輸入法,下載安裝包,按照教程設定系統並安裝支援框架 fcitx,找到並雙擊輸入法安裝包開始安裝,安裝完成後重啟系統。
  18. 安裝vim編譯器 和 gcc編譯器 :依次輸入如下程式碼
    sudo apt-get install vim
    sudo apt-get install g++

配置環境:找到下面圖片中
Ctrl +Alt + t 執行終端
輸入vim ~/.bashrc
在檔案中尋找alias l='ls -CF'這行程式碼並在這行程式碼下面增加如下程式碼:
alias gcc='gcc -std=gnu99'(更新gcc編譯器)
alias rm='rm -i'(rm刪除確認)用rm刪除的檔案無法找回,以防誤刪需要刪除確認

最終結果如圖所示:

在這裡插入圖片描述
最後按下Esc

輸入

再輸入w+q回車,儲存並退出。

至此虛擬機器環境基本搭建完畢。

二、 VIM

  1. vim 是什麼?
    vim是可以終端下使用的全鍵盤操作的檔案編輯器,可配置、可擴充套件、可程式設計的成長型神器。
    基本使用方法:
    (1) 進入vim,vim檔名,檔案存在則直接開啟,不存在則建立,此時只能閱讀程式碼或修改程式碼,不適合編寫程式碼。
    (2) 輸入i,進入插入模式,可以正常編寫程式碼
    (3) 程式碼編寫完後,按 Ctrl+x執行,按 Enter返回,輸入i繼續編寫
    (4) Ctrl+z 儲存退出

  2. vim的三大模式與切換方法
    (1) 正常模式:剛進入時的模式,適合閱讀程式碼、修改程式碼
    (2) 插入模式:適合編寫程式碼
    (3) 行底模式:進行配置vim,執行vim相關命令
    正常模式 輸入i 進入插入模式

    插入模式 按 Esc 進入正常模式

    正常模式 輸入: 進入行底模式

    行底模式 按EscCtrl+c返回正常模式

    插入模式和行底模式之間不能直接轉換,必須由正常模式跳轉

    正常模式:
    ※游標的移動:
    kjhl-------------上下左右移動游標

    PgUp PgDn---------------上下翻頁

    home end----------------行首 、行尾

    n+Enter---------------------向後跳轉n行

    n+G--------------------------跳轉到第n行

    vim file.c +n ------------------進入檔案後跳轉到第n行

    ※刪除程式碼:
    x ---------------------------------刪除一個字
    dw 或 de -----------------------刪除一個單詞
    d$--------------------------------刪除到行尾
    dd--------------------------------刪除整行
    ndd------------------------------刪除n行

    ※複製程式碼:
    yy--------------------------------複製整行
    nyy------------------------------複製n行
    p---------------------------------貼上到下一行

    ※替換程式碼:
    r ---------------------------------替換一個字元(游標定位在要替換的字元上,按r,然後輸入替換後的字元)
    cw / ce-------------------------替換一個單詞(把游標定位在要替換的單詞首字母,然後按 cw / ce ,單詞會被刪除並進入插入模式)
    R--------------------------------進入替換模式

    ※撤銷與反撤銷:
    u -------------------------------撤銷之前的操

    Ctrl+r --------------------------取消撤銷操作

    插入模式:
    此模式下主要用來編寫程式碼,因此快捷鍵不多
    Ctrl +i -------------------------相當於製表符tab鍵
    Ctrl +p ------------------------程式碼補全
    Ctrl +j -------------------------相當於Enter
    Ctrl +c------------------------返回正常模式

    *行底模式:
    執行vim的一些命令
    q -------------------------------退出
    q!-----------------------------強直退出
    w -------------------------------寫入
    wq -----------------------------儲存退出
    對vim進行一些配置:
    set nu ------------------------顯示行號
    set nonu ---------------------不顯示行號
    set ts=4 ----------------------設定tab的寬度
    在行底模式下進行此設定都是臨時有效,要長時間有效就要把這些命令寫入配置檔案中, ~/.vimrc
    輸入 vim ~/.vimrc
    輸入以下程式碼配置vimrc

set nu 			"顯示行號
syntax on 		"進行語法檢查,顏色顯示
set hlsearch		"高亮度反白
set bg=dark		"顯示不同底色色調
set tabstop=4		"設定tab空格數為4
set shiftwidth=4	"設定縮排寬度為4
set cursorline		"當前行顯示下劃線
set noexpandtab		"使用空格代替tab,在Makefile中縮排要使用tab
set autowrite       	"自動儲存
set noswapfile		"不生成臨時檔案
set autoindent		"自動縮排
set smartindent		"智慧縮排

"---快捷編譯--- 直接按Ctrl+x 就能編譯運行了
"1編譯函式
func! CompileCode()
	"寫入檔案
	exec "w"
	"判斷檔案型別
	if &filetype == "cpp"
		exec "!g++ % && ./a.out"
	elseif &filetype == "c"
		exec "!gcc -std=gnu99 % -lm -lpthread && ./a.out"
	endif
endfunc
"2對映快捷鍵
map <C-x> :call CompileCode()<CR>
imap <C-x> <ESC>:call CompileCode()<CR>
vmap <C-x> <ESC>:call CompileCode()<CR>

"---快捷儲存退出---  直接按Ctrl+z 就能儲存退出了
"1儲存退出函式
func! SaveExit()
	exec "wq"
endfunc
"2對映快捷鍵
map <C-z> :call SaveExit()<CR>
imap <C-z> <ESC>:call SaveExit()<CR>
vmap <C-z> <ESC>:call SaveExit()<CR>

按Ctrl+z 儲存退出,恭喜恭喜配置完畢!
大功告成!