Xilinx社区
首页 > Steve专栏 > Adam Taylor玩转MicroZed系列53:聊聊Linux 和 SMP
Steve专栏
Adam Taylor玩转MicroZed系列53:聊聊Linux 和 SMP
来源:  时间:2015-01-27  浏览量:708


Adam Taylor玩转MicroZed系列53:聊聊Linux 和 SMP


作者:Adam Taylor


在最近的几篇博客中,我们花了主要精力讲解操作系统和AMP(非对称多进程处理),接下来我们希望看到Linux系统在microzed板上运行。我们目前还没有讨论过Xilinx ZYNQ  SoC上运行Linux,尽管Linux已经是一个非常流行嵌入式操作系统了。本节我们通过讲述它,同时也顺便讨论SMP(对称多处理器)。俗话说,一石二鸟嘛。

自从Linux系统被Linus Torvalds(一个赫尔辛基大学计算机系的学生,他1991年写这个Linux时,只是作为他个人的一个项目来做)创建以来。Linux已经成为世界上最广泛采用的操作系统之一,作为嵌入式操作系统它正变的越来越受欢迎!随着大量的软件开发人员熟悉Linux内核和Linux下的应用程序开发,很显然,我们也希望能够在Zynq SoC的PS上跑Linux操作系统。Linux既然有能力跑在一片 ARM Cortex-A9 多核处理器,当然也可以在Zynq SoC的ARM Cortex-A9 双核上运行。

当操作系统跑在双核上时,单个系统受控制并且将变成一个SMP(对称多处理器),我们有两种方法在MicroZed板上启动及运行Linux操作系统。

  • 我们可以使用一个已经存在的预编译镜像文件,就像这里这个。这是个最快速的方法,但是这个操作系统镜像可能没有像我们在硬件级别上所要求的那么多的外设。

  • 另外一种方法,我们可以基于PetaLinux创建我们自己的Linux版本,(您必须在Linux系统下完成开发,而不是windows)

    定制属于我们自己的操作系统版本需要如下步骤。


    具体步骤如下:
    1、第一级Boot Loader:配置处理器和硬件,比如说DDR时序等。
    2、第二级Boot Loader:载入操作系统,U Boot是最常用的方法。
    3、根文件系统:针对我们自己的版本,我们需要一个RAM存储,包含所有的启动Linux系统所需要的文件。
    4、设备Blob树:这一步定义了硬件配置,并且允许通过不同的硬件实现来使一个发行版本被使用。
    5、Linux Kernel :为我们的应用程序,重新编译下内核。
    6、开发Linux下面的应用程序。
    7、创建Boot镜像。

    我们将在接下来的几篇博客中对以上7步加以描述。
    尽可能地使用Linux 预编译镜像文件,该文件是MicroZed板自带的,尽管这个版本实际上还只是个demo。我们要做的第一件事就是从上面的链接下载Zip文件并且保存到一个工作目录。

    然后我们将这些文件复制到一个SD卡并设置MicroZed板跳线帽,使镜像文件从SD卡启动。

    当启动序列完成后,我们将在终端看到如下图所示:


    由于这个Linux版本是为MicroZed进行定制开发的,所以部分功能受到限制。尽管如此,Zynq PS肯定是能够支持GPIO的,这样的话,我们便可以通过终端来控制MIO47上的LED灯的亮灭,按键是在MIO51上,我们可以读取它的状态。

    我们在终端中获取可用的驱动程序,在如下路径:/sys/class/gpio/ 。我们可以通过下面的命令串来控制LED,该命令串首先输出mio47到sysfs文件系统,接着配置IO作为输出,最后点亮LED。
    Echo 47 > /sys/class/gpio/export
    Echo 47 > /sys/class/gpio/export
    Echo 1 > /sys/class/gpio/gpio47

    通过以上命令串控制说明,基本的Linux操作系统可以很容易在microzed上启动和运行。但是,要真正体现Linux的强大,我们还得让他跑一个定制的硬件应用程序才行。这个我们将在下一篇博客中继续讲述。

    原文链接:
    http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chro...

    © Copyright 2014 Xilinx Inc.
    如需转载,请注明出处


热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052