https://blog.csdn.net/zoomdy/article/details/54728479
https://blog.csdn.net/u013209302/article/details/52735802
https://blog.csdn.net/congpo2125/article/details/86549614
https://www.ac6-tools.com/downloads/SW4STM32/ 免費下載sw4stm32的連接,不錯哦
https://blog.csdn.net/founderHAN/article/details/104636949
https://blog.csdn.net/cshy2013/article/details/88948643
https://www.jianshu.com/p/146c2109f619
https://blog.csdn.net/qq_38125389/article/details/87890965
https://blog.csdn.net/congpo2125/article/details/86549614
https://dl.21ic.com/download/truestudio-306215.html
https://marketplace.eclipse.org/content/eclipse-color-theme
http://releases.linaro.org/archive/14.05/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.9-2014.05_win32.zip.xz
http://releases.linaro.org/archive/15.06/components/
https://www.linaro.org/download
最近一直在使用STM32CubeMX和TrueSTUDIO進行STM32的程序開發,用起來已經是得心應手了。使用TrueSTUDIO的過程中知道了一些環境設置的小技巧,可以提高工作效率過減少問題,故專門貼出來。
TrueSTUDIO的環境設置主要是在項目的屬性設置對話框里進行設置。
(1)使用並行編譯
在C/C++ Build的Behavior設置頁面,勾選Enable parallel build可以打開並行編譯功能。新建一個Workspace后這個選項默認是不勾選的,現在的CPU都是多核的,打開並行編譯選項后可以明顯提高編譯速度。
(2)編譯優化級別設置
當需要進行程序的斷點跟蹤調試時,必須將編譯的優化級別設置為None或Optimize for debugging,否則在單步調試時無法正確跟蹤代碼行。默認情況下不是這個選項,所以用於跟蹤調試時必須進行設置。
(3)代碼折疊功能
點擊主菜單Window下的Preferences,打開Preferences設置對話框。在C/C++ --> Editor -->Folding 頁面設置代碼折疊功能。
TrueSTUDIO是具有代碼折疊功能的,但是默認情況下只勾選了“Enable folding when opening a new editor”。如果要對預編譯語句、if/else、for等語句進行代碼折疊,就勾選下面的兩個選項。在源代碼編輯器里,具有折疊功能的代碼行的左首會顯示小圖標用於代碼折疊。使用代碼折疊功能有助於快速分析代碼結構,了解程序的工作原理。
1 使用cubemx可以直接生成,選擇單獨目錄
2 添加外部文件,使用link模式,copy模式相當於在單獨目錄復制了一個新的文件,這樣不適合多個IDE同時編輯。因此link比較適合多編譯器開發。
3 多核編譯,可以加速編譯速度
4 添加相對路徑的頭文件,和iar keil等類似
5 可以選擇源文件filter,但是目前用不到,因為我是添加文件的方式
6 alt /開啟自動完成
7 優化等級 jlink debug設置
8可以import file system方式添加文件到工程中
9 代碼折疊
10 c庫選擇,標准的大,nano的占用空間小
注意:nano庫編譯出的固件,比用standard庫編譯出的固件,空間上小25KB左右。
11 生成hex文件 ,也可以生成bin文件,需要再添加語句
優化等級:
O1優化會消耗少多的編譯時間,它主要對代碼的分支,常量以及表達式等進行優化。
O2會嘗試更多的寄存器級的優化以及指令級的優化,它會在編譯期間占用更多的內存和編譯時間。
O3在O2的基礎上進行更多的優化,例如使用偽寄存器網絡,普通函數的內聯,以及針對循環的更多優化。
Os主要是對代碼大小的優化,我們基本不用做更多的關心。 通常各種優化都會打亂程序的結構,讓調試工作變得無從着手。並且會打亂執行順序,依賴內存操作順序的程序需要做相關處理才能確保程序的正確性。
頭文件路徑
仿真調試設置:
類似於keil的不編譯的選項
集成 astyle
${workspace_loc:/${project_name}} --style=allman -n "${resource_loc}"
printf浮點數輸出使能
快捷鍵:
兩種方法:
a> 進入編譯設置,開啟輸出格式,注意:輸出的格式是".binary",內容與".bin"一樣。
b> 在編譯步驟中加入生成bin文件的指令,注意:指令間有分號“;”隔開。
生成hex的指令是: arm-atollic-eabi-objcopy.exe -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex" 生成bin的指令是: arm-atollic-eabi-objcopy.exe -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin"
jlink自動下載:
-autoconnect 1 -device stm32f103ZE -if swd -speed 4000 -commandfile ${workspace_loc:/xxxxx_two}\jlink\download.jlink
切換debug release版本,第5個小錘子可以切換
到處頭文件路徑、宏定義設置,這樣只需要設置一次,比如debug,后面release直接導入即可,方便。