在Nios II中,我们可以通过Nios II 中的flash烧写功能往FPGA中固化程序和系统参数,如果我们想单独烧写系统参数呢?就是想在flash或者EPCS的空闲区域写入二进制数据。在软件中我们可以将flash中的数据读出来,那怎样才能烧写有用的数据呢。下面就八一八。
首先要理清楚二进制文件和文本文件的区别。
大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。
简单来说:
文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。
二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。
从上面可以看出文本文件基本上是定长编码的,基于字符嘛,每个字符在具体编码中是固定的,ASCII码是8个比特的编码,UNICODE一般占16个比特。
而二进制文件可看成是变长编码的,因为是值编码嘛,多少个比特代表一个值,完全由你决定。
慢慢理解吧,对数据操作过才能理解好。
如果在新建的txt文件里手动打上“10 20 30”,在Nios II烧写界面中选中 Program a file into flash memory,如下图所示。
选择要烧写的txt文件,选择好要烧写的器件,是flash呢,还是EPCS呢。我做的实验是在EPCS上的,没有flash。我觉得flash上应该也可以。最后是指定好偏移量,避免数据烧写覆盖掉代码。<