本篇文章整理下嵌入式開發中一些入門的基礎技能,都是根據以往的工程經驗整理,適用於以前沒作過嵌入式開發的新手。bash
嵌入式開發流程通常以下,通常是在PC機的Windows系統下安裝Ubuntu虛擬機,搭建嵌入式開發環境及交叉編譯環境,開發完成後,編譯獲得bin文件,而後在Windows下將bin文件經過串口或網絡下發到嵌入式板卡,程序在嵌入式板卡上運行。服務器
串口,通常也指COM接口,傳輸速度較慢,適合遠距離傳輸。這裏用於主機與嵌入式版之間的數據通訊,通常用於指令下發等。按照協議標準還分爲RS-232-C、RS-42二、RS485等。其中RS-232也是最經常使用的串口,稱爲標準串口。下面僅介紹RS-232的的接線圖。RS232串口爲9針接口,分爲公頭與母頭,PC機上的串口通常爲公頭,以下圖。網絡
各個針孔功能以下:工具
最簡單的串行接口須要的信號線是2數據發送(TxD)、3數據接收(RxD)和5信號地(GnD) ,只須要接通這3根線便可實現上位機PC與嵌入式板的通訊,以下圖:命令行
通常使用SecureCRT工具進行上位機與板卡通訊。3d
打開快速鏈接code
協議選擇Serial,端口與波特率根據實際狀況而設置,視頻
點擊鏈接,彈出新窗口,敲回車鍵,出現如下界面表示上位機與板卡鏈接成功。blog
Telnet鏈接就是使用網絡(即網線)實現PC機與板卡通訊,而不須要串口。接口
Tlenet新建鏈接,選擇Telnet協議,主機名是板卡的ip。
點擊鏈接,彈出新窗口,輸入用戶名和密碼:
在SecureCRT中使用命令ifconfig查看板卡的ip地址:
將上位機PC與嵌入式板卡用網線直接鏈接,將PC機的本地鏈接ip地址改爲與嵌入式板卡同一個網段,例如:
在上位機中打開tftpd32工具,在Server interface中選擇上位機與嵌入式板卡相同網段的ip,以下:
注意之類PC機是做爲TFTP協議的服務端,板卡做爲客戶端。
將文件從上位機下載到板卡,在SecureCRT中輸入如下命令:
tftp -g -r 1080P.jpg 192.168.1.100
這裏-g表示從PC下載文件到板卡,-r表示遠程服務器(即PC)的文件, 1080P.jpg表示要傳輸的文件,後面的ip地址就是PC機的IP地址,例如:
輸入以上命令後,板卡在當前目錄下即收到該文件。若是須要在某個目錄下接收文件,須要切換到該目錄下,再輸入以上命令。
將文件從板卡傳輸到上位機,在SecureCRT中輸入如下命令:
tftp -p -l 10801P.jpg 192.168.1.100
這裏-p即推送的意思,-l表示本地(板卡)的文件。
說明:這裏777表示每一個用戶均可以讀寫,後面設的是路徑
說明:將aaa.h264重命名爲bbb.264
(持續更新)
在嵌入式系統中,程序每每沒法直接解碼mp4,avi等格式視頻文件,需將其轉換爲裸流.h264格式,方法以下:
PC上下載ffmpeg工具,切換到ffmpeg.exe的目錄,用cmd打開命令行窗口:
.mp4轉.h264:
ffmpeg -i 1920x1080.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 1920x1080.h264
.avi轉.h264:
ffmpeg -i 160x120.avi -vcodec h264 -s 160*120 -an -f m4v test.h264
即在ffmpeg目錄下生成所需格式的文件。