我用的是ALTERA的APEX20KE开发板,每次工程文件下载后能写入自己的软件运行,也可以通过SDKShell看到自己设计的CPU代号。但是重启之后或是掉电后在芯片里面的又成了std_32.2.0的那个cpu了。我想知道如何在掉电了之后也能保存住我自己设计的cpu。
他们提供给我的指导书上面一个实验:Flash Programing说可以在掉电后再上电可以自动运行用户程序,做法如下,但是我做了几次都没有成功,而且我认为这个做法本身就是错的。
前提:nios32 cpu:1kbyte的boot_rom;一个uart1( 中断号27,115200波特率,在33.333mhz下0.12%的误码率,1位停止位,8数据,1奇偶);一个用户逻辑pwm.v
(这个是他公司提供的,没错的);其他是板子上的256KBYTE的sdrm和1MB的flash。
操作:1,用Hexout2flash standard.hexout,将此文件转成flash文件。
2,把用户文件先编译: nb pwm.c, srec2flash pwm.srec,将得到的文件用记事 本打开后复制里面全部的内容粘贴到standard.hexout.flash 那个文件的后面并存 储为一个新的flash文件。
3,将新的FLASH文件用nr指令下载到开发板上去。
4,断电后上电“now you can see your program auto-run after re-apply.”这是书上的原话,可是我做了几遍都无法得到向他说的结果。
5,中间几步就是对那个正在运行的程序的操作了,包括按那个键就可以看到LED 变暗,变亮之类的。
6,最后必须把standard_32_devboard.flash 下载到开发板里面去,这个我不知道启什么作用,但是考虑到是不是对原来开发板的恢复,所以即使前面没有成功,我也作了这步工作。