keil软件相关问题汇总

时间:2022-07-13 19:26:57

目录

一.keilc51——F12无法定位到定义处。

二、关于STM37F7的pack包不能安装报错SVD问题。

三、关于"Insufficient RAM for Flash Algorithms"出错原因及解决方案。

四、KEIL每次都要编译全部文件并且每个文件编译三次

五、flash算法存放文件夹

六、出现头文件嵌套无法打开.h文件和go to definition错误但编译不报错

七、MDK编译错误--bin--out

八、查找所有代码都找不到某个定义

九、keil调试界面卡住无法刷新窗口无法移动问题


一.keilc51——F12无法定位到定义处。

1、确定Browse Information勾选。
 keil软件相关问题汇总
 
2、尝试勾选下图选项再次编译。
keil软件相关问题汇总
 

二、关于STM37F7的pack包不能安装报错SVD问题。
MDK版本太旧pack包太新(可能会是其他问题)。
解决方法:1、升级你的MDK。
                   2、不想升级MDK的,那就安装个低版本的pack包。
主要是这个原因,换了5.18a的版本就能装上了。
 

三、关于"Insufficient RAM for Flash Algorithms"出错原因及解决方案。
 现象如下所示:
keil软件相关问题汇总keil软件相关问题汇总
 
原因:装载FLASH算法的RAM空间不足,这个错误一般出现在添加了新的FLASH烧写算法以后,FLASH的烧写算法本身也相当于一个小程序,在jlink向FLASH烧写程序的过程中由芯片来执行,所以烧写算法在烧写过程中是需要分配内存空间的,打开Utilities选项卡的setting可以看到其配置选项。
解决方法:如下所示红框中的start和size需要填上合适的值。size对应值表示—存储烧写算法的RAM空间的大小,这个地方分配过小就会引起上述的错误信息。
 
keil软件相关问题汇总 

四、KEIL每次都要编译全部文件并且每个文件编译三次
 keil软件相关问题汇总
勾选如上选项后出现编译全部文件每次编译三遍。

•  Cross- Module  
Optimization  takes information from a prior build and uses it to place UNUSED functions into their

own ELF section in the corresponding object file. This option is also known as Linker Feedback, and requires you to build your application twice to take adv antage of it for reduced code size.   
Cross-Module Optimization has been shown to reduce code size, by removing unused functions from your application. It can also improve the performance   of your application, by allowing modules to share inline code.

以上内容摘录于:http://blog.csdn.net/yangtalent1206/article/details/8493120

也就是说避免了不用的函数也编译如代码中,减少最后的代码空间。


五、flash算法存放文件夹

路径如下C:\Software\Keil_v5\ARM\Flash

 六、出现头文件嵌套无法打开.h文件和go to definition错误但编译不报错
原因:工程文件名中文。
 

七、MDK编译错误--bin--out
*** Error: CreateProcess failed, Command: 'D:\Keil\ARM\BIN40\fromelf.exe --bin --output ./output/xxx_APP_MFC.bin ./output/xxx_APP_MFC.axf'
keil软件相关问题汇总
 
去除此处勾选。

 八、查找所有代码都找不到某个定义
 keil软件相关问题汇总
 
 

九、keil调试界面卡住无法刷新窗口无法移动问题
 出现上述情况,windows->Reset view to defaults 就好了