原创 【博客大赛】Flash的使用简介

2012-10-28 02:31 1355 6 6 分类: FPGA/CPLD
    在嵌入式系统中,Flash是最常用组件之一。许多使用过flash的朋友都了解,Flash的特点是“读来容易写来难”。通常,可以直接读出Flash的内容;但如果要写入数据,就要发送一长串命令,比如像555 ,AA,2AA,55,555,A0 ,PA,PD 就表示对PA地址写入数据PD,实际情况还要复杂一点,因为通常还要包含许多查询操作。

    哎呀,这真是好繁琐呀,有没有省力的方法呢?现在好了,NiosII的开发环境提供了对符合CFI标准的Flash的支持,使用几个简单的函数,就可以操作Flash,真是方便了许多。

   在这里,我粗略得介绍一下nios 中flash的使用;更加详细的帮助信息请您参考Altera公司提供的文档。如果本文能对您有一点点帮助,我都会感到非常高兴。

1。准备工作:

    在使用Flash之前,有几个准备工作要做:

  1。开发板上至少要有一片符合CFI标准的Flash。

  2。设计好对应目标板的Flash编程器(Flash Programmer)

    下面我以本站设计的开发板ezNiosDKC6B为目标板,来介绍如何使用Flash,你可以举一反三,在自己的系统中使用Flash.

2。为SOPC系统中添加Flash接口:

1。   双击在Memory中的Flash Memory(Common Flash Interface),即可为系统添加Flash接口。

2。 对于ezNiosDK的用户,Address Width可以选择 20 Bits,Data Width 可以选择 16 Bits,这样总的容量是2M Bytes

    20060726102008694.jpg

3。Timing选项卡中,可以如下添写:

    20060726102013838.jpg

   完成后,选择Finish,即可为系统添加Flash接口。

4。增加三态总线桥。Flash 接口必须通过三态总线桥接到实际的芯片上。双击Bridges下的Avalon Tri-State Bridge,请按照下图设置,为系统增加三态总线桥。

    20060726102015456.jpg

5。为Flash接口分配引脚。请参考我之前的文章:Step By Step创建标准(Standard) niosII系统

    注意,如果Data Width是16Bits,那么tri_state_bridge_0_address[0]不必接到Flash上,tri_state_bridge_0_address[1]对应Flash的A[0],tri_state_bridge_0_address[2]对应Flash的A[1],以此类推。

3。在Nios IDE中使用Flash编程器:

3-1。配置Component/Kit Library Search Path。目的是在系统中增加本站设计的Flash编程器目录,请把光盘CD1上的/Example/ezNiosC6 拷贝到您的电脑的硬盘上。比如,我把他放在h:/DB2005/project/niosDK/CD/CD1/Example/中,然后在Altera SOPC Builder中,选择File -> SOPC Builder Setup,增加如下搜索路径:+h:/DB2005/project/niosDK/CD/CD1/Example/ezNiosC6

ezNiosC3的用户如下操作:请把光盘CD1上的/Example/ezNiosC3 拷贝到您的电脑的硬盘上。比如,我把他放在h:/DB2005/project/niosDK/CD/CD1/Example/中,然后在Altera SOPC Builder中,选择File -> SOPC Builder Setup,增加如下搜索路径:+h:/DB2005/project/niosDK/CD/CD1/Example/ezNiosC3

并顺便检察Modelsim Directory是否正确:比如,我的是 g:/w2k/eda/fpga/altera/modeltech_6.0/win32

然后,你需要关闭Altera SOPC Builder,然后再重新通过QuartusII的Tools ->SOPC Builder来开启SOPC Builder,这样上述修改才能生效。

    20060726102017642.jpg

常见错误:有许多朋友往往在设置路径的时候,犯与下图类似的错误。错误在于第一个路径前面是不需要 + 号的!要去掉第一个路径前面的 + 号

20060726102020980.jpg

3-2:使用Flash编程器。

我使用项目:ezC6Be_StdF50_zip_filesystem_0(在CD1\Example\ezNiosC6B\ezC6Be_StdF50\software\ezC6Be_StdF50_zip_filesystem_0下,请使用Nios IDE中的File-Import来导入这个项目),来说明如何使用Flash编程器。

    首先为系统上电,并连接好下载电缆。

    选择Tools -> Flash Programmer,启动 Flash 编程器

    选择New,可以看到增加了一个名为 ezC6Be_StdF50_zip_filesystem_0 programmer的flash 编程器

20060726102020517.jpg

   选择Program software project into flash memory,然后选择Apply,在选择Program Flash,就启动了Flash 编程器!如果顺利的话,可以看到如下的提示:

    20060726102026828.jpg

如果看到如上提示,OK,小功告成,我们已经可以正常使用Flash编程器啦!

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条