飞思卡尔xep100
单片机有行代码看不懂
bootloader中的代码,
右移8位不就变成3F了吗,把基地址赋值为3F,是为什么什么哇?希望给解答一下。
#define CPU12IVBR 0x3F00
IVBR = (CPU12IVBR >> 8); //设置中断向量基址到RAM中
飞思卡尔xep100
单片机有行代码看不懂
bootloader中的代码,
右移8位不就变成3F了吗,把基地址赋值为3F,是为什么什么哇?希望给解答一下。
#define CPU12IVBR 0x3F00
IVBR = (CPU12IVBR >> 8); //设置中断向量基址到RAM中
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在飞思卡尔xep100单片机中,中断向量基地址(IVBR)的高8位默认为0x3F,低8位默认为0x00,所以将CPU12IVBR右移8位后得到的值为0x3F,即将中断向量基地址赋值为0x3F。这里的意义是将中断向量基地址设置到RAM中的地址0x3F处,从而将中断向量表放在RAM中,以便在运行时修改中断向量表。
中断向量表是用于处理中断的一张表格,其中每个元素对应一个中断,并包含中断处理程序的入口地址。在飞思卡尔xep100单片机中,中断向量表默认存储在ROM中,所以需要将中断向量表拷贝到RAM中进行修改。这里将中断向量基地址设置为0x3F,是为了将中断向量表存储在RAM中的地址0x3F~0x5F处。