嵌入式入門學習(小菜雞的學習筆記)
嵌入式入門學習(小菜雞的學習筆記)
前言
最近開始接觸嵌入式,之前也就學過C語言,但是都是是非常基礎的一些知識。知識最高峰的時期就是為了過國家計算機二級C 而一通猛學。下面就放入我最近學習筆記的內容。
一、 Linux開發環境的搭建
- 下載VirtualBox軟體(win10下載5.2.22,win7下載4.3.12)
VirtualBox官方下載地址
下載Ubuntu系統映象(ubuntu12.04 LTS desktop-i386.iso )( LTS為穩定更新開發版)
Ubuntu官方下載地址
※ 都儲存在一個資料夾裡(資料夾自己找位置新建,最好是 英文目錄 - 安裝並執行VirtualBox(預設路徑安裝即可),新建虛擬機器
- 虛擬機器 名稱:Ubuntu(可自定義);型別:Linux ;版本:Ubuntu64/32
- 設定虛擬記憶體大小,至少1024 M
- 建立虛擬硬碟,VDI格式,固定大小10G
- 掛載系統映象,設定 → 儲存 → 光碟(再點選光碟圖示 )→ 選擇要掛載的系統映象(即下載的VirtualBox軟體包)。
- 安裝系統,選擇簡體中文 → 安裝Ubuntu → 檢查安裝條件(不選擇安裝時更新)並繼續 → 清除整個磁碟並安裝Ubuntu並繼續 → 選擇要安裝的磁碟,現在安裝。※ 安裝時一定要斷網,不然會很慢
- 開始安裝 → Ubuntu → 設定時區(shanghai)→ 設定語言(中文)→ 設定使用者名稱和密碼。
- 現在重啟 → 按 Enter 鍵移除安裝映象 → 啟動Ubuntu。
- 右上角系統設定 → 軟體更新 → 設定 → 有新版本時通知我(從不)ubuntu軟體 → 下載自 → 選擇163伺服器
- 按Ctrl +Alt + t 開啟終端 ,執行:
sudo apt-get update
(更新軟體源),執行:sudo apt-get upgrade
(更新作業系統) → 選擇y (耐心等待)→ 重啟。 - 安裝功能增強包 → 主視窗選單中 裝置 → 安裝增強功能 → 輸入密碼授權 → 按 Enter 結束 → 關機。
- ※ 在關機狀態下 → 設定 → 共享資料夾 → 點選加號 → 選擇共享檔案目錄(注意:檔案目錄為英文目錄
勾選自動掛載 → ok。 - 啟動系統,不出意外就可以掛載了,但目前沒有訪問許可權,執行:
sudo usermod -aG vboxsf 使用者名稱
(使用者名稱就是你安裝時設定的使用者名稱。執行後沒有報錯/彈出什麼問題就行了),然後重啟。 - 此時就可以與windows共享目錄了,裝置 → 共享貼上板 → 雙向
- 設定 → 系統設定 → 語言支援 → 安裝完整語言支援,此時輸入法就完整了,Ctrl+ 空格就能切換輸入法
- 安裝搜狗輸入法,百度搜狗拼音進入官網 → 選擇Linux輸入法,下載安裝包,按照教程設定系統並安裝支援框架 fcitx,找到並雙擊輸入法安裝包開始安裝,安裝完成後重啟系統。
- 安裝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
-
vim 是什麼?
vim是可以終端下使用的全鍵盤操作的檔案編輯器,可配置、可擴充套件、可程式設計的成長型神器。
基本使用方法:
(1) 進入vim,vim檔名,檔案存在則直接開啟,不存在則建立,此時只能閱讀程式碼或修改程式碼,不適合編寫程式碼。
(2) 輸入i,進入插入模式,可以正常編寫程式碼
(3) 程式碼編寫完後,按 Ctrl+x執行,按 Enter返回,輸入i繼續編寫
(4) Ctrl+z 儲存退出 -
vim的三大模式與切換方法
(1) 正常模式:剛進入時的模式,適合閱讀程式碼、修改程式碼
(2) 插入模式:適合編寫程式碼
(3) 行底模式:進行配置vim,執行vim相關命令
正常模式 輸入i 進入插入模式插入模式 按 Esc 進入正常模式
正常模式 輸入: 進入行底模式
行底模式 按Esc或Ctrl+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 儲存退出,恭喜恭喜配置完畢!
大功告成!