这两天在看OAD方面的东西,请教个问题。
加了BIM后,加电执行的第一块代码在哪个工程中?
我理解的是首先执行的APP工程,之后由于APP工程main中的一段代码
#ifdef FEATURE_OAD
{
uint8_t counter;
uint32_t *vectorTable = (uint32_t*) 0x20000000;
#if defined(__IAR_SYSTEMS_ICC__)
uint32_t *flashVectors = &__vector_table;
#elif defined(__TI_COMPILER_VERSION__)
uint32_t *flashVectors = &ti_sysbios_family_arm_m3_Hwi_resetVectors;
#endif //Compiler.
// Write image specific interrupt vectors into RAM vector table.
for(counter = 0; counter < 15; ++counter)
{
*vectorTable++ = *flashVectors++;
}
}
#endif //FEATURE_OAD
执行后,才通过BIOS_start函数跳转到BIM中执行,
之后在BIM中,通过CRC检测确定执行哪个Image。
不知道理解的对不对,总感觉这么的别扭。