跟做bootloader实验:对于loader未初始化app的ZI段的疑问

在实验中,loader根据app的header来将app从flash复制到sram里去,但是header里的大小指的是代码段+只读数据段+有初始值的数据段的大小,未包括ZI段。
当我在app的工程里定义一个全局数组char zero_array[256]={0}, 然后printf(“%d”, zero_array[i])打印出来,必定会出现乱码.
但是,当我在FreeRTOS_Template这个工程做同样的操作时,发现zero_array确实为全零。有注意到FreeRTOS_Template使用的是main入口,而自己的app工程使用的是mymain入口。

所以这里提出一个BUG和一个疑问:
BUG:bootloader的重定位APP未考虑ZI段的初始化;
疑问:使用main入口时,编译器会替换为__main, __main是否有进行初始化ZI的操作?并且发现发现APP的mymain不能直接替换为main, 会出现程序无法启动的异常。