Keil编译出现“Error: L6406W: No space in execution regions with .ANY selector match Section"的解决办法

情景:

在编译Keil工程时,compile编译能够通过,但在linking过程中,出现一大串”Error: L6406W: No space in execution regions with .ANY selector match Section“的错误。

分析:

这个出现的原因是因为芯片RAM空间不足,无法执行程序。通常RAM的空间会比较小,ROM空间相对较大。

解决办法:

两个思路,一个是扩大RAM,二是减少需要存在RAM里的内容:

1. 尝试修改”Target Options“中右侧RAM的Size,但这个要先查看芯片文档,找到文档中描述的RAM大小,把Size调成最大值。

但是我的这个工程还是不行,看来是预存的数据量太大了。

2. 如果第一种方法还是不行,那就只能尝试把一些数据类的变量定义为静态,这样就可以利用ROM的存储空间了。找到工程中存储数据的部分,发现是大量的float数组。这种情况会占用大量的空间,所以要在float声明的前面加一个”const“,转换为静态变量。

这样我的就可以通过了,成功生成了hex文件。

3. 如果第二种方法还是不行,那就只能修改代码的数据结构了。

时间: 2024-10-10 21:04:06

Keil编译出现“Error: L6406W: No space in execution regions with .ANY selector match Section"的解决办法的相关文章

Error building Player: Win32Exception: ApplicationName=‘xxxxxxxxxxxxxxxxxx//sdk\tools\zipalign.exe' , CommandLine='4 的解决办法

更新了安卓SDK后,有时候Unity编译失失败,报错类似 Error building Player: Win32Exception: ApplicationName='D:/Program Files/adt-bundle-windows-x86_64-20140702/sdk\tools\zipalign.exe', CommandLine='4 "XXXXX\Temp/StagingArea/Package_unaligned.apk" "XXXXX\Temp/Stag

idea出现:error:java: Target level '1.7' is incompatible with source level '1.8'.解决办法

当我们开始使用idea的时候,编译jsp程序我们有可能出现编译错误,然而我们的代码又没有什么问题. 解决方法一:我们开始的时候可以通过修改java compiler来解决这样的问题,点击file菜单->setting,然后更改相应jdk版本就行了 如果解决不了. 请使用找到相应的项目中iml文件打开,相应的版本更改成你相应jdk版本 然后问题就可以愉快的解决了. 我是通过修改impl文件中的LANGUAGE_LEVEL来最终解决问题的. idea出现:error:java: Target lev

遇到 Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section的解决办法

用记事本编辑*.EXE.config,在“<system.net>”节点加入<defaultProxy> <proxy usesystemdefault="False" /> </defaultProxy> 完整的: <?xml version="1.0"?> <configuration> <system.net> <settings> <httpWebReque

遇到错误ERROR 1044 (42000): Access denied for user &#39;&#39;@&#39;localhost&#39;to database &#39;mysql&#39;,的解决办法

新装的mysql,访问mysql数据库是遇到问题:ERROR 1044 (42000): Access denied for user ''@'localhost'to database 'mysql', [[email protected] mysql-5.1.61]# mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection

Error : Tablespace for table &#39;`database`.`temp`&#39; exists. Please DISCARD the tablespace before IMPORT.解决办法

今天在navicat上操作mysql数据库表,突然没有响应了.随后重启,mysql服务也终止了.随后启动服务,检查表,发现一张表卡没了,就重新添加一张表.报了一个错: Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT. 可是show  databases看了一下根本就没有这张表啊.网上查了半天都没有找到类似的情况,花了好几个小时. 最后终于找到解

(org.openqa.selenium.WebDriverException: Unable to launch the app: Error: Trying to start logcat capture but it&#39;s already started! )错误解决办法

新增: capabilities.setCapability("autoLaunch",false); 将setup中的: driver = new AndroidDriver(new URL("http://127.0.0.1:" + port + "/wd/hub"), capabilities); driver.launchApp(); 第二句: driver.launchApp() 注释掉 (org.openqa.selenium.Web

异常:Error resolving template &quot;xxx&quot;, template might not exist or might not be accessible...解决办法

简单表述:控制台出现了这个异常:Error resolving template "xxx", template might not exist or might not be accessible by any of the configured Template Resolvers 解决办法:在报出这个异常的方法上添加注解@ResponseBody 讲一下个人理解:这个注解就是用来区别 方法的返回值字符串 和 视图解析器解析的页面名字字符串 的冲突的,举个例子:方法A返回的字符串s

### The error occurred while setting parameters, MyBatis框架使用报错原因及解决办法

### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delete,create_time,update_timeFROM tb_user WH

Warning: File upload error - unable to create a temporary file in Unknown on line 0 的解决办法

upload_tmp_dir  临时文件夹问题 上传文件提示 Warning: File upload error - unable to create a temporary file in Unknown on line 0 找到php.ini 中的 upload_tmp_dir 把前边的“:”去掉然后改为upload_tmp_dir =C:\Windows\temp 最后记得重启apache 是不是很简单呀 原文地址:https://www.cnblogs.com/xm666/p/1161