MRS Warning

17:18:59 **** Build of configuration obj for project JT006C_AirQuality ****
make -j4 all
Memory region         Used Size  Region Size  %age Used
           FLASH:      149576 B       448 KB     32.60%
             RAM:       18720 B        30 KB     60.94%
   text       data        bss        dec        hex    filename
 148644        932       8304     157880      268b8    JT006C_AirQuality.elf
riscv-none-embed-objdump: Warning: There is a hole [0x8 - 0x21] in .debug_loc section.
...
riscv-none-embed-objdump: Warning: There is a hole [0x2266 - 0x2288] in .debug_loc section.

17:19:06 Build Finished. 0 errors, 0 warnings. (took 7s.592ms)

#ifdef DEBUG
    uart2_init(115200);
#endif


通过使能 DEBUG,就没有Warning 了。PRINTF  一定要全部注释了吗?


您好,不必都注释掉,删去工程配置中的DEBUG宏即可。

image.png


通过使能 DEBUG,就有下面的Warning 了,不是Build Warning

riscv-none-embed-objdump: Warning: There is a hole [0x8 - 0x21] in .debug_loc section.
...
riscv-none-embed-objdump: Warning: There is a hole [0x2266 - 0x2288] in .debug_loc section.

无标题455.png


您好,您找一个EVT包中的例程直接编译看看有没有hole相关警告,或者删掉DEBUG宏看看有没有报错或者警告。如果没有警告,可能是工程配置问题;如果还是有警告,可能是编译器问题。

需要打印就保留DEBUG,可以修改DEBUG数值为需要的串口n。

不需要打印删掉DEBUG的话,小写的printf()需要注释掉,否则会报错警告,不过与您图中的警告不同;大写的PRINT()可以不用注释,删掉DEBUG宏后就不打印了。


删掉DEBUG宏没有报错或者警告。应该是工程配置问题,如何修改配置?


说错了:删掉DEBUG宏就有报错或者警告。应该是工程配置问题,如何修改配置?

add DEBUG宏就没有报错或者警告


您好,删掉DEBUG宏,有报错或者警告。如果还是有警告,可能是编译器问题。这么说是编译器问题???


编译器配置默认DEMO工程的。无标题455.png


您用的编译器版本是多少,工程可以发来帮您检查一下吗,能复现这个hole警告的工程就行,发往邮箱zhaiyw@wch.cn。


删掉DEBUG宏,有报错或者警告。无标题456.png

加上DEBUG宏,没有报错或者警告。

无标题455.png


用的编译器版本是 18.3


您把工程发来我们检查一下,我这边用1.83测试删去DEBUG不会有hole警告。


已发您邮箱。邮箱zhaiyw@wch.cn


Dear TECH_JW:  在吗?问题出在编译器上,原来的DEMO工程也有hole warning。DEMO工程:BleTouchKey_lowPower.rar             


您好,您邮件发来的工程已经转给相关同事排查。目前看来是工程问题,我们这边也出现hole警告。您那边可以用官网下载的EVT中的工程排查看看,我们这边测试用官网的peripheral例程,删去DEBUG不会有HOLE警告。

出现hole警告后编译结果是否正常,是否影响正常使用,不影响的话您先继续使用,我们这边还在排查。


只有登录才能回复,可以选择微信账号登录