前言
最近在學(xué) stm32,使用 Kei5 寫代碼十分難受,代碼提示差,看源碼復(fù)雜,甚至括號(hào)匹配都沒(méi)有。就想著 JetBrains 家的東西能不能用,就找的了稚暉君的《配置CLion用于STM32開(kāi)發(fā)【優(yōu)雅の嵌入式開(kāi)發(fā)】》,配置之后又想用 stm32 的原生庫(kù)不想用HAL庫(kù),因?yàn)楦瓍f(xié)科技學(xué)起來(lái)方便。折騰一番,發(fā)現(xiàn)能編譯,能燒錄,但 stm32 就是跑不起來(lái)。最后想了一個(gè)折中的辦法,用 Clion 來(lái)寫代碼,用 Keil5 來(lái)燒錄。
一、現(xiàn)有條件
根據(jù)稚暉君的教程會(huì)得到以下目錄:
點(diǎn)開(kāi) CMakeLists.txt,可以看到下面幾行:
只有這幾行配置好,CMake 才能正確打包,Clion 才能提供代碼提示等等。
可以點(diǎn)開(kāi) Core 文件夾看看里面的東西:
這樣有放置 .h 文件的 Inc 文件夾和放置 .c 文件的 Src 文件夾,這就明白 include_directories 的作用了。
二、Clion 和 Keil 結(jié)合
1. Keil 目錄
正常的 Keil 目錄是這樣的:
2. 加入 Clion 生成文件
直接 Copy 以下文件(不用 Core 和 Drivers 目錄)到上面 Keil 目錄:
得到這樣一個(gè)目錄:
3. 復(fù)制文件
仿照 Core 目錄寫一個(gè) Clion 目錄:
這個(gè)目錄用于 Clion 寫代碼的時(shí)候使用,接下來(lái)將原來(lái) Keil 目錄中所有的 .h 和 .c文件復(fù)制到 Inc 和 Src 兩個(gè)文件夾。
這里我用 python 寫了兩個(gè)個(gè)小腳本編成了 copy2clion.exe 和 link2clion,前者僅僅是復(fù)制,后者用使用了硬鏈接,在 Clion 中修改文件可以同步到源文件,方便在 Clion 中編輯在 Keil 中編譯。.py 和 .exe 都在 Github了,有需要可以直接修改 .py 文件,然后用 auto-py-to-exe(超好用超好用)編譯成 exe。
修改 CMakeLists.txt 文件如下:
添加 User/main.c 文件方便直接編寫 main.c 文件。
4. 構(gòu)建項(xiàng)目
點(diǎn)擊 Clion 上方的小錘子構(gòu)建一下整個(gè)項(xiàng)目,點(diǎn)開(kāi) main.c 可以看到已經(jīng)可以有代碼提示和點(diǎn)擊看源碼的功能了:
點(diǎn)擊小錘子如果出現(xiàn)以下錯(cuò)誤:
需要在 stm32f10x.h 添加一行代碼,原因報(bào)錯(cuò)也說(shuō)了:
5. 編譯燒錄
程序的編譯和燒錄就要用 Keil 來(lái)執(zhí)行了,所有操作都和之前一樣,不過(guò)在 Clion 中有新建項(xiàng)目的時(shí)候,在 Keil 也要添加一下不然會(huì)報(bào)錯(cuò)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-744519.html
最后
希望大家有個(gè)良好的 stm32 學(xué)習(xí)體驗(yàn)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-744519.html
到了這里,關(guān)于Clion + Keil5 寫stm32的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!