新闻中心

EEPW首页>EDA/PCB>设计应用> 可在线升级的FPGA并行配置方法的实现

可在线升级的FPGA并行配置方法的实现

作者: 时间:2009-08-10 来源:网络 收藏

2.2 SST89V564RD微处理器片内 Flash应用划分
SST89V564RD微处理器片内 Flash两块( 64K+8K)中, Block1分成 64个扇区,每个扇区包括 128个字节,总共 8K字节;Block0分成 512个扇区,每个扇区包括 128个字节,总共 64K字节[2]。
微处理器两块 Flash地址应用划分为: Block0中,低地址段 0x0000~0x1FFF存放对 Block1进行擦写的 IAP程序,高地址段 0x2000~0xFFFF存放配置数据。 Block1的所有空间用来存放上电启动时对进行配置以及配置完后的 IAP操作程序。微处理器默认下从 Block1启动。当程序运行在 IAP命令状态时,可以通过设置特功能寄存器 SFCF使程序运行在 Block0或 Block1,来对另一 Flash块进行擦写或升级。
由于 Block0和 Block1的低 8K字节的地址相同,因此在编程应用程序到 Flash中时,编程器将 Block1的地址定义在 0x10000~0x11FFF地址段,在编译程序时需要将 Block1的程序定位在 0x10000~0x11FFF之间才能正确烧写。
3.软件设计
微处理器状态流程如图 3所示,在上电启动时,微处理器从 Block1启动,读取 Block1中 0x2000开始的配置数据,完成对的配置。配置完成以后,微处理器处于 IAP状态,既可以通过串口 IAP指令来对 Block0高地址段的 FPGA配置数据进行擦写或升级,也可以通过串口 IAP指令切换微处理器跳到 Block0中低地址段运行,来对 Block1中的程序进行擦写或升级。
由于 Block0中低地址段存放的只是对 Block1进行擦写的 IAP程序,因此无需擦写或升级该部分程序。升级只限于当更改 FPGA逻辑功能时升级 Block0高地址段的配置数据,或者更改了 FPGA芯片时更改 Block1中的配置数据参数以及 Block0中高地址段的配置数据。当程序运行在 Block0中,要切换到 Block1运行重新配置 FPGA时,将产生复位信号,复位微处理器和 FPGA使微处理器重新对 FPGA进行配置。



评论


相关推荐

技术专区

关闭