虚拟机软件版本: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.