前言
本文以我在M2 pro芯片的Mac os系統(tǒng)上配置Clion來完成我學(xué)習(xí)和開發(fā)stm32工程的經(jīng)歷,分享在配置過程中的問題和解決。本文當(dāng)然不限于M2芯片,而是對于整個Apple Sillicon ARM芯片的mac電腦適用。
開始安裝和配置
首先中,無論是windows還是macOS,使用Clion配置stm32環(huán)境都需要你安裝stm32CubeMX,當(dāng)然安裝Clion(學(xué)習(xí)版:你懂的)也是必不少的,這里我不介紹安裝這兩個軟件。另外,在macOS上使用和編譯C你需要安裝Xcode工具,可以減少不必要的麻煩,在Apple Store上即可安裝,然后在Xcode里安裝macOS環(huán)境包即可。
在macOS上交叉編譯stm32你需要一下三個工具:
1.Arm-toolchain工具鏈和arm-none-eabi-gcc用于編譯debug
brew install --cask gcc-arm-embedded
????????親測brew install arm-none-eabi-gcc會有問題沒法用
????????使用arm-none-eabi-gcc -v判斷是否正確安裝
2.openocd工具用于下載程序???????
?brew install open-ocd
????????使用openocd -v判斷是否正確安裝
3.stlink如果你用的是stlink下載器就需要這個
brew install stlink
注:安裝這些工具需要macOS在已經(jīng)安裝好brew install工具的基礎(chǔ)上完成,請先自行安裝好brew包工具。
配置Clion
1.打開clion安裝Embeded Development Support插件
2.然后在設(shè)置中配置工具鏈
3.在配置中配置嵌入式
4.創(chuàng)建一個工程
創(chuàng)建過程中我碰到一個提示,但是不會影響我的項(xiàng)目創(chuàng)建,點(diǎn)OK就行,有大佬可以幫我解決么?好像是跟Java環(huán)境有關(guān)
如果你已經(jīng)正確配置CubeMX,就可以看到“用Stm32CubeMX打開”,正常用CubeMX打開即可,一般默認(rèn)是進(jìn)入了stm32f030f4的配置界面,點(diǎn)擊前面的配置芯片即可:我這里用f103c8t6
除了正常的配置外,你需要在SYS內(nèi)配置你需要的Debug模式,我這里是stlink的JTAG
在Project Manger頁面需要配置好你的項(xiàng)目名和項(xiàng)目位置,這里的你項(xiàng)目要放在沒有中文的路徑中,不然編譯會報錯!選擇STM32CubeIDE并勾選后后面的選項(xiàng)即可Generate Code,因?yàn)镃lion已經(jīng)創(chuàng)建了一個.ioc文件,cubeMX會彈出overwrite的提示,OK即可。
這里選擇你需要的開發(fā)板“復(fù)制到項(xiàng)目并使用”,不然你得自己配置CMake
如果你的配置沒問題,看一看到這里的編譯配置
使用stlink編譯和下載
如果你使用的stlink下載器,在項(xiàng)目根目錄下新建文件夾stlink.cfg,編輯如下(需要根據(jù)使用的芯片做一定的更改)
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
reset_config srst_only
然后在編譯器中更改配置文件
看見下面的編譯信息,你就編譯和下載成功了
文章來源:http://www.zghlxwxcb.cn/news/detail-817926.html
重定向printf:除了在CubeMX中配置usart和中斷,在main.c文件中添加#include <stdio.h>文章來源地址http://www.zghlxwxcb.cn/news/detail-817926.html
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1, (uint8_t *) &ch, 1, 0xFFFF);
return ch;
}
到了這里,關(guān)于在M2芯片上配置Clion編譯和下載stm32的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!