2026 / 07 / 22
使用e2studio创建RA0E1的工程,将优化选项改为None (-O0),编译时有错误

Issue:

使用e2studio创建RA0E1的工程,将优化选项改为None (-O0),编译时有错误。若将优化选项改为其他任意优化选项,编译时没有错误。


Answers
:

目前,RA0E1为了优化代码大小,默认使用“Fill gap”和“Optimize aggressively for size (-Oz)”。

参考FSP手册中的内容,在 vector table 的末尾 (靠近 flash 的开头) 和 ROM 寄存器 (地址 0x400) 之间存在一段代码 flash。当“Fill Flash Gap”选项选择 “Fill gap”时,会将预先选择的设置函数填充在此区域内,以减少 FSP 使用的代码 flash 量。

所以,当用户将优化选项改为 “None (-O0)”,将会导致该函数编译出来的内容占据较大的Flash空间,会超出gap区域,导致出现编译错误。

为避免这种情况,用户可以通过在 BSP 属性中将“Fill Flash Gap”设置更改为“Do not fill gap”来禁用间隙填充。


附:关于“Fill Flash Gap”的含义,请参考FSP手册中的内容,如下:

文件下载
隐私条款

一、接受条款 使用者(也称"您")在访问或使用本网站及其服务时,即已经表示同意并不加修改地接受本《用户协议》、本网站的《隐私声明》、《法律声明》以及其关或相链接的网页和网站的条件和条款的规定。我们强烈建议:在您阅读和接受本《用户协议》时,也应阅读并接受本《用户协议》中所提到《隐私声明》、《法律声明》及其相关或相链接网页或网站所包含的资料,因为《隐私声明》、《法律声明》及其它相关网页或网站可能包含对您适用的进一步规定。(请注意:点击划有底线的词句即可链接到上述《隐私声明》、《法律声明》及其它相关或相链接的网页和网站。

 

二、使用者的资格要求 在本网站中"使用者"指的是浏览、阅读、使用本网站信息或服务的任何个人或组织。本网站的服务仅适用于根据相关法律的规定具有签订有约束力的合同的个人或组织并仅由其使用。本网站的服务不向18周岁以下的个人使用者提供,也不向临时被本网站中止或取消使用者资格的使用者提供。如果使用者不符合本条规定,请停止使用本网站或本网站的服务。

样品
申请

应用
资源

微信