一、環境:
Linux主機(host):Ubuntu14.04
Windows 開發環境:win10+visual studio Community 2017+ visualGDB5.4R2
開發板(target):imx6
爲了方便開發arm linux 的app應用,方便仿真。其實ubuntu下裝eclipse也是可以的,前提是不要裝虛擬機,在虛擬機下開發一般會比較卡。
一般編寫代碼有幾種形式,需要仿真的話就用gdb
- linux下裝smba共享,windows下寫代碼。Linux訪問,編譯和仿真調試都在linux進行
- windows下寫代碼,然後手動ftp或者ssh scp到linux編譯。
gdb仿真可以手動命令模式,也可以藉助一些IDE來完成。vs2017+visualGDB就是採用第2種模式(推薦),並在IDE上集成了GDB調試。前期配好了,後面會方便。示意圖如下。
二、準備工具
1.windows:visualGDB+visual studio
IP:192.168.0.34
2.linux host:
① 交叉編譯工具鏈:arm-linux-gnueabihf-xxx
② ssh client ,sshd(server)
IP:192.168.0.167
3.target borad:在visualGDB下也叫Deploy machine,需要安裝ssh sshd 以及配置靜態IP(或分配固定IP), 交叉編譯的 gdbserver(放在/usr/bin/)
IP:192.168.0.77
三、安裝環境
1.window下的環境安裝,主要是visual studio(2017)+ visualGDB,其中visualGDB不是免費的。但是可以試用,不過… 這個一般不會有問題,官網下載安裝就是了。
需要注意的是要開啓,使用C++的linux開發選項。
2.linux host下,需要安裝ssh sshd,我的系統是Ubuntu14.04,這些都是有的。服務開起來就是了。
交叉編譯工具鏈,開發板商或者原廠提供的。
3.target下:安裝gdbserver,這個需要在Ubuntu主機上手動交叉編譯安裝。
步驟:
① 查看交叉編譯工具鏈下gdb版本,我的是7.6.1,就去下載對應gdb源碼(ftp://sourceware.org/pub/gdb/releases/):
# arm-linux-gnueabihf-gdb --version
② 交叉編譯gdb和gdbserver
解壓,進入目錄下
配置Makefile
# export CC=arm-linux-gnueabihf-gcc
# ./configure --prefix=/home/fzy/gdb-build --host=arm-linux-gnueabihf --target=arm-none-linux-gnueabihf --disable-werror
# make
以上會報錯:termcap問題,於是下載ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
③ 交叉編譯termcap庫:
# ./configure --target=arm-none-linux-gnueabihf --prefix=/home/fzy/termcap-build
# make
# make install
把編譯好的libtermcap.a, termcap.h 放在交叉編譯工具鏈對應的目錄bin下面的xx
重新編譯第②步驟,並進入到../gdb-7.6.1/gdb/gdbserver目錄下同樣方法編譯gdbserver
④ 進入到gdb/gdbserver 下把gdbserver拷貝到target下的/usr/bin下
四、使用visualGDB新建工程
參考官網指導https://visualgdb.com/tutorials/linux/3machine/
五、其他配置
1.arm linux下配置靜態ip
參考 https://blog.csdn.net/fzhenyu/article/details/86611646