-
楼主,你用ARM单片机在线更新CPLD这个方案实现没有?我最近尝试了下,利用单片机的IO口模拟JTAG口,按照TAP控制时序可以获取CPLD的IDCODE等信息,但是怎么把CPLD的配置文件.pof存储到CPLD的配置区,一直没有找到好的方法,有没有高人指点下。
-
请问大侠,.pof的文件格式是怎么样的?用什么软件能打开?
-
好东西啊,珍藏了。
-
我用的CPLD芯片是EPM1270,看了下数据手册,UFM大小为8Kbits,而我的pof文件大小为26.6KB,我想用ARM单片机的IO口来模拟JTAG实现对EPM1270的在线更新,请问大侠,是通过配置JTAG时序,利用把pof文件数据输出到TDI引脚上吗?
-
楼主问题解决了没有啊,最近我也要做这个,没找到合适的资料啊,望楼主帮忙
-
楼主能给个中断向量表是重映射到了RAM的例程吗?我用LPC11C12把异常向量映射到RAM时程序老跑飞
-
我在LPC11C12中应用IAP时把中断向量表映射到RAM后程序跑飞,在单步调试时执行SYSMEMREMAP = 0x1;后可以看到0x10000000起始的地址中写入了原本保存在FLASH中的异常向量表信息,但是再单步时发现0x10000000起始的地址中的数据被改变了,程序也跑飞。我也查了相关资料,比如LPC2114的例子,
http://hi.baidu.com/stm32/item/d65c47dc445983e0795daaad,他也是把向量表映射到RAM中的,但是就没我这个问题。
我的加载文件是这样的:
LR_IROM1 0x00000000 { ; load region size_region
ER_IROM1 0x00000000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
*.o (+RO)
}
RW_IRAM1 0x10000100 { ; RW data
.ANY (+RW +ZI)
}
}
我想把FLASH中的向量异常表重映射到RAM,也是就是把0x00000000起始的向量表拷贝到0x10000000中,执行了VectorRemap函数
void VectorRemap(uint32_t userCodeAddr)
{
uint8_t i;
volatile uint32_t *pUser,*PRam;
pUser = (uint32_t *)userCodeAddr;
PRam = (uint32_t *) 0x10000000;
for(i=0;i