;------------------------------------ ; @清零未初始化数据段 ;------------------------------------ clear_bss ldr r0, =|Image$$ZI$$Base| ldr r1, =|Image$$ZI$$Limit| mov r2, #0x00000000 clbss_l str r2, [r0], #4 cmp r0, r1 bcc clbss_l ;------------------------------------ Uart_Printf("Test toupper('O')=%c\n",toupper('O')); 打印结果 :Test toupper('O')=/ toupper函数转换其他字符正常 只有大写'O'变成'/'。。。 如果把上面那段“清零未初始化数据段” 代码 不用 Uart_Printf("Test toupper('O')=%c\n",toupper('O')); 打印结果: Test toupper('O')=O toupper函数转换字符‘0’正常 请高手分析下原因何在???