[讨论] 【庆科Open1081】庆科的库不能在0x800 0000处编译吗?

dontium   2015-3-7 16:53 楼主
现在自己编写的程序,不想使用庆科的BOOTLAOD,所以直接将程序从0x800 0000开始执行。 然而使用庆科的: mxchipInit(); 程序执行不下去,一直在这个函数内转圈圈,即在下面的这四条指令内来回执行: 0x0801BDD2 F7FFFFCA BL.W host_rtos_get_time (0x0801BD6A) 0x0801BDD6 4602 MOV r2,r0 0x0801BDD8 BF00 NOP 0x0801BDDA F7FFFFC6 BL.W host_rtos_get_time (0x0801BD6A) 这是为什么呢? 注:原来使用的SYS_TICK设置:SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000); 因为mxchipInit()里已经有这个功能,所以在使用mxchipInit()时就删除了SysTick_Config()这个函数。 本帖最后由 dontium 于 2015-3-7 16:56 编辑

回复评论 (1)

发现了个问题:

没有用NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0xc000);
修改后现象仍然和原来的一样,停在这里:

0x08027DDA F7FFFFC6  BL.W     host_rtos_get_time (0x08027D6A)
0x08027DDE 1A80      SUBS     r0,r0,r2
0x08027DE0 4288      CMP      r0,r1
0x08027DE2 D3FA      BCC      0x08027DDA
即一直在这几条指令中转圈。

点赞  2015-3-7 22:48
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复