论文部分内容阅读
摘 要:Altera Cyclone V SoC FPGA 在一个基于ARM的用户可定制芯片系统(SoC),集成了分立处理器(HPS)、FPGA和数字信号处理(DSP)功能。本文主要介绍Altera Cyclone V SoC FPGA的Embedded Linux System搭建,集FPGA和ARM两大优势于一体,让系统设计更加先进、灵活。
关键字:FPGA ARM SoC Linux
中图分类号:G64 文献标识码:A 文章编号:1672-3791(2014)12(a)-0015-01
1 Linux系统搭建
Altera Cyclone V SoC FPGA的Embedded Linux System搭建是一个十分复杂的过程,包含如下几个部分。
1.1 Linux系统搭建工具
(1)Quartus II,创建、编辑和编译FPGA硬件设计。
(2)SoC EDS,创建设备树、产生预加载源文件和硬件传送信息。
(3)Yocto,生成U-boot、Linux内核、文件系统。
(4)ARM DS-5,应用软件开发工具。
1.2 Linux系统搭建过程。
1.2.1 搭建Qsys系统
使用Quartus II创建一个Qsys工程,Alatra公司自己开发了一个Demo板,提供了Qsys的基础搭建例程,这里使用已提供的“soc_system.qpf”,但是要正确运行Linux系统,还需要进行一些修正。
1.2.2 配置HPS系统
HPS内包含了双核的ARM Cortex A9 处理器外,还有许多内建外设可以使用,在Qsys系统中双击 hps_0组件打开HPS配置窗口,查看HPS组件的配置信息,HPS属性有FPGA Interfaces、Peripheral Pin Multiplexing、HPS Clocks和SDRAM等四个配置栏,根据硬件实际连接,进行相关配置,配置完毕后,保存、编译就是生成需要的“soc_sysytem.sof”文件。
1.2.3 生成Preload Iamge文件
Altera的SoC FPGA与ARM专用芯片相比其有比较灵活的应用弹性。因为用户可以通过Qsys配置和删减ARM端外设,还可以添加与FPGA相连的组件。这些用户自定义的设定在经过Qsys generate和Quartus II compile会产生出一些HPS和FPGA相关的配置文件。在进行软件设计时,这些档案可以通过BSP Editor转换成Preloader需要的输入档案,以进一步生成Image文件。
1.2.4 生成Device Tree
Device Tree是一种有关硬件系统描述的数据结构,它可以描述整个系统上挂载了多少种类的硬件。通过device tree系统上的硬件信息都可以传递给OS(linux)。如此便可以不用在Kernel内放置大量的冗长的代码。这样的特性对于硬件里面有FPGA的情况下提供了很大的弹性与灵活性。
1.2.5 Yocto ProjectTM
进入Yocto网站,Yocto ProjectTM是一个开源的协作软件,提供模板、工具和方法帮你创建定制的Linux系统和嵌入式产品,而无需关心硬件体系。下载基于Altera Cyclone V SoC FPGA的Linux系统相关资源包及编译工具,进行内核的配置。
1.2.6 ARM DS-5
Altera版ARM DS-5是Altera提供的基于ARM Development Studio5工具包的特定设备,是一个强大的基于Eclispe的综合集成开发环境,这里使用ARM DS-5进行Linux内核调试、外围设备驱动调试,确保Linux能够正确运行在Altera Cyclone V SoC FPGA。
1.2.7 制作Linux SD Card
完成上述步骤,将Preload Image镜像文件,设备树、系统信息文件、Linux内核烧录到SD中,这样一个基于Altera Cyclone V SoC FPGA Embedded Linux系统制作完毕。
2 Linux系统测试
将制作完成的SoC_System.img镜像文件,使用Win32SD工具烧录到SD卡,将SD插入到Altera DE1_SoC中进行测试,将出现如图1所示的信息。
3 结语
随着FPGA技术的高速发展,芯片规模不断提升,带来了更强性能的同时,也实现了更低的功耗。RISC和FPGA结合使用,这样电路设计的难度也就相应地增加了。而Altera的Cyclone V SoC将RISC硬核处理器系统和FPGA集成到一起实现了功能的互补,大大减小了硬件电路复杂性和体积,同时也降低了功耗,提高了系统可靠性。
参考文献
[1] 蔡志明,卢传富,李立夏.精通QT编程(第2版)[M].北京:电子工业出版社,2011.
[2] 陈健,宋健建.Linux程序设计[M].北京:人民邮电出版社,2010.
[3] 黄照鹤.Linux指令范例速查手册[M].北京:清华大学出版社,2011.
[4] 陈永强,陶品,王笃强.嵌入式Linux移植[J].实验室研究与探索,2012(9):67-68.
关键字:FPGA ARM SoC Linux
中图分类号:G64 文献标识码:A 文章编号:1672-3791(2014)12(a)-0015-01
1 Linux系统搭建
Altera Cyclone V SoC FPGA的Embedded Linux System搭建是一个十分复杂的过程,包含如下几个部分。
1.1 Linux系统搭建工具
(1)Quartus II,创建、编辑和编译FPGA硬件设计。
(2)SoC EDS,创建设备树、产生预加载源文件和硬件传送信息。
(3)Yocto,生成U-boot、Linux内核、文件系统。
(4)ARM DS-5,应用软件开发工具。
1.2 Linux系统搭建过程。
1.2.1 搭建Qsys系统
使用Quartus II创建一个Qsys工程,Alatra公司自己开发了一个Demo板,提供了Qsys的基础搭建例程,这里使用已提供的“soc_system.qpf”,但是要正确运行Linux系统,还需要进行一些修正。
1.2.2 配置HPS系统
HPS内包含了双核的ARM Cortex A9 处理器外,还有许多内建外设可以使用,在Qsys系统中双击 hps_0组件打开HPS配置窗口,查看HPS组件的配置信息,HPS属性有FPGA Interfaces、Peripheral Pin Multiplexing、HPS Clocks和SDRAM等四个配置栏,根据硬件实际连接,进行相关配置,配置完毕后,保存、编译就是生成需要的“soc_sysytem.sof”文件。
1.2.3 生成Preload Iamge文件
Altera的SoC FPGA与ARM专用芯片相比其有比较灵活的应用弹性。因为用户可以通过Qsys配置和删减ARM端外设,还可以添加与FPGA相连的组件。这些用户自定义的设定在经过Qsys generate和Quartus II compile会产生出一些HPS和FPGA相关的配置文件。在进行软件设计时,这些档案可以通过BSP Editor转换成Preloader需要的输入档案,以进一步生成Image文件。
1.2.4 生成Device Tree
Device Tree是一种有关硬件系统描述的数据结构,它可以描述整个系统上挂载了多少种类的硬件。通过device tree系统上的硬件信息都可以传递给OS(linux)。如此便可以不用在Kernel内放置大量的冗长的代码。这样的特性对于硬件里面有FPGA的情况下提供了很大的弹性与灵活性。
1.2.5 Yocto ProjectTM
进入Yocto网站,Yocto ProjectTM是一个开源的协作软件,提供模板、工具和方法帮你创建定制的Linux系统和嵌入式产品,而无需关心硬件体系。下载基于Altera Cyclone V SoC FPGA的Linux系统相关资源包及编译工具,进行内核的配置。
1.2.6 ARM DS-5
Altera版ARM DS-5是Altera提供的基于ARM Development Studio5工具包的特定设备,是一个强大的基于Eclispe的综合集成开发环境,这里使用ARM DS-5进行Linux内核调试、外围设备驱动调试,确保Linux能够正确运行在Altera Cyclone V SoC FPGA。
1.2.7 制作Linux SD Card
完成上述步骤,将Preload Image镜像文件,设备树、系统信息文件、Linux内核烧录到SD中,这样一个基于Altera Cyclone V SoC FPGA Embedded Linux系统制作完毕。
2 Linux系统测试
将制作完成的SoC_System.img镜像文件,使用Win32SD工具烧录到SD卡,将SD插入到Altera DE1_SoC中进行测试,将出现如图1所示的信息。
3 结语
随着FPGA技术的高速发展,芯片规模不断提升,带来了更强性能的同时,也实现了更低的功耗。RISC和FPGA结合使用,这样电路设计的难度也就相应地增加了。而Altera的Cyclone V SoC将RISC硬核处理器系统和FPGA集成到一起实现了功能的互补,大大减小了硬件电路复杂性和体积,同时也降低了功耗,提高了系统可靠性。
参考文献
[1] 蔡志明,卢传富,李立夏.精通QT编程(第2版)[M].北京:电子工业出版社,2011.
[2] 陈健,宋健建.Linux程序设计[M].北京:人民邮电出版社,2010.
[3] 黄照鹤.Linux指令范例速查手册[M].北京:清华大学出版社,2011.
[4] 陈永强,陶品,王笃强.嵌入式Linux移植[J].实验室研究与探索,2012(9):67-68.