超另類:在vscode下實現編譯仿真下載,你絕對想不到

2021-01-08 21IC中國電子網

生命在於運動,技術在於折騰,你是否厭倦了在keil、iar下孜孜不倦的寫代碼、debug,是否玩累了在外部編輯器下寫代碼,然後在轉到ide下進行仿真、下載等操作呢?

這個教程將介紹下如何在vscode下實現這些操作,真正實現一個vscode可以吃天、實現編譯仿真下載一條龍服務,而你只需要在vscode下的終端敲幾個命令而已。。。

本教程以阿波羅開發板stm32f429igt6為例,先瞅瞅最終界面

最終可以用的功能如下:

1,vscode終端下執行make指令,即可在build文件下編譯出.hex .bin .elf文件,中間文件放在build/Obj/文件夾下

2,執行make clean,可清除build文件夾

3,執行make download,可一鍵下載hex到目標板子並讓板子復位運行,相當於keil的一鍵下載按鈕

4,執行make reset,可以讓板子復位運行一下

5,執行make commit,可一鍵推送到你的github或者giteee遠程伺服器上去,但前提是你自己創建了這個工程的git

教程如下:

環境:

1,下載vscode及必要插件,令需要一個插件Cortex_debug

2,Windows下安裝arm-none-eabi-gcc工具鏈,推薦q4版本

下載及安裝教程:見原文

3,Windows下安裝Jlink最新版驅動(V6.88a)

見原文

4,GNU make

百度網盤連結和安裝教程、添加環境變量教程見原文

5,git bash

這個不用說,大家都會有的吧,然後需要把vscode的終端換成git bash。百度一下,太容易了。

好了,環境就搭好了,不要嫌麻煩,現在越麻煩,你用起來越方便!

編譯:

編譯只需在vscode終端中執行make指令就行,如下圖:

仿真:

仿真的話需要vscode下的插件cortex debug,這個教程我粘貼上我之前寫的國產晶片fm33lc02x的教程,大家只要把晶片名字換成STM32F429就行

(1) vscode下載插件cortex debug插件

(2) 創建launch.json文件

如下圖所示:

然後選擇CotrexDebug即可創建好launch.json文件

(3) 配置launch.json文件

稍微按照自己的晶片修改下就好,以FM33LC026為例:

然後將廠商提供的.svd文件放到你的工程根目錄即可開始仿真,可以看變量、看外設寄存器、內核寄存器等等,還可以保存你的斷點等。

然後實現這一切的核心就是makefile文件

,不用管,我已經幫你寫好了,而且全部中文注釋,各種參數也是取自stm32cube的makefile參數,放心的用,放心的學!

然後我將在附件提供一個基於阿波羅開發板stm32f429igt6的點燈例程。如果的晶片不是stm32f429,但只要你的核是arm核,本例程本makefile,通通能用!

換晶片後你需要改以下內容:

1,找到你的晶片的基於gcc的啟動文件和連結腳本,一般問廠商要肯定有的,不用自己寫,然後替換到根目錄下的2個對應文件

2,改以下內容,是不是看起來特簡單。

然後,就搞定了,具體的參數可以去stm32cube上生成一個對應內核的makefile,然後參考下就行了,其實其他核是更簡單的。教程可能有點亂,後期我會在整理下。

最後附上我的整個makefile

由于格式限制,想查看詳細代碼和安裝包請搜索:21ic,輸入下方標題搜索查看哦~

原標題:教你在vscode下用stm32+makefile+gcc實現編譯仿真下載一條龍服務

原創作者:791314247

本文為21ic原創獎勵作品,詳情請見21ic論壇活動專區:第一屆萬元紅包——藍V達人原創獎勵活動,如果您也有興趣參與徵文,歡迎進入論壇參與活動~

