• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

為什么要在Linux開發(fā)單片機(jī),window不香嗎?

05/20 15:22
690
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

來源:公眾號(hào)【魚鷹談單片機(jī)】,ID ? :emOsprey

當(dāng)然香了。魚鷹使用 MDK 開發(fā)單片機(jī)超十年,大部分 bug 靠對 MDK 的熟悉,都能快速解決,為啥要在 linux 里面開發(fā)單片機(jī)呢。

很少是自己感興趣而學(xué)習(xí),大部分情況還是工作所迫。比如你的工作環(huán)境,就是不能使用 MDK ,只能在 linux 下開發(fā),因?yàn)楣镜捻?xiàng)目都是這個(gè)模式,而一般的道友,因?yàn)榱?xí)慣了 MDK,一到 Linux 環(huán)境下,只能靠串口打印解決問題了,費(fèi)時(shí)費(fèi)力,不知道因?yàn)橐粋€(gè) bug 加了多少班,開發(fā)速度也大大降低了。

前段時(shí)間,魚鷹在使用 Python + web 搭建自己的課程網(wǎng)站,發(fā)現(xiàn)遇到的坑實(shí)在是太多了,之前 Python 全靠打印調(diào)試,最近才用 VSCode 在線調(diào)試了,遇到 bug 的解決速度快多了。

所以,魚鷹覺得,不管任何編程語言,如果能在線調(diào)試看到整個(gè)程序的運(yùn)行過程,都是非常舒服的事情。

而魚鷹目前這個(gè)倉庫,已經(jīng)支持 Python, C /C++,單片機(jī)、linux 開發(fā)板在線調(diào)試,解決bug速度快多了。

前面關(guān)于單片機(jī)的開發(fā)調(diào)試介紹的比較多,總之就是使用 Docker 一條龍服務(wù),少踩非常多坑。同時(shí)魚鷹最近對 yocto 下的調(diào)試開發(fā),也有不少收獲,后面會(huì)陸續(xù)更新到倉庫里。

下面介紹的內(nèi)容,基本上和單片機(jī)類似,都是在 VSCode 遠(yuǎn)程開發(fā)下操作,可以借鑒:

文字說明

下面所有操作都是在 windows 下遠(yuǎn)程 linux 開發(fā),不需要來回切換。

便捷按鈕,編譯、cmake 配置、編譯和拷貝:

配置時(shí),選擇你是進(jìn)行交叉編譯還是本地編譯,docker 鏡像支持兩種,目前暫不支持 arm32,。

然后選擇你的測試程序語言(因?yàn)檫@個(gè)工程用于學(xué)習(xí),所以區(qū)分了語言類型,方便測試)。

最后輸入應(yīng)用程序,目前只有 demo。后面會(huì)增加更多,比如 modbus 等。

配置完成即可點(diǎn)擊編譯按鈕。當(dāng)然也可以點(diǎn)擊編譯和拷貝按鈕,這樣可以把交叉編譯好的程序自動(dòng)拷貝到 Linux 開發(fā)板中。

重點(diǎn)來了。

根據(jù)是本地編譯還是交叉編譯,開始調(diào)試。

此時(shí),工程會(huì)自動(dòng)在開發(fā)板啟動(dòng) gdbserver 程序,同時(shí)啟動(dòng)調(diào)試界面(不需要手動(dòng)登錄開發(fā)板,然后啟動(dòng) gdbserver 程序)。

調(diào)試界面:

交叉編譯調(diào)試情況下,基本沒法直接查看一些 string 和 vector 等的信息。如:

現(xiàn)在魚鷹經(jīng)過研究,解決了這個(gè)問題,可以非常方便查看數(shù)據(jù):

并且在 VSCode 可以直接看到開發(fā)板的打印輸出,不需要再開一個(gè)窗口,大大加快開發(fā)速度。

變量(局部變量、寄存器、全局變量)、調(diào)用棧查看:

匯編單步調(diào)試(以前還以為不支持呢)。

代碼開發(fā):

查看分支提交情況:

查看文件修改和提交:

用了 VScode + docker,發(fā)現(xiàn) linux 開發(fā)還是比較簡單的事情。

目前課程錄制完成了(后面可能繼續(xù)增加視頻),是時(shí)候漲價(jià)一波了,原價(jià)是 799,因?yàn)閭}庫更新了比較多內(nèi)容,因此目前價(jià)格?899,組團(tuán)價(jià) 859(兩人以上),如果對以上內(nèi)容感興趣的,歡迎聯(lián)系魚鷹。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