|
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手册中的内容,如下:
|