昨天更新了keil5.25a潦牛,無奈反射弧超級長才發(fā)現(xiàn)keil自帶了ARM"最新"的編譯器v6.9晒他,百度一下說是編譯速度提高了不少,所以我也來試一下赤屋,無奈 剛編譯就出錯,說是License有問題壁袄,還有TOOLs.ini也找不到类早,再問度娘發(fā)現(xiàn)竟然是Win10 1803的鍋,使用1709版本的童鞋并沒有遇到這個問題嗜逻,趕緊google一波涩僻,換用最新版ARM Compilerv6.10.1c,這次倒是開始編譯了栈顷,結(jié)果編譯FreeRTOS部分時報出大量錯誤逆日,再次Google,發(fā)現(xiàn)V6的ARMCLANG編譯器的語法分析基本和GCC相似萄凤,也就是說室抽,不能再使用它編譯專門為v5編譯器寫的程序(含內(nèi)聯(lián)匯編的那種,比如FreeRTOS的port.c)靡努,并且v5和v6對c的編譯上也有區(qū)別坪圾,我通過一下兩步從默認的v5編譯器成功切換到了v6.
- (1) 添加編譯器 -D參數(shù),并修改c/cpp編譯方式
-D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -D__NOINLINE="__attribute__ ( (noinline) )"
Snipaste_2018-06-25_19-27-28.png
- (2) 修改CMSIS-RTOS的c文件中與ARM編譯器相關(guān)的部分
Snipaste_2018-06-25_19-32-42.png
-
(3) 飆車了,單擊全部編譯惑朦,看下速度
Snipaste_2018-06-25_19-35-29.png