在上篇“配置I”中介绍了MAX 10 FPGA的内部配置,并且对单映像配置过程做了演示,此篇继续配置这个主题,介绍双映像配置过程:
----------------------------------- 双映像配置 -----------------------------------
工程继续使用LED_FLASH,上篇中新建了LED_BREATH版本,工程**有两个版本:LED_Flash和LED_BREATH▼
▼制作双配置映像,需要相应地在设置中奖内部配置模式设置Dual Compressed Image
▼然后开始编译,但是出现了错误Error (169130): Configuration mode specified as Remote but remote update block is not found in design,是缺少了什么模块
查阅相关文档,原来是缺少这货:Altera Dual Boot IP,必须在工程中例化这个IP才能实现双映像配置。由于此IP接口是Avalon-MM的,需要先在Qsys中包装一下▼
▼在IP Catalog中搜索Dual Boot IP,然后点击添加
▼只需配置此IP的时钟,此例中为50MHz
▼将clk和reset连接后,一个基于Dual Boot IP的简单Qsys系统完成了
▼点击Generate HDL…,在弹出对话框中设置后,点击Generate
▼系统生成后,在顶层Verilog代码中例化生成的Qsys系统
dualboot dualboot_u(
.clk_clk(clk), // clk.clk
.reset_reset_n(1'b0) // reset.reset_n
);
▼成功编译后,可在层次结构中看到dualboot系统模块
▼切换另一个版本,记得内部配置模式也设置成Dual Compressed Image,不同的版本其设置是独立的,然后重新编译;两个版本分别生成两个sof文件:LED_Flash.sof和LED_BREATH.sof。
▼下一步是将两个sof文件装换成单个pof文件;与制作单映像配置方法相同,通过convert programming files生成pof,但有些不同,在Input files to convert需要添加两个sof文件
▼打开Programmer,添加LED_DualBoot.pof文件,在Program/Configure中勾选CFM,点击Start开始下载
▼下载成功
▼在双压缩映像模式中,可以使用BOOT_SEL 管脚来选择配置映像,在MAX 10评估套件中对应拨码开关DIP的第6位:ON状态选择第一个映像;OFF状态选择第二个映像
▼演示视频:上电默认加载第一个映像:呼吸灯程序;切换BOOT_SEL管脚状态后,加载了第二个映像:闪烁灯程序
wiliamzhou_446210705 2015-4-8 15:28
Hoki 2015-4-8 13:23
wiliamzhou_446210705 2015-4-8 13:06
Hoki 2015-3-6 09:16
wiliamzhou_446210705 2015-3-5 21:51