(求助)为何定义的局部变量数组无法赋值?
我用的片子是STM32F103ZE,工具是IAR 5.20,编译的程序是ucos ii V2.86 我在App_TaskStart中建的数组,代码如下:static void App_TaskStart (void *p_arg)
{
INT8U m_n8uTestArry;
(void)p_arg; /* See Note #1 */
App_InitValue();
BSP_Init(); /* Initialize BSP functions */
OS_CPU_SysTickInit(); /* Initialize the SysTick. */
App_EventCreate(); /* Create application events */
App_TaskCreate(); /* Create application tasks */
m_n8uTestArry=0xaa;
m_n8uTestArry=0xbb;
m_n8uTestArry=0xcc;
m_n8uTestArry=0xdd;
m_n8uTestArry=0xee;
m_n8uTestArry=0xff;
BSP_LED_Off(0);
while (DEF_TRUE) { /* Task body, always written as an infinite loop. */
BSP_LED_On(1);
OSTimeDlyHMSM(0, 0, 1, 0);
BSP_LED_Off(1);
OSTimeDlyHMSM(0, 0, 1, 0);
}
}
但是通过仿真器看m_n8uTestArry根本没有赋上值,我查了汇编代码是
MOVS R0,#0xAA
STRB R0,
MOVS R0,#0xBB
STRB R0,
MOVS R0,#0xCC
STRB R0,
MOVS R0,#0xDD
STRB R0,
MOVS R0,#0xEE
STRB R0,
MOVS R0,#0xFF
STRB R0,
其中SP=0x200003D0; 堆栈定义在STM32F103ZE_FLASH.icf中
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
不知道到底是什么原因?哪位高手能帮忙解答一下,谢谢!
回复:(求助)为何定义的局部变量数组无法赋值?
问题已解决,将RDI模式换成SWD模式就行了
页:
[1]