相關焦點

  • vscode:看起來我運行在Windows上,其實我運行在Linux上
    vscode插件:remote-wsl,讓vscode真正的運行在Linux上。vscode已經出來好幾年了,這些年也發展得越來越好,很多人都已經用它代替笨重的ide了。但是它本質上只是一個文本編輯器,通過各種各樣的插件可以實現一些功能,但是編譯環境什麼的還是要在電腦上自己配置。在Windows上配置會稍微麻煩一些,需要到官網下載軟體,安裝然後配置環境變量,而且通常不止一款軟體。在Linux上就比較簡單了,一條安裝命令就可以解決。後來就有了這樣一種解決方案,在wsl上配置編譯環境,使用vscode編輯,將vscode的終端默認設置為wsl就好了。
  • vscode入門:熟悉vscode和初級配置
    登錄vscode官網,下載對應平臺的安裝包安裝即可,下載安裝的過程中可以了解一下release notes,看看官方文檔。默認是英文界面,可以修改成中文(初期為了熟悉工具,最好使用熟悉的語言,英語大神可以跳過這一步)。點擊界面左下角的設置按鈕,選擇最上面的Command Palette...
  • 簡要記錄丨VSCode 搭建基礎 C/C++ 編譯環境
    但是 VSCode 可以通過安裝各種擴展插件,實現代碼編譯、調試、運行等功能。  我覺得首先概念要正確,然後才能好好正視這個軟體,參考知乎回答解釋如下:VSC 只是一個純文本編輯器( editor ),不是 IDE (集成開發環境),不含編譯器( compiler )和許多其它功能,所以編譯器要自己裝好。
  • C/C++編程筆記:VScode搭建C和C++環境的圖文教程
    下載過程由於是從外網下載,會比較慢,可以多試幾次或者掛代理,另外根據筆者的經驗來看外網的東西一般中午下載起來會比較快。下載好了之後把他放在一個沒有中文和空格的目錄下解壓,然後配置環境變量。;return0;}複製代碼然後我們編譯他,點擊最上方的終端-->配置默認生成任務(也可以用快捷鍵ctrl+shift+b)然後你會看到這樣一個選項:
  • SAST Weekly | vscode 插件PlatformIO簡介
    ArduinoIDE、stm32CubeIDE、Keil三兄弟在電腦桌面上安下了家。    但是,在隨著電設開發的進行,代碼量指數上升,這些我們熟知的IDE的問題也愈加明顯。我們習慣了vscode舒適的編程環境,面對蒼白的界面不禁感慨人世的艱辛。誒,代碼補全功能沒有嗎?誒,我的代碼高亮去哪了?    誒,我的頭髮呢?
  • 那些你應該考慮卸載的 VSCode 擴展
    在 VSCode 擴展市場目前其實存在著不少下載量特別高但是不應該再被使用的擴展,顯然官方是不可能直接給你標出來哪些擴展已經被廢棄了,哪些有嚴重 bug,純靠擴展作者自覺。安裝量最高的 auto import 下載量高達 867K,最少的都有 250 多 K。維護不積極Color HighlightLast updated: 2017/7/12Issues open/close: 49/25Download: 894K可以考慮 vscode-colorize 作為替代品。
  • 2019年JavaScript開發者必備的10個vscode插件
    之前我們還熱衷使用Atom,webstorm,在前兩年的時候改用了vscode,感覺非常好,性能也不錯。而且vscode的社區和市場也日漸強大,這也是我選擇vscode的原因之一。如果你想讓你的代碼看起來更好一點,在同事面前耍一下酷,這絕對值得一試。8.Babel JavaScript類別:語法高亮Babel JavaScript在安裝VS Code時必裝的一個插件。它支持ES201x,React和JSX語法高亮。
  • 客制化鍵盤QMK固件入門-編譯環境搭建
    但對於想要高度定製的同學,特別是給鍵盤添加便宜的藍牙模塊、oled屏、旋鈕等,就需要搭建編譯環境,自己修改代碼,自己編譯,這也是折騰的樂趣所在。編譯QMK固件,首先需要搭建編譯環境,按照官網文檔一步步操作本應很輕鬆的。但得益於國內的網絡環境,在安裝編譯環境的過程中會遇到很多坑。安裝msys2客戶端Windows中使用開發環境,去官網下載免費的安裝包。
  • vscode常用插件推薦
    通用插件Chinese: 使vscode顯示為中文One Dark Pro: 一個非常好看的主題插件SettingsSync:同步vscode設置和插件的插件,僅需登錄GitHub選擇gist即可使用Alt+Shift+D下載,Alt+Shift+U上傳。
  • DCS系統控制組態仿真軟體的設計和實現
    圖3 算法顯示模塊圖  其中,模塊在迴路中的編號只有在進行過編譯且用戶確定後才正確顯示,編譯前不顯示。  設計控制組態仿真軟體的界面時,主要是實現組態用到的算法顯示模塊、連線和文本注釋的繪製和顯示。從共性的角度考慮,決定將對算法模塊的實現用一個從cobject類派生的類cfunmod來統一實現和管理,在該類中設定標誌變量對具體的算法顯示模塊類型進行區分,同時標記該模塊的輸入輸出端子數目。連線使用從cobject類派生的類clinkline實現,包含對連線兩端所連算法顯示模塊的標記。
  • vscode插件體系詳解
    事實上很多 vscode 的核心功能也是通過插件實現的。本文我們將從以下三個方面詳述 vscode 的插件機制:閱讀本文後續內容,需要對 vscode 的插件開發有基本的了解。關於 vscode 的插件開發可參考 vscode 的官方教程 。1.
  • 2019 APP下載排行榜出爐:絕對想不到第一名……
    近日,數據統計公司Sensor Tower發布了2019年的應用下載數據,其中國內魔幻應用tremble(國外稱為TikTok)排名第二,僅次於WhatsAPP,位列第二。其中,WhatsApp下載8.5億次,排名第一;tiktok下載7億次,排名第二;Facebook messenger也下載7億次,排名第三。
  • 【包學包會】【LaTeX篇】TeXLive+TexStudio+VsCode
    TexLive 安裝清華鏡像下載地址[12]打開 settings.json,刪除所有內容,複製粘貼如下配置文件內容。注意:當你修改 tex 文檔的時候,修改後保存,先進行編譯,然後預覽。在 vs 界面中的預覽效果:
  • 【包學包會】【LaTex篇】TeXLive+VsCode+TexStudio
    TexLive 安裝清華鏡像下載地址[12]打開 settings.json,刪除所有內容,複製粘貼如下配置文件內容。注意:當你修改 tex 文檔的時候,修改後保存,先進行編譯,然後預覽。在 vs 界面中的預覽效果:
  • Tattapic為你定製化高仿真臨時紋身
    )】2月23日報導(編譯:黑白灰)如果你之前從未接觸過紋身,那麼很可能在未來的某一天,你會在你光潔的皮膚上貼上刺青,用蠟筆,馬克筆或是鋼筆在身體各處畫下美妙的印記。或許你一直好奇紋身會是種什麼樣的體驗,還有它最後呈現的是如何的美感。也許你曾有過紋身的想法,但當這個印記可能會伴你度過餘生,就會一直猶猶豫豫,下不定決心……現在不必再擔心了,Tattapic平臺能為你提供最接近紋身效果的高仿真紋身貼紙,而且還沒有油墨滲入你的皮膚。你不妨摒棄對貼紙,蠟紙或是你能想到的無聊設計的偏見。因為這些紋身非常真實,真實到你觸手可及。覺得不可能?
  • 用Matlab和VB實現光學實驗仿真系統的開發
    開發光學實驗的仿真模擬系統,並將其運用到物理光學的教學和實驗當中,可以進一步提高大學物理實驗教學的現代化水平。  但是,由於光學實驗理論的複雜性、高水平仿真圖像和人性化仿真界面的要求,目前國內融合光學實驗的仿真系統開發還不多見。
  • 基於VeriStand的制導系統半實物仿真平臺的研究
    在上位機完成仿真軟體的設計後,通過VeriStand軟體的配置和控制,將仿真軟體下載到下位機中並在VeriStand引擎框架中執行;同時通過VeriStand對動力學仿真軟體參數進行在線顯示和修改,最終實現半實物實時仿真的目的。  實時仿真開發框架如圖3所示。
  • 使用代碼片段的正確姿勢,打造高效的vscode開發環境
    我自己遇到困難的幾個場景electron-builder 打包後,為了修改electron國內鏡像下載地址,往往會配置vue.config.js。第一版在項目製作之初,就決定寫npm 全局包而不是vscode 插件。一方面是不帶GUI,稍微方便點;另一方面是我偶爾也會用visual studio,所以寫個npm包方便在那邊用;另外提一句有點坑的是vscode 的snippet和vsstudio中的snippet竟然格式不一樣。
  • Java代碼的編譯與反編譯
    三、 Java類的編譯與反編譯我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。