嵌入式Linux上便捷開發(fā)環(huán)境搭建
掃描二維碼
隨時隨地手機(jī)看文章
1.本文說明2.基本工具3.基本思想4.操作流程4.1 第一步ubuntu上安裝tfp4.2 Windows上VS Code的操作5. 測試與使用6.總結(jié)
1.本文說明
嵌入式Linux開發(fā)往往都會面臨一個問題,就是查看代碼與編寫代碼在Windows操作系統(tǒng)上比較方便,同時相關(guān)的工具也比較的齊全,用起來也比較的順手。但是往往嵌入式的編譯卻需要在宿主機(jī)上進(jìn)行,這樣就會帶來很多不方便。開發(fā)效率也比較低,下面分享一下我是如何搭建嵌入式開發(fā)環(huán)境的。
2.基本工具
1.虛擬機(jī)工具VMware Workstation 12 Player
在虛擬機(jī)上運行一個Ubuntu16.04作為宿主機(jī),該工具使用免費版本即可,無需破解。
2.SSH遠(yuǎn)程連接工具M(jìn)obaXterm
之前采用xshell,由于MobaXterm直接集成了sftp,所以不需要xftp。這個工具作為連接宿主機(jī)的工具是極好不過的。
3.串口調(diào)試工具xshell
xshell的強(qiáng)大之處在于可以同時開幾個終端,而且穩(wěn)定可靠,連接開發(fā)板,打印出來的信息看起來很整潔。
4.代碼編輯工具Visual Studio Code
強(qiáng)大的文字編輯工具,瀏覽內(nèi)核代碼,寫程序,效果就不用介紹了。
5.vscode插件ftp-sync
有了這個工具,在Windows上編輯的代碼就能夠及時的同步到Linux平臺下。
3.基本思想
之前采用過nfs同步文件,Windows上直接掛在nfs目錄。發(fā)現(xiàn)代碼量大了之后會導(dǎo)致電腦卡頓或者有時會出現(xiàn)藍(lán)屏的問題,所以采用ftp直接傳文件,修改一個傳一個這樣效率又很低,所以看到了vscode上有個ftp-sync插件,只需要兩端的文件結(jié)構(gòu)一樣,vscode保存文件后就可以自動上傳修改的代碼,使用起來十分的方便。下面詳細(xì)介紹一下使用方法。
4.操作流程
4.1 第一步ubuntu上安裝tfp
查看是否已經(jīng)安裝
vsftpd?-v
沒有安裝,提示信息如下
輸入sudo apt-get install vsftpd
進(jìn)行安裝
接著修改配置文件
sudo?mv?/etc/vsftpd.conf?/etc/vsftpd.conf.bat
sudo?vim?/etc/vsftpd.conf
其中vsftpd.con的文件內(nèi)容如下所示
#?禁止匿名用戶登錄
anonymous_enable=NO
#?允許系統(tǒng)用戶登錄
local_enable=YES
#?啟用可以修改文件的?FTP?命令
write_enable=YES
#?本地用戶創(chuàng)建文件的?umask?值
local_umask=022
#?允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內(nèi)容
dirmessage_enable=YES
#?開啟日記功能
xferlog_enable=YES
#?使用標(biāo)準(zhǔn)的20端口來連接ftp
connect_from_port_20=YES
#?使用標(biāo)準(zhǔn)日志格式
xferlog_std_format=YES
#?如果啟動這項功能,則所有列在chroot_list_file之中的使用者不能更改根目錄
chroot_list_enable=YES
#?指定限制的用戶文件
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
#?ftp服務(wù)器將處于獨立啟動模式
listen=YES
#?設(shè)置一個本地用戶登錄后進(jìn)入到的目錄
local_root=/home/bigmagic/code
#?設(shè)置PAM認(rèn)證服務(wù)的配置文件名稱,該文件保存在“/etc/pam.d/”目錄下
pam_service_name=vsftpd
#?ftp將檢查userlist_file設(shè)置文件中指定的用戶是否可以訪問vsftpd服務(wù)器
userlist_enable=YES
#?只允許user_list文件中記錄的ftp用戶能登錄vsftp服務(wù),其他的ftp用戶都不可以登錄。
userlist_deny=NO
#?定義限制/允許用戶登錄的文件
userlist_file=/etc/vsftpd/allowed_users
#?ftp服務(wù)器將使用tcp_wrappers作為主機(jī)訪問控制模式
tcp_wrappers=YES
#?連接ftp服務(wù)費使用的端口
listen_port=21
allow_writeable_chroot=YES
其中需要自己修改的是local_root=/home/xxx
,注意可以訪問的目錄的權(quán)限
然后添加ftp服務(wù)可以訪問的用戶
sudo?vim?/etc/vsftpd/allowed_users
sudo?vim?/etc/vsftpd/vsftpd.chroot_list
新增用戶或者自己創(chuàng)建用戶,里面一行代表一個用戶
啟動并驗證
sudo?service?vsftpd?start
sudo?service?vsftpd?stauts
看到以下信息表示啟動成功
bigmagic@ubuntu:~$?/etc/init.d/vsftpd?status
●?vsftpd.service?-?vsftpd?FTP?server
???Loaded:?loaded?(/lib/systemd/system/vsftpd.service;?enabled;?vendor?preset:?enabled)
???Active:?active?(running)?since?日?2019-02-17?23:16:08?CST;?9min?ago
?Main?PID:?2042?(vsftpd)
???CGroup:?/system.slice/vsftpd.service
???????????└─2042?/usr/sbin/vsftpd?/etc/vsftpd.conf
2月?17?23:16:08?ubuntu?systemd[1]:?Starting?vsftpd?FTP?server...
2月?17?23:16:08?ubuntu?systemd[1]:?Started?vsftpd?FTP?server.
2月?17?23:25:11?ubuntu?systemd[1]:?Started?vsftpd?FTP?server.
bigmagic@ubuntu:~$
在Windows的瀏覽器上訪問,IP地址取決于宿主機(jī)的IP地址。
ftp:192.168.1.8
如果瀏覽器窗口可以正常的看到ubuntu上的文件表示啟動成功
4.2 Windows上VS Code的操作
Windows操作系統(tǒng)作為主要開發(fā)系統(tǒng),利用VS Code進(jìn)行代碼編寫,搜索擴(kuò)展功能的tfp-sync插件
安裝完成后可以按照下面的步驟進(jìn)行操作
新建一個工作目錄,并用VS Code打開
快捷鍵Ctrl+Shift+P,輸入Ftp-sync:Init回車用于初始化目錄
5. 測試與使用
環(huán)境搭建完成,可以進(jìn)行測試工作。首先要保證兩點:
1.打開的目錄用Ftp-sync:Init初始化過,會生成一個ftp-sync.json文件
2.宿主機(jī)指定的目錄中需要和remotePath指定的目錄一致,比如設(shè)置的remote目錄為/.,那么宿主機(jī)配置的ftp的目錄為/home/bigmagic/code,所以在/home/bigmagic/code目錄下是同步的。
3.文件夾的權(quán)限,如果不確定,可以設(shè)置為777權(quán)限
chmod?-R?777?code/
Windows上創(chuàng)建一個文件
然后在vscode上選擇右鍵同步即可
也可以在ubuntu上創(chuàng)建,遠(yuǎn)程拉取文件下來。
并且有最大的好處是在Windows上保存代碼后,會自動上傳。
6.總結(jié)
環(huán)境搭建是提高嵌入式開發(fā)效率的很好的手段,所以在做開發(fā)之前,先用好工具,再有了好工具之后也會提高開發(fā)的效率和開發(fā)的水平,節(jié)省時間。