在使用Niosii时,有时会遇到Niosii一运行程序,程序就跑飞了,今天分享一下我所知道的原因。
本质上讲基本都可归结为,内存中的程序被其他模块误操作冲掉了。比如某个底层逻辑模块具有写
内存的操作,可能由于设计上的不严谨,该模块进行了不期望的写内存操作,而写地址为0x00000000(
这是最常见的可能地址,因为如果没有正确初始化,Quartusii的编译器会给默认值0),这样就把Niosii的
程序给rush掉了,因为Niosii的程序时从0地址开始的(0x0-0x1F有特殊用处,该段地址内的数据不是用户
程序代码,但一般操作内存会写较多的数据,很容易就把用户程序给rush了,尤其在做图像缓存时)。