ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:28.11KB ,
资源ID:7544519      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7544519.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(uCLinux在NiosII平台上的移植基于Nios II的SOPC软硬件系统DE2.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

uCLinux在NiosII平台上的移植基于Nios II的SOPC软硬件系统DE2.docx

1、uCLinux在NiosII平台上的移植基于Nios II的SOPC软硬件系统DE2窗体顶端uCLinux在NiosII平台上的移植一、编译环境搭建VMware上安装Ubuntu9.04*1配置一些比较快的源默认情况下,Ubuntu中的vi编辑器并不好用,左右键不正常,需先安装vim-full,但ubuntu-9.04-desktop-i386.iso中的默认的源无法访问了。sudo apt-get install命令全都是“failed to fetch”的错误。需要修改/etc/apt/sources.list源文件。可用gedit命令。输入用户密码。但若把源地址一项一项添加很费事,易出错

2、,从windows环境下又无法向VMware中粘贴。sshd,vsftpd没有安装,share-folder在Ubuntu环境下无法使用。现在,还有一种方法,可在VMware环境下,从外部的ftp服务器上把事先已传上去的sources.list文件下载下来。先配置网络sudo vi /etc/network/interfaces配置域名服务器sudo vi /etc/resolv.conf sudo /etc/init.d/networking restart从ftp上下载source.list文件,然后执行sudo mv sources.list /etc/apt命令之后,sudo apt-

3、get update /升级安装的软件包。sudo apt-get install vim-full /安装vim-full,便于以后的编辑sudo apt-get install openssh-server /安装sshd,便于远程登录sudo apt-get install vsftpd /安装vsftpd,便于以后与物理机间传送文件sudo apt-get install chkconfig /安装chkconfig,便于服务器的管理接下来就参照上所讲继续安装了。二、TryOutLinux在进行移植工作之前,可以先下载现成的配置文件和内核映像文件,下载到板子上看看效果。从nioswik

4、i网站上下载DE2平台上已经编译好的DE2_NIOS_HOST_MOUSE_VGA.sof,DE2_NIOS_HOST_MOUSE_VGA.ptf 以及zImage_DE2_NIOS_HOST_MOUSE_VGA_v1.6文件。Configure the FPGANiosII EDS$nios2-configure-sof DE2_NIOS_HOST_MOUSE_VGA.sofDownload and run the kernel image,NiosII EDS$nios2-download -g zImage_DE2_NIOS_HOST_MOUSE_VGA_v1.6Open nios2 t

5、erminalNiosII EDS$ nios2-terminal三、InstallNios2Linux安装或下载源码和编译工具。在编译工具链之前,先安装以上这些工具。如若不安装完全,在后面的编译工具链和编制内核的时候可能出现错,Ncurses是一个能提供基于文本终端窗口功能的动态库。在Ubuntu安装的时候应注意,安装ncurses-dev库时可能会显示“ncurses-dev has no installation candidate”,如下图所示:此时,可以安装libncurses5-dev。$sudo apt-get install libncurses5-dev在完成了上述库的安装后

6、,可按下一条命令检查是否安装完全。检查默认的shell是否是bash如若不是,需改成bash$sudo rm /bin/sh$sudo ln -s bash /bin/sh注销重新登录,检查cc是否链接向了gcc如若不是,则需修改:$cd /usr/bin$ln -s gcc cc20090703需要gcc 4.2或者更高版本*2。从ftp上下载nios2-linux-20090730.tarsha1sum校验把nios2-linux-20090730.tar解压到指定的目录:$ sudo tar nios2-linux-20090730.tarC /media/sdb1/切换到nios2-l

7、inux目录,check out the sourcenios2-linux中各个目录的作用。Nios2 uClinux的源文件和gnu工具链。以下这些命令是编译nios2-gcc工具链的整个过程Ubuntu中编译需要注意的是:Ubuntu中并没有root用户,需用sudo的方式执行管理员操作,但是即使用sudo make仍会产生permission denied的错误。可能是sudo的有效区域的问题。可用以下方式解决:出现的错误:在安装好上文中所说的那些库后,在make的过程中仍有各种错误,便切换到nios2-linux目录update了一下。再进行上述操作,会出现以下错误cp: canno

8、t stat doc/gcc.1: No such file or directory在google上寻找解决方法如下,需修改gcc3目录下的Make-lang.in中的一句代码。至此,在编译就没有错误了,tools chain的编译时间比较长,大概用了1个小时10分钟左右的时间。toolchain终于编译成功了。也可以用编译好的BinaryToolchain,然后设一下PATH变量$vi /.bashrc本文中,把编译好的BinaryToolchain放到/opt/nios2/bin目录下,把自行编译的tools-chain设在/media/sdb1/nios2-linux/toolchai

9、n-build/build/nios2/bin目录下。重新登录后,查看nios2-linux-uclibc-gcc是否可用$nios2-linux-uclibc-gcc -v现在把编译环境完全在nios2-linux-20090929上来做。我在Ubuntu虚拟机上新加了一块8G的硬盘,在tar xf,./checkout,make toolchain之后居然空间不够了,还得把nios2-linux-20090929.tar的包删掉才行。由于nios2-linux项目使用git来管理的,所以在用的时候需要注意查看分支。如若不是在test-nios2分支上,切换过来吧。依次检查每一个目录。其它与

10、7月30的版本相同,而且不会出现编译工具链时的错误。编一个测试程序:hello world编译与检测接下来,就可以配置和编译内核了。切换到uClinux-dist目录下,执行$make menuconfig回车进入Vendor/Product Selection,Vendor选择Altera,Product选择Altera Products(nios2)。Exit。选择Kernel/Library/Defaults Selection,单击回车进入。选择Default all settings (lose changes),Exit,Exit。显示Do you wish to save you

11、r new kernel configuration?选择Yes可先从nioswiki网站上下载一个已配置好的系统 DE2_NIOS_HOST_MOUSE_VGA.ptf 和DE2_NIOS_HOST_MOUSE_VGA.sof先做一下实验。运行vendor_hwselect$make vendor_hwselect SYSPTF=/home/lunix/uclinux/DE2_NIOS_HOST_MOUSE_VGA.ptf选择要使用的cpu,设置程序运行的存储器。编译内核和程序$make把生成的zImage文件cp到vftpd配置的目录,在Windows环境中从虚拟机上下载。启动nios2

12、command shell$nios2-configure-sof DE2_NIOS_HOST_MOUSE_VGA.sof$nios2-download g zImage-g选项代表着是下载后立即运行。$nios2-terminal四、配置SOPC硬件系统平台下面将配置一个SOPC系统,并自行裁剪linux内核后记:没有认真阅读它的基本的硬件要求或建议是 Nios II f型core,带Hardware multipler sdram(最小8M) 一个full feature的定时器timer 一个jtag或者serial的UART除了定时器timer不要把中断号0(irq 0)分配给任何器件

13、硬件设计建立一个工程,名字为DE2_uClinux。器件设置如下。加入一个Verilog HDL文件,文件名为DE2_uClinux.v,Set as Top-Level Entity。此时可先不管DE2_uClinux.v中的内容,先建立一个SOPC系统。调用Sopc Builder建立一个nios系统。起名字为DE2_lab1添加On chip Memory,在Memorie and Memory Controllers-On-Chip-On-Chip Memory(RAM or ROM)。添加cpu,选择Nios II/e型,设置复位和异常向量。更正:此处应选Nios II/f型加入定时

14、器timer,选择full-featured,在Peripherals-Microcontroller Peripherals-Interval Timer加入JTAG_UART和UART,在Interface Protocols-Serial中加入sdram控制器,在Memories and Memory Controller-SDRAM-SDRAM Controller加入sram,此处需注意将DE2光盘中找到demo工程的SRAM_16Bits_512K copy到DE2-uClinux工程目录下,执行file-refresh system,可看到左侧system content栏中多了

15、一个Terasic Technologies Inc组,组中的SRAM_16Bits_512K就是要加入的DE2上的sram控制器。将DM9000A和SRAM_16Bit_512K加入后记:SOPC Component for DM9000把dm9000a_hw.tcl文件存放到工程目录,打开SOPC Builder,可看到一个新的“dm9000a”组件。添加一个新的Avalon-MM tristate bridge,添加”dm9000a”组件,重命名为”dm9000”,连接到Avalon tristate bridge master,不需要Verilog或者VHDL文件,因为SOPC Bui

16、lder会自动生成。不要把中断号0(irq 0)分配给dm9000。DM9000A模块加入后,应命名为dm9000,并通过tristate-bridge与连接到系统上,且中断号不能为0。以下图的中未作修改,所有的dm9000a都应为dm9000。加入flash controller,Memories and Memory Controller-Flash-Flash Memeory Interface(CFI)CFI flash通过tristate-bridge与Avalon MM总线连接,它是个速度较慢的器件。配些开关和灯。开关和红灯18个,绿灯8个,按钮4个。绿灯和按钮类似先选这么多吧,最

17、后结果执行一些地址对齐,中断号分配的工作。注意中断号0。点击next,generate。把新生成的系统加到DE2_uCLinux工程中。配置引脚Assignments-Import Assignments,选中DE2光盘中的DE2_pin_assignments.csv文件,导入。Assignment-Device-Device and Pin Options-Unused pin设为As input tri-stated。Dual-purpose pin-nCEO设置为Use as regular I/O修改顶层文件DE2_uClinux。打开DE2光盘中的一个比较齐全的的Demo,此处用D

18、E2DE2_demonstrationsDE2_NET。把里面的DE2_NET.v文件的内容考出,把内容copy到DE2_uClinux.v中,把顶层module名改为DE2_uClinux。把不需要的部分进行裁剪。本文中裁剪如下。 /ClockInput/CLOCK_27,/OnBoard27MHzCLOCK_50,/OnBoard50MHz/PushButton/KEY,/Pushbutton3:0/DPDTSwitch/SW,/ToggleSwitch17:0/LED/LEDG,/LEDGreen8:0LEDR,/LEDRed17:0/UART/UART_TXD,/UARTTransmi

19、tterUART_RXD,/UARTReceiver/SDRAMInterface/DRAM_DQ,/SDRAMDatabus16BitsDRAM_ADDR,/SDRAMAddressbus12BitsDRAM_LDQM,/SDRAMLow-byteDataMaskDRAM_UDQM,/SDRAMHigh-byteDataMaskDRAM_WE_N,/SDRAMWriteEnableDRAM_CAS_N,/SDRAMColumnAddressStrobeDRAM_RAS_N,/SDRAMRowAddressStrobeDRAM_CS_N,/SDRAMChipSelectDRAM_BA_0,/S

20、DRAMBankAddress0DRAM_BA_1,/SDRAMBankAddress1DRAM_CLK,/SDRAMClockDRAM_CKE,/SDRAMClockEnable/FlashInterface/FL_DQ,/FLASHDatabus8BitsFL_ADDR,/FLASHAddressbus20BitsFL_WE_N,/FLASHWriteEnableFL_RST_N,/FLASHResetFL_OE_N,/FLASHOutputEnableFL_CE_N,/FLASHChipEnable/SRAMInterface/SRAM_DQ,/SRAMDatabus16BitsSRAM

21、_ADDR,/SRAMAddressbus18BitsSRAM_UB_N,/SRAMHigh-byteDataMaskSRAM_LB_N,/SRAMLow-byteDataMaskSRAM_WE_N,/SRAMWriteEnableSRAM_CE_N,/SRAMChipEnableSRAM_OE_N,/SRAMOutputEnable/USBJTAGlink/TDI,/CPLD-FPGA(Datain)TCK,/CPLD-FPGA(Clock)TCS,/CPLD-FPGA(CS)TDO,/FPGA-CPLD(Dataout)/EthernetInterface/ENET_DATA,/DM900

22、0ADATAbus16BitsENET_CMD,/DM9000ACommand/DataSelect,0=Command,1=DataENET_CS_N,/DM9000AChipSelectENET_WR_N,/DM9000AWriteENET_RD_N,/DM9000AReadENET_RST_N,/DM9000AResetENET_INT,/DM9000AInterruptENET_CLK/,/DM9000AClock25MHz文件中其它的部分与上些部分无关的代码去掉。在生成的DE2_lab.v文件中把,把顶层模块DE2_lab复制到DE2_uClinux.v中修改如下DE2_lab1de2(/1)globalsignals:.clk(CPU_CLK),.reset_n(CPU_RESET),/the_button_pio.in_port_to_the_button_pio(KEY),/the_dm9000a .cmd_to_the_dm9000(cmd_dm9000), .cs_n_to_the_

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1