精华内容
下载资源
问答
  • ZYNQ的Linux开发--使用SDK生成设备树

    千次阅读 2017-07-14 15:24:39
    Linux ubuntu Step1:首先从Xilinx GitHub上下载Device Tree Generator(设备树生成器)BSP https://github.com/Xilinx/device-tree-xlnx/pulls 并将其复制到SDK安装目录下 Step2:配置SDK开发环境,Xilinx ...

    开发环境:
    Windows下的Vivado套件
    Linux ubuntu
    Step1:首先从Xilinx GitHub上下载Device Tree Generator(设备树生成器)的BSP https://github.com/Xilinx/device-tree-xlnx/pulls 并将其复制到SDK的安装目录下
    Step2:配置SDK开发环境,Xilinx Tools->Repositories,在Local Repositories 中点击New,将在github中下载的文件夹路径添加进去。
    这里写图片描述

    这里写图片描述
    Step3:使用Device Tree Generator生成设备树
    File->New->Board Support Package
    这里写图片描述
    在Board Support Package OS中选择device_tree 点击Finish进入BSP的设置,按照自己板子的设定将内核启动参数填写
    这里写图片描述
    填写完后点击OK在SDK目录下会看到生成的设备树文件夹。如图
    这里写图片描述
    以上步骤均是在windows系统下执行将所有文件复制到Linux系统下使用dtc生成设备树文件即完成。如下图,SDK生成的设备树文件夹为device_tree_bsp_4 我将dts文件重命名为xilinx.dts,这个可以在修改设备树传递内核参数的时候修改。
    这里写图片描述
    命令执行完后可以看到在linux-xlnx目录下生成了devicetree.dtb文件。
    这里写图片描述

    展开全文
  • 参考Xilinx Wiki上一篇教程http://www.wiki.xilinx.com/Build+Device+Tree+Blob,我们可以轻松创建需要设备树。 首先下载device tree generator,安装到SDK 直接下载压缩文件:...

    参考Xilinx Wiki上的一篇教程http://www.wiki.xilinx.com/Build+Device+Tree+Blob,我们可以轻松创建需要的设备树。

    首先下载device tree generator,安装到SDK
    直接下载压缩文件:
    https://github.com/Xilinx/device-tree-xlnx/releases

    将解压的device-tree-xlnx文件夹拷贝到xilinx安装目录下的SDK\2017.4\data\embeddedsw\devicetree\bsp文件下,并重命名为device-tree-xlnx_v2017_4。

    在SDK中操作点击菜单: Xilinx Tools > Repositories
    在Local Repositories中添加我们刚才的SDK\2017.4\data\embeddedsw\devicetree\bsp\device-tree-xlnx_v2017_4
    路径并点击OK。

    点击菜单File > New > Board Support Package
    如果前面没有配置正确,出现的对话框的Board Support Package OS部分就只有standalone而没有device-tree选项,这时候需要重头检查自己的配置,最好检查前面文件的路径是否有空格,还有推荐用管理员权限打开SDK,当然最重要的是检查文件是否完全按照规则放置和命名(此处有惨痛教训)。

    配置启动参数(定义串行终端和系统镜像位置等)和标准输出:
    console=ttyPS0,115200 root=/dev/ram rw initrd=0x800000,8M earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=0
    可以看出,操作系统镜像在ram中,并从0x80000启动,ramdisk大小为8M(因为我们后面制作的根文件系统是8M大小)等。注意里面的“initrd=0x800000,8M”不能漏掉,否则启动linux时会出现如下错误并卡死。
    (启动参数配置参考的digilent-zed.dts中的bootargs一行。我们在devicetree中配置的chosen启动参数会覆盖掉linux内核中默认配置的digilent_zed_defconfig中的CONFIG_COMDLINE。)

    配置Console_device选择ps7_uart_1
    可以看出,我们使用串口ttyPS0(不是ttyS0)作为终端并配置波特率为115200。

    配置kernel version,选择需要生成的匹配合适版本的kernel的DTS。
    这里我们选择2017.4,和SDK保持一致。

    配置main_memory,选择主运行内存。
    这里我们选择ps7_ddr_0。

    然后点击”OK”生成设备树文件。

    注意:
    如果下载的device-tree generator版本和kernel版本不匹配可能会出现错误,要下载匹配的版本进行替换。例如kernel使用2017.4版本,那么DTG也应使用2017.4版本。
    如果在运行时提到一个启动错误,则是由于devicetree文件中默认生成的compatible不一致产生的,将文件中的zynq-7000改成zynq-zed即可。

    另外,如果不想挂载RAMDISK,而是想把SD卡的第二分区作为根文件系统挂载,那么要修改bootargs。
    输入下面参数:
    console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=0
    console:指定控制台的设备以及波特了
    root:指定挂载的根文件系统,这里是/dev/mmcblk0p2,当时在创建linaro的sd卡镜像时会特别提示需要在SD卡中创建两个分区,第一个分区是FAT文件系统,存放内核,设备树,BOOT.bin等,而第二个就是存放Linaro根文件系统了,这里也就是对应的mmcblk0p2设备。
    rootfstype:制定跟文件系统的类型,这里是ext4
    rw:rw参数告诉内核以读写方式加载根文件系统。
    earlyprintk:在console设备注册前(也就是printk注册之前)提供对打印函数的支持,这个之前就可以使用early_printk()函数来代替printk()函数
    rootwait:让内核等待所有设备都被初始化完成后,再去执行root文件系统的挂载工作。这样可以避免根文件系统驱动初始化成功之前就挂载根文件系统

    展开全文
  • 《领航者ZYNQ之Linux开发指南》,非常详实的zynq的linux开发资料,希望对你的工作学习有所帮助。
  • 领航者ZYNQLinux开发指南 V1.2 本书我们讲解Linux,而Linux开发可以分为底层驱动开发和应用开发,本书以领航者ZYNQ为硬件平台,从实现到驱动,从底层到应用讲解linux开发
  • 《领航者ZYNQLinux开发指南_V1.5.1.pdf》非常好资料,值得拥有,希望对你工作学习有所帮助。
  • ZynqLinux的开发

    千次阅读 2018-07-02 11:15:42
    Zynq在Linux下开发转载2017-03-28 20:26:45转自:http://blog.sina.com.cn/s/blog_b35897360102x5lu.html注:在此介绍Zynq Linux开发所步骤,不涉及具体操作,只针对一些基本概念1.设置交叉编译工具 交叉编译通俗...

    Zynq在Linux下的开发

    转载2017-03-28 20:26:45

    转自:http://blog.sina.com.cn/s/blog_b35897360102x5lu.html


    注:在此介绍Zynq Linux开发所步骤,不涉及具体操作,只针对一些基本概念

    1.设置交叉编译工具

             交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上,比如在 PC 平台(X86 CPU)上编译出能运行在 ARM 为内核 CPU 平台上的程序,编译得到的程序在 X86 CPU平台上是不能运行的,必须放到 ARM CPU 平台上才能运行,当然两个平台用的都是 Linux系统。这种方法在异平台移植和嵌入式开发时非常普遍。相对与交叉编译,平常做的编译叫本地编译,也就是在当前平台编译,编译得到的程序也是在本地执行。用来编译这种跨平台程序的编译器就叫交叉编译器,相对来说,用来做本地编译的工具就叫本地编译器。所以要生成在目标板上运行的程序,必须要用交叉编译工具链来完成。

        ​     zynq中的交叉编译工具链为arm-xilinx-linux-gnueabi- 

    ​2.编译 Bootloader

           解压并且编译U-boot源码,此环节的目标文件为 u-boot.elf​

           Bootloader,引导加载程序,是系统加电后运行的第一段代码。在zynq实现Linux启动所需要boot.bin中文件为(FSBL.elf + PL部分的.bit + uboot.elf)

    ​3.编译Linux内核

            解压内核源码,进行编译;​此环节目标文件为在zImage(压缩的Image)和DTB文件(Device Tree Blob,是U-Boot用来传递参数给Linux内核参数的一种文件形式);​

    4.制作文件系统

           在Linux操作系统中,​一切都是文件,我们可以通过统一的接口来访问包括文件在内的所有数据。Linux启动时,第一个必须挂载的是根文件系统,之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。

           在现代 Linux 操作系统中,内核代码映像文件保存在根文件系统中。系统引导启动程序会从这个根文件系统设备上把内核执行代码加载到内存中去运行。​

    5.启动Linux系统

            对于SD卡启动,若文件系统为Linaro,需要将linaro相关文件放到SD卡的EXT分区中,若文件系统为ramdisk,则将ramdisk相关文件放到SD卡的FAT格式分区;至于上文中提到的boot.bin ,内核映像zImage,设备树这三个文件放置于FAT格式分区。

    6.运行应用程序​

            在这里提到的应用程序指的是存放在文件系统中的,运行在嵌入式Linux上的应用程序。对于Zynq平台而言,所有的U-boot,Linux内核等都是运行在ARM上的应用程序。对于运行在嵌入式Linux上的应用程序,我们可以通过修改文件系统当中的启动脚本来实现开机自启动,也可以通过在嵌入式Linux启动之后,通过终端来控制应用程序的启动。

    展开全文
  • 《领航者ZYNQ之Linux驱动开发指南_V1.3.pdf》非常好的正点原子zynq的linux驱动资料,值得拥有,希望对你的工作学习有所帮助。
  • 虚拟机软件版本:VMware14.1.1 Linux系统版本:ubuntu-...此工程是在《ZYNQ 7000 Linux工程开发》基础上进行的。 一、创建helloworld驱动 进入上次建立好的linux工程中,命令如下: cd test_project 创建hellowor...

    虚拟机软件版本:VMware14.1.1
    Linux系统版本:ubuntu-16.04.6
    petalinux版本:petalinux-v2019.2
    vivado版本:Vivado 2019.2
    此工程是在《ZYNQ 7000 Linux工程开发》基础上进行的。
    一、创建helloworld驱动
    进入上次建立好的linux工程中,命令如下:

    cd test_project
    

    创建helloworld模块,命令如下:

     petalinux-create -t modules -n helloworld --enable
    

    -t 为创建的类型参数,可选参数为1 project 2 apps 3 modules
    此处要创建的是模块,所以选择 modules
    -n 为要创建的名称,此处命名模块名为 helloworld
    –enable 参数为使能创建模块
    创建模块成功后的打印信息如下:

    INFO: Create modules: helloworld
    INFO: New modules successfully created in /home/zj/zynq/test_project/project-spe                                      c/meta-user/recipes-modules/helloworld
    INFO: Enabling created component...
    INFO: sourcing bitbake
    INFO: silentconfig rootfs
    INFO: helloworld has been enabled
    

    至此,helloworld模块的框架已经生成成功。
    helloworld文件位于工程project-spec/meta-user/recipes-modules/helloworld/files/helloworld.c目录下。
    二、编译模块
    使用如下命令进行编译

    petalinux-build
    

    三、打包boot文件和镜像文件
    执行如下命令

    petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --fpga images/linux/system.bit --u-boot
    

    所有生成的文件在image/linux/目录下。
    四、镜像拷贝,启动
    将image/linux/目录下生成的BOOT.BIN和image.ub文件拷贝到SD卡。插入SD卡,设置SD卡启动模式,上电启动,输入登录名:root 和登录密码:root
    五、模块测试
    系统启动后,进入目录/lib/modules/4.19.0-xilinx-v2019.2/extra目录,可以看到模块文件为helloworld.ko
    安装模块命令如下:

    insmod helloworld.ko
    

    执行后可以看到相关的信息如下:

    <1>Hello module world.
    <1>Module parameters were (0xdeadbeef) and "default"
    

    卸载模块命令如下

    rmmod helloworld
    

    执行后的相关信息如下:

    Goodbye module world.
    
    展开全文
  • 1、 硬件配置 在vivado中选择启用ps端can控制器,如下图 设置can总线主频   2、 devicetree配置 ...在devicetree中需要增加can配置信息,如下: ... compatible= "xlnx,zynq-can-1.0";
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4)对...
  • 基于ZYNQ硬件的LINUX 开发感谢您使用米联客开发板团队开发ZYNQ 开发板,以及配套教程。 本教程将对之前编写的《ZYNQ 修炼秘籍》-LINUX 部分内容做出改进, 并且增加新的课程内容。本教程不仅仅适合用于米联客...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4)对...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4)对...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 基于ZYNQ linux CAN通讯开发。vivado端PS-PL配置,sdk端例程
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • Zynq-Linux移植学习笔记之14-RapidIO驱动开发 ...在对zynq进行linux驱动开发时,除了需要针对zynq内ARM自带控制器适配驱动外,还需要对zynq PL部分IP核进行驱动开发。对于ARM来说,zyn
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4)对...
  • 1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 359
精华内容 143
关键字:

zynq的linux开发

linux 订阅