没有合适的资源?快使用搜索试试~ 我知道了~
FPGA应用程序加载.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 136 浏览量
2021-10-11
17:43:24
上传
评论
收藏 375KB DOCX 举报
温馨提示
试读
41页
FPGA应用程序加载.docx
资源推荐
资源详情
资源评论
基于 Xilinx FPGA 的嵌入式 Linux 设计流程
是通过逻辑组合电路来实现各种功能的器件。由于 部集成了大量的逻辑资
源和可配置的 引脚,加上独特的并行处理架构,可以轻松实现同时对多个外部设备的
配置和管理,以与外各种接口数据的传输。现在开发厂商又在 部参加了大量的
和 资源,非常适合图像处理、数字信号处理等运算密集的应用,因此在这些
领域取得了广泛的应用。但是由于 程序编写的灵活性和功能的多样性,使得它在一
个复杂工程中对各个程序的使用调度、统筹管理上有很大的局限性,这样就必须引入操作
系统进展统一的管理。系统那么因为其良好的可裁减、可配置等特点在嵌入式领域
应用广泛。 操作系统提供了许多系统级的应用,例如网络协议的实现、进程调度、
存管理等,同时 是一个成熟的开源操作系统,有丰富的应用资源,利用这些资源和
强大的系统功能,用户可以快速地开发基于嵌入式环境复杂系统。因此,结合 和
双方优势,可以很好地满足嵌入式系统设计需求,量体裁衣,去除冗余。
本文给出了一种基于 的嵌入式 操作系统解决方案。
基于 的嵌入式系统的硬件设计
本设计是基于 系列 ,它部集成了两个 处理器
个 !!! 以太网 模块,运行频率 "#$ 时,具有 %& 性能,
能解决高速网络数据传输问题,并且能解决通过网络加载操作系统和交叉编译等问题。它
部有 ' 个可配置 口,%(%),能实现对各种外部设备的并行控制以与
较多数据的存储与处理。加载一个操作系统,一般需要几十兆的存空间, 部自带的
空间是远远不够的,本设计在板上扩展了两片 * 公司的 %+) 存,作
为上电时操作系统的加载和运行空间。现在主流的嵌入式操作系统,都需要搭建交叉编译
环境,把在主机上编写好的可执行文件下载到目标板上,这就需要实现网络数据的传输。
由于 自带了以太网 模块,只需要在外面添加个 #, 芯片和带隔离器的
- 接口就能实现这个功能。本设计由于对网络数据实时性要求很高,因此采用 ./
公司 的 千兆 以 太网 #, 芯 片 ''0!!!!&- 。它 能 根据 自 身配 置 和主 机 设计 , 实现
!!! 自适应传输,并且 本身对这个芯片提供了驱动支持,实现无缝。
操作系统加载到 中能快速有效的运行,但是掉电就会丢失,因此必须参加 # 芯
片,把系统文件存储到外部 # 中。加电时, 把操作系统文件从 # 读入到
中运行。 设计当然会扩展很多接口出来,利用自身并行处理的优势,控制很多
外围设备,本设计也不例外,扩展了 ' 个通用的 ,% 个 % 接口,! 个 1 接口,
! 个 (2 声卡接口,! 个 #3 接口,以与 个 %% 接口,同时扩展了两个
接口,引出了 !+ 位数据地址线和 0343 控制线,整个系统的硬件框图如图 ! 所示。
1 / 41
在进展电路设计时,是以 为核心,向外扩展各种设备,因此特别注意了 各个
引脚的连接。由于 和 #, 芯片都需要提供5%6 电压,因此和 、#, 芯片连
接引脚所在的 *7 需要提供5%6 电压参考,并且不能接以 88 或 为电压
参考的引脚。重要快速的时钟信号必须接到全局时钟引脚上。由于 需要通过外部
# 启动操作系统,需要并行配置,以减少加载时间,配置电路如图 % 所示。在
布线时,数据和地址线需要走等长线,数据线之间不能相差 ! 地址线要控制在 %
以,时钟也需要走差分等长线,长度应大于地址线, 各个信号还需要 29 的并行端
接,改善信号质量。千兆 #,输出 信号也需要在顶层做差分等长 ,不然在进展
! 数据传输时很可能不稳定。 和 #, 需要完整的电源回路做参考,电源层划分
时也要特别注意,其他电路做常规处理就可以了。
07 和 0 软件设计
首先需要调用 提供的 07 软件,对各个模块参加必要的 0,以便操作系统
能正常调用这些器件的驱动操作他们。本设计采用的是 07!6!6% 版本, 方面选用
:: 核,频率设定在 "#$,同时需要添加中断输入引脚,以便响应以太网、串口
等外部中断,其他使用默认设置。 控制器采用 07 提供的 3&3&;<
3 模块,需要设置 芯片厂商、大小和数据位数等,特别指出的是,要设置
独立的两条 总线和 连接,作为 的指令和数据总线。 单元需要参加
==80 模块来控制,本设计需要设置 #,类型为 >千兆以太网?,同时要指
定物理地址和收发 大小。# 单元需要参加 :@=;4=; 模块,同时设置
# 类型和读写时间。为了方便调试,还需要参加串口控制台模块,本设计使用的是
1.33 模块,设置需要的波特率和校验类型。特别注意的是,系统还需要时钟管理模块
>?,提供各个模块需要的不同时钟,还要设置一段 部 区域,放置
的6)3 文件。外部这些模块都通过 总线和 通信,需要统一编址,一般把
存空间地址分配到 开始,整个系统的构建如图 " 所示。
2 / 41
本设计,除了在 07 中搭建了操作系统必须的各种模块后,还需要在 0 中编写各个时序
电路程序,因此把 07 中编写好的工程作为一个模块,参加到 0 中,然后统一编译,这
样生成了我们需要的完整功能的程序。特别指出的是, 数据地址采用的是大端模
式,接入到 0 中时,需要把数据颠倒位置,如 8A:"!B变为 8A"!CB,才能正
常读写。
操作系统的加载与烧写
加载 操作系统需要利用 07 软件提供的板级升级包>?配置核。包含了所选
定处理器架构的属性文件以与相关硬件的驱动源文件 。首先要在 07D3:3中
D3:4.@:@3< 选项下设置 提供的 E&;4@&F/3F=)
库路径,然后在软件平台设置中选择 3@ 模式,编译更新升级包,生成6F3@ 配置文件。
3@ 文件包含了所有模块地址分配,中断以与驱动信息,把他参加到 核中,然后配
置核选项选择对应的处理器架构、所选硬件的驱动模块以与需要的其他核模块,之后再对
完成配置的核进展编译,生成 的核 ;.E文件。生成核 ;.E文件之后,还需要
生成系统运行所需要的根文件系统。根文件系统中包含了嵌入式 系统的所有应用程
序、库以与系统配置等相关文件。根文件系统中常用的程序和命令可利用开源软件
@<) 构造。构造完成之后,在 @<)生成的目录和文件的根底上再构造根文件系
统的目录树,并添加相关设备文件和配置文件以与系统运行时需要的脚本文件 从而形成
最终的根文件系统,.;F@6;.E。把他拷贝到核中的66.4::)3 目录下,
在 %6+6 根目录下运行 ;.$;.E633,生成最终的系统文件。需要指出的是,
在编译 核时,需要设置好交叉编译环境:首先安装 07 编译软件,然后在编辑自
己的目录下的 6).@4>例如:4;::?中参加下面容C
=0G::=
H8#GH8#C4; :: 07@)C4; ::
07):3=08#
保存,然后执行H@6).@4
把 生 成 的 $;.E63F 文 件 通 过 07 软 件 下 的 调 试 窗 口 , 使 用 F
$;.E63F 命令下载到 中,然后运行 命令,就正常启动 了。
程序下载到 中,掉电后,数据就丢失了,不能保存和连续使用,因此要把操作系统
烧写到 #,上电后让它能自动运行,掉电后也不会丢失。07 提供了专门的 #
3 / 41
烧写工具 E.;.@4;<,首先要把 $;.E63F 文件转换为 # 能识别
的60 文件,需要在 074 下运行下面命令:
H::&.)&)D:<IJ"%&::I@$;.E63F6@
第一次烧写 # 时需要把 E.;.@4;< 中 .3.@43F
::.3勾上,让系统自动生成 3F 程序。操作系统烧写到 .@4 中后,需
要 在上电后自动从 # 读取操作系统数据,然后自动运行,这几需要把刚刚生
成的 )3.F= 工程中的6J 参加到6)3 生成新的配置文件,使用 07 下的 1:F.3.
3@3.; 命令就能实现。最后把生成的6;@ 文件烧写到 中,上电后,系
统就能自动运行了。
设计结果与分析
在 系统正常加载后,我们设计一个程序,它通过以太网,从上位机获得数据,存入
部 .; 中,再在 0 中编写程序,把获得的数据取出,产生频率可变的波形
发生器,并回传发送的参数给上位机。
通过实验证明,在 参加操作系统后,能轻松实现网络数据的收发,并通过 自
身的逻辑,产生我们需要的各种控制信号,做到了系统的统一调度和各个功能的并行处理
发挥了操作系统和 各自的优势。但是也发现, 下操作系统运行的频率不高,
最多 +#$,中断响应间隔较长,大约 ";@ 左右,系统上电启动时间较长,大约 @
左右,这些都需要在今后设计中进一步完善和提升。
结语
本文介绍了基于 的嵌入式 设计流程,从硬件设计到 系统加载,再到应
用程序运行整个过程,从中可以看出,该设计既发挥了 并行处理和多时序控制上的
优势,也发挥了嵌入式 系统调度和可裁剪性方面的优势,还提高了这个系统的稳定
行,也减少了 与外部高速总线连接的资源开销,二者的结合 既满足了嵌入式应用
按需定制、量体裁衣的需求 又能开发出稳定而功能强大的嵌入式系统,在现在嵌入式系
统开发中有很好的运用。
MicroBlaze 处理器的 PetaLinux 操作系统移植
引言
随着 >FE.;.).3.<,现场可编程门阵列?技术的迅速开展,
><@3.;.E.;.)4:,可编程片上系统?作为一种特殊的嵌入式微
处理器系统,已逐渐成为一个新兴的技术方向。 融合了 和 各自的优点,
并具备软硬件在系统可编程、可裁减、可扩大、可升级的功能。其核心是在 上实现
的嵌入式微处理器核,而如何针对特定的微处理器选择适宜的嵌入式操作系统是 开
发的难点之一。本文针对 公司的 .$ 软核,介绍了 3. 嵌入式操作
系统与其移植方法,研究了 3. 的相关配置和启动方案。
!基于 .$ 处理器的系统设计
!.!.$ 处理器简介
4 / 41
.$ 软核处理器是一种针对 器件而优化的功能强大的微处理器。它
部采用 架构的 "% 位指令和数据总线,支持 3 片上总线的标准外设计集
合,具有兼容性和重复利用性,且可根据性能需求和逻辑区域本钱任意裁减,极扩展了应
用围,其最精简的核只需要将近 个 。
.$ 的 3 总线、它能够将 各种不同的 核连接到一起构成一
个完整的系统。3 总线是一个总线标准的集合,它包括 总线>@@
.@,处理器本地总线?, 总线>.;<@,高速本地存储器总线?,
>.@3;:,快速单连接?总线,以与 >.4?总线等。
!.%系统结构和外部设备概述
本系统主要是在 3& 开发板上构建一个以 .$ 处理器为中心的嵌入式信号处
理系统,在 部实现系统的总线架构、数据存储、地址译码、外设接口等系统部件和
功能。各功能部件在 部都以 核的形式构建并连接,整个系统的结构框图如图 ! 所
示。
其中,<@0 用于存放文件系统和应用程序配置文件,*8 用来实现中断控制;
和 18!+ 用于系统调试,自定义 核 用来实现数字接收机下变频功能,这些
外设通过 总线与 .$ 处理器和 相连;用于快速傅里叶变换的自定义
核 8 通过 总线与 &.$ 部通用存放器直接相连,实现了数据的快速传输;
通过 总线与 .$ 处理器相连,实现了 .$ 处理器对片外存储器
的高速访问。
!."嵌入式操作系统的选择
选用 3. 嵌入式操作系统。它是 3.E 公司专门针对 的片上系统设计
的嵌入式 开发套件,在满足应用工程的逻辑编程能力和对嵌入式 要求的同时,
可极缩短产品开发周期。3. 作为专门针对于 的嵌入式 解决方
案,不但提供了专门的 生成器,而且提供了众多的参考设计,可以帮助设计者快速掌
握 3. 的配置方法。. 核正在不断的完善之中,且不断地参加基于
嵌入式系统 核的设备驱动,比如 1、<@0、 总线设备驱动、!
/!/! 三态以太网 等。这些设备驱动极减轻了嵌入式系统开发者的工作量,
缩短了产品开发的周期。
%3. 系统移植
在 硬件系统构建完成后,就要针对此结构配置操作系统核,下面介绍具体步骤。
%.!建立交叉编译环境
嵌入式系统开发一般采用交叉编译的方法,即在宿主机上对核和应用程序进展编译,生成
目标机处理器可执行的二进制位流文件,将此文件下载到目标机运行。3. 针对
.$ 处理器建立了交叉编译器,运行 @./@33E@.@4 脚本,系统会自动
建立交叉环境。
5 / 41
剩余40页未读,继续阅读
资源评论
yunxidzh
- 粉丝: 59
- 资源: 30万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功