自从Altera公司推出Nios II 9.1 Software Build Tools for Eclipse(简称Nios II 9.1 SBTE),许多新特性的引入,令众多使用者感到欣慰,尤其是在编译的速度上。但是Nios II 9.1 SBTE并不完美,譬如说无法调用用户自定义外设的HAL文件、无法使用Flash Programmer正常固化程序到EPCS。2010年2月27日,Altera公司释出9.1 SP1,其中Nios II SBTE无法正常固化程序到EPCS的问题得到初步地解决。
注意事项1
Nios II 9.1 SP1 SBTE的Flash Programmer的选项。
图1 Flash Programmer的选项
“Generate Files”和“Program Files”为缺省选项,如果只勾选这两项,Flash Programming没有问题。
“Run From Reset After Programming”,这个选项的意思是,Flash Programming后自动复位运行。该选项的加入,非常人性化,用户在Flash Programming后,不用再去手动单击一下FPGA芯片的复位键或者重启一下电源。
注意:“Erase Flash Before Programming”选项的意思是,先擦除Flash内容,再Flash Programmer。但是这一擦后,对于我使用的EPCS4来讲,Flash Programming就无法自动复位,老毛病再现。我暂时还没有在其他的Flash上验证。
注意事项2
编程的内容。此处仅贴出我说使用的一个案例。(使用EPCS4)
图2 Flash Programming的内容
加入QII编译后生成的xx.sof文件,因为是自动bootleader,所以其Flash Offset缺省为0;NII编译生成的xxx.elf为运行的程序文件,Flash Offset不用填写。
如果Flash Programming其他的文件,请注意后面的Flash Offset的计算,以及Flash的容量。