一、問題復(fù)現(xiàn)
當(dāng)使用CubeMX生成帶有FreeRTOS的工程時(shí),由于Use default compiler version 5編譯器編譯時(shí)間過于漫長(zhǎng),我們選擇使用編譯速度更快的Use default compiler version 6,但是更改之后再次編譯會(huì)出現(xiàn)很多錯(cuò)誤。
?在Target一欄的ARM Compiler:選擇 Use default compiler version 6;?并修改c/cpp編譯方式。
二、分析原因
CubeMX生成的FreeRTOS的port.c、portmacro.h不支持GNU,內(nèi)部有大量的內(nèi)聯(lián)匯編,需更換為GCC版本。
三、解決辦法
如果直接在生成的工程里將?RVDS/ARM_CM4F 內(nèi)的文件全部替換成GCC/ARM_CM4F里的文件,在下一次CubeMX生成工程時(shí)就會(huì)將我們辛苦替換的文件替換掉,這導(dǎo)致每次生成后都要重新替換上述文件。
由于CubeMX生成的工程文件都是從固件庫(kù)拷貝過來的,我們可以直接將固件庫(kù)的文件進(jìn)行替換。
直接把固件庫(kù)里的?RVDS/ARM_CM4F文件夾替換成?GCC/ARM_CM4F 就可以了,固件庫(kù)里兩個(gè)文件夾都有。
文章來源:http://www.zghlxwxcb.cn/news/detail-541411.html
替換完成之后再用CubeMX重新生成一下工程既可以在Use default compiler version 6模式下直接編譯了。文章來源地址http://www.zghlxwxcb.cn/news/detail-541411.html
到了這里,關(guān)于【Keil】CubeMX配置的FreeRTOS利用V6編譯出錯(cuò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!