微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 庆科的库不能在0x800 0000处编译吗?

庆科的库不能在0x800 0000处编译吗?

时间:10-02 整理:3721RD 点击:


现在自己编写的程序,不想使用庆科的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()这个函数。

发现了个问题:

没有用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
即一直在这几条指令中转圈。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top