- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NIOS II软核处理器的Linux引导程序U-boot设计
NIOS 软核处理器的Linux引导程序U-boot 设计
-
1 概述1.1 Nios 简介??? Nios 是Altera 公司以RISC 为基础的可配置、可裁减软核处理器。它具有16 位指令集和16/32 位数据通路,通过将包括1 6 或3 2 位高性能处理器在内的多种应用模块嵌入到通用FPGA/CPLD 内,实现完全可配置的嵌入式系统。其开发套件包括:具有必要外围内核的Nios 处理器、C/C++ 编译器、Cygnus 的源级调试程序、Quartus编译软件、验证工具和开发板。??? Nios 软核处理器主要特性包括:高效灵活的处理器模块,可以通过软件配置成16 位或32 位的中央处理单元(RISC 结构) ,并可选择不同的内部存储器大小, 其最高执行速度可达50MHz ;具有多种其它功能模块的选择(SDRAM 控制器、UART 控制器、PCI 接口模块、LCD 接口模块、MAC 接口模块等多种功能模块);具有完整、廉价、便捷的开发系统。所有开发( 包括设计、调试) 均通过软件进行, 不再需要专门的硬件仿真器和编程器, 大大减少了开发设备的成本。1.2 向Nios 移植uClinux 需要做的工作和步骤(1)硬件需求??? 需要一个Altera 公司的开发包,或者是下面三种之一:APEX board,STRATIX board,CYCLONE board。本文选用的是CYCLONE board。(2)软件需求??? 下载一个最新版本的uClinux,并搭建一个Nios 的GNU C 编译环境,准备好CDK4Nios 开发包。CDK4Nios开发包是Nios 的交叉开发包。(3)bootloader??? 需要编写或移植一个bootloader 到Altera Nios board上。本文就是要设计一个用于Nios 的U-boot bootloader。??? 利用QUARTUS 软件为开发板定义默认参数, 然后在开发板上测试U-boot。(4)uClinux 内核的编译??? 将下载好的uClinux 源代码解压到/home 目录下,会产生/home/uClinux-dist 目录,进入该目录,依次键入:make menuconfigmake depmake??? 在/home/uClinux-dist/image 目录中产生image.rom,image.ram,romfs.img,它们分别是内核的映像及文件系统的映像文件。键入make menuconfig 时,会出现开发平台及内核配置和文件系统应用程序的配置界面, 可以根据需要配置。(5)uClinux 的根文件系统及其加载??? uClinux 系统采用romfs 文件系统,这种文件系统相对于一般的ext2 文件系统要求更少的空间。romfs 文件系统不支持动态擦写保存, 对于需要系统动态保存的数据,采用虚拟ram 盘的方法进行处理(ram 盘将采用ext2文件系统)。同时,uClinux 内核也支持各种文件系统,例如, 网络文件系统, 在需要时可以进行mount 。??? 解决了上述问题以后,uClinux 便可以成功地移植到Nios 上。1.3 U-boot 介绍??? U-boot 是启动引导程序的一种,是一种通用的Linuxbootloader。在做uClinux 移植时,碰到的第一个问题就是移植 bootloader或者自己编写 bootloader程序。Linux内核启动部分的代码需要判断从bootloader 传递过来的寄存器值。U-boot 对Linux 引导有特别的支持,如: SCC/FEC 以太网支持; BOOTP/TFTP 引导; IP,MAC 预置能力和在线读写Flash、DOC、IDE、IIC、EEROM、RTC; 支持串行口kernit,S-record 下载代码; 识别二进制、ELF32、pImage 格式的Image,对Linux引导有特别的支持; 单任务软件运行环境(hello.c); 监控(minitor)命令集有读写I/O、内存、寄存器、外设测试功能等; 脚本语言支持(类似BASH 脚本); 支持watchDog, LCD logo,状态指示功能等。??? 本文着重介绍uClinux 向Nios 软核处理器移植过程中,U-boot 的设计和实现。
2 U-boot 的设计2.1 bootloader 的设计思想??? bootloader 的设计除了依赖于 CPU 的体系结构外,它实际上也依赖于具体的嵌入式板级设备的配置。也就是说, 对于两块不同的嵌入式板而言,即使它们是基于同一种 CPU 而构建的, 要想让运行在一块板子上的bootloader 程
您可能关注的文档
最近下载
- 影视基地项目运营方案.pptx VIP
- (ppt)P.E.T (Parent Effectiveness Training)父母效能训练学员手册.ppt VIP
- 高中数学知识点总结及公式大全完整版.pdf VIP
- 静压管桩监理实施细则.pdf VIP
- 新时代研究生学术英语综合教程2(崔岭)课后习题答案.pdf VIP
- GB55037-2022建筑防火通用规范.pdf VIP
- 【中考真题】2024年吉林省中考物理试卷(附答案).doc VIP
- 《建筑施工技术》课件——模板工程施工.ppt VIP
- 医学影像学题库(含答案).docx VIP
- 2025及以后5年中国无磁钻铤行业市场全景评估及发展趋势预测报告.docx
文档评论(0)