sof文件是Quartus編譯默認生成的程序文件,用于通過JTAG口下載到FPGA內部RAM,斷電程序會丟失,jic文件是用于固化到外部Flash中的程序文件,斷電程序不會丟失。本文介紹如何通過批處理文件實現sof到jic的一鍵自動化轉換。
Quartus工程文件結構如下所示,Quartus工程保存在project文件夾下,批處理文件保存在同級的flash文件夾下,批處理文件名稱為sof2jic.bat,
├─flash
│ └─sof2jic.bat //用于將sof文件轉換為jic文件的批處理文件
├─project
│ ├─output_files
│ │ ├─others.
│ │ └─project.sof //默認生成的sof程序文件
│ ├─project.qpf //Quartus工程文件
│ └─project.qsf //Quartus工程文件
在flash文件夾下新建批處理文件并命名為sof2jic.bat
,以文本方式編輯,輸入以下內容:
::1.刪除已有的程序文件
del *.sof
del *.pof
del *.map
del *.jic::2.復制工程目錄下生成的文件到當前目錄,并重命名
copy ..\project\output_files\project.sof .\flash.sof
copy ..\project\output_files\project.pof .\flash_epcq32a.pof::3.調用quartus_cpf命令將sof轉換為jic, 外部Flash型號為EPCQ32A,FPGA芯片型號為10CL055Y
%QUARTUS_ROOTDIR%\\bin64\\quartus_cpf -c -d EPCQ32A -s 10CL055Y ./flash.sof ./flash_epcq32a.jicpause
Quartus編譯完成后,只需要雙擊這個批處理文件,即可將sof轉換為jic文件,并且把sof、pof等程序文件復制到當前目錄下,方便后續的固件發布操作。