基于SRAM的FPGA配置数据存储方式解析方案
ReadSD_FAT16(){
读取物理第0 扇区内容,即MBR,获取逻辑0 扇区的位置;
读取逻辑0 扇区的内容,获取每扇区字节数,每簇扇区数,FAT 表占据的扇区数等参数;
读取根文件夹的内容,根据配置文件的文件名获取其起始簇号和文件长度;
将当前簇设置为起始簇;
While(1){
读取FAT 中对应当前簇的内容,获得下一个簇的簇号;
FAT 表中对应当前簇的内容为0xFFFF 时,即说明当前簇是最后一个簇,计算该簇内的有效数据,并进行发送;
读取当前簇内容,进行发送;
当前簇指向下一个簇;
}
}
3 结束语
在当前FPGA使用领域日趋广泛的情况下,对现有的含有FPGA 的嵌入式产品进行升级更新成为了一项比较繁琐的工作,特别是在产品数量较多的情况下。本方案提出了采用SD卡存储配置数据的配置方案,使用了目前嵌入式系统中常见的ARM 微处理器和SD 卡,不仅降低了成本,而且利用了现有资源,节省了电路板布线布局的空间。最重要的是使升级 过程更加简洁,在进行调试时也可以灵活使用。本文只给出了对Virtex FPGA 进行配置的情 况,该方案也可以适用于Spartan 系列FPGA。
评论