共2条
1/1 1 跳转至页
remap,boot 请教remap以及boot装载程序的问题

问
在2200开发板上,选择片外ram或片外flash调试时,可以通过remap将片外ram或片外flash低地址(0x80000000)处的中断向量remap(拷贝)到0x00000000~0x0000003f,请问:
1、板上的2210没有片内flash,那么0x00000000~0x0000003f 处的存储空间从何而来;
2、按照书上所说,MEMMAP的硬件复位值为00, 也就是说系统复位后,0x00000000~0x0000003f应该出现boot block处的中断向量,程序流程会跳转到boot block中执行boot程序来实现芯片的初始化,最后由boot程序判断是进入isp模式,还是进入用户程序。只有当进入了用户程序,执行完MEMMAP=0x03 的设置后,才会从memory观察窗口,看到0x80000000~0x8000003f处的中断向量映射到0x0处;
3、 复位状态时(根据你们提供的实例,自己调试看到的结果),打开memory观察窗口。看到,如果是在片外ram调试,0x00000000~0x0000003f 处和0x80000000~0x8000003f处是一样的,也就是实现了remap;如果是在片外flash调试,一开始0x00000000~0x0000003f 为0xFFFFFFFF,只有当执行完target.c文件中的TargetResetInit使MEMMAP = 0x3后,0x00000000~0x0000003f 才和0x80000000~0x8000003f处是一样的;
4、MEMMAP = 0x3时,remap功能保留,不可使用,那上面的remap怎么出现的?为什么复位时0x0处的中断向量不从boot block处映射?但是2100的板子上,复位时能够从memory观察窗口,看到0x0处的中断向量是从boot block处映射,而后进入用户程序,才出现其它映射。很令人困惑!
5、0x7fffe000~x80000000处的boot block,从何而来,2100内部不是没有flash吗!
请周老师 陈明计老师和各位高手指点!多谢! 答 1: 顶!顶!这么好的问题没人回答?
1、板上的2210没有片内flash,那么0x00000000~0x0000003f 处的存储空间从何而来;
2、按照书上所说,MEMMAP的硬件复位值为00, 也就是说系统复位后,0x00000000~0x0000003f应该出现boot block处的中断向量,程序流程会跳转到boot block中执行boot程序来实现芯片的初始化,最后由boot程序判断是进入isp模式,还是进入用户程序。只有当进入了用户程序,执行完MEMMAP=0x03 的设置后,才会从memory观察窗口,看到0x80000000~0x8000003f处的中断向量映射到0x0处;
3、 复位状态时(根据你们提供的实例,自己调试看到的结果),打开memory观察窗口。看到,如果是在片外ram调试,0x00000000~0x0000003f 处和0x80000000~0x8000003f处是一样的,也就是实现了remap;如果是在片外flash调试,一开始0x00000000~0x0000003f 为0xFFFFFFFF,只有当执行完target.c文件中的TargetResetInit使MEMMAP = 0x3后,0x00000000~0x0000003f 才和0x80000000~0x8000003f处是一样的;
4、MEMMAP = 0x3时,remap功能保留,不可使用,那上面的remap怎么出现的?为什么复位时0x0处的中断向量不从boot block处映射?但是2100的板子上,复位时能够从memory观察窗口,看到0x0处的中断向量是从boot block处映射,而后进入用户程序,才出现其它映射。很令人困惑!
5、0x7fffe000~x80000000处的boot block,从何而来,2100内部不是没有flash吗!
请周老师 陈明计老师和各位高手指点!多谢! 答 1: 顶!顶!这么好的问题没人回答?
共2条
1/1 1 跳转至页