ADDI-Data APCI-7501
发布时间:2019-03-04 14:56:02点击率:
0

ADDI-Data APCI-7501 SDK会在输出路劲生成u-boot.bin文件,将其改为BOOT.bin,拷贝到SD卡中,为ZedBoard板配置合适的跳线。这时再打开ZedBoard电源,Bootloader会初始化PS,用BitStream配置PL(包含了我们创建的my_gpio外设),并将操作权移交给U-Boot。U-Boot会自动加载Device Tree、Linux内核镜像和RootFS, 终启动Linux。ZedBoard出场时SD中还带有zImage、devicetree和rootfs文件,这些文件都可以采用原有的,直接用Xilinx交叉编译工具编译写好的C语言驱动就可以在这个系统上运行并控制外设了。当然,如果你想自己编译内核,或者不想采用静态物理地址的方式调用外设,就需要再往下进行一步,注意这一步对于Linux下控制AXI总线自定义外设并非必要。为了给有兴趣的朋友继续深入研究做个铺垫,这里兔子就讲一下编译ZedBoard上运行的Linux内核和设备树吧。当然这个方法也详细记录在ZedBoard_OOB_Design的README文件中。在PC的Linux环境下(兔子这里是Ubuntu)通过Git指令下载Digilent Linux内核源码:git clone git://github/Digilent/linux-3.3-digilent.git 切换到ZedBoard Branch:cd linux-3.3-digilentgit checkout -b zedboard_oob v3.3.0-digilent-12.07-zed-beta 将ZedBoard_OOB_Design中的.config文件拷贝到源码目录下,然后编译内核(指的是ZedBoard_OOB_Design所在目录):cp /linux/.config ./.configmake 生成的内核镜像zImage 位于/arch/arm/boot/文件夹下。之后修改devicetree_ramdisk.dts文件,加入my_gpio外设信息。/******* LED & SwTIch Controller ******/my_gpio@75c80000 { paTIble = "xlnx,my_gpio-1.00.a"; reg = <0x75c80000 0x10000>; xlnx,dphase-TImeout = <0x8>; xlnx,family = "virtex6"; xlnx,c_num_reg = <0x1>; xlnx,c_num_mem = <0x1>; xlnx,s-axi-min-size = <0x1ff>; xlnx,c_slv_awidth = <0x20>; xlnx,c_slv_dwidth = <0x20>; xlnxe-wstrb = <0x0>;}; 通过下面指令生成设备树,同样Copy到SD卡中:./scripts/dtc/dtc -O dtb –I dts –o ./devicetree_ramdisk.dtb \ /linux/devicetree_ramdisk.dts这个设备树文件有网友说是将驱动加入到内核中用的,但兔子以为不然。如果不想通过静态设备物理地址(上面的0x75c80000)来加载驱动,就可以根据这个设备树信息(具体是通过xlnx,my_gpio-1.00.a字串)来动态识别设备。具体的方法有兴趣的童鞋可以一试,下次我们就要开始正式编写my_gpio外设的Linux驱动了。
ADDI-Data APCI-7501
本公司秉承“顾客至上,锐意进取”的经营理念,
坚持“客户 ”的原则为广大客户提供更加优质的服务。欢迎惠顾!
从事(DCS系统)(机器人系统)(大型伺服控制系统)模块 备件销售,公司主营(优势)产品内
容为分布式控制系统(DCS) ,可编程序控制器(PLC), MOTOROLA MVME工业用模组 ,工业控制通訊
转换器(Any) ,远端输出/输入模块(RTU) ,工业电脑(IPC)、 工业用低頻萤幕(IPC) ,人机
界面SCSI(50,68,80Pin) Any(Gateway)备件销售
联系人:欧工
手机:18030229050
电话:0592-5709821
传真:0592-5917519
QQ 3151326358
邮箱 3151326358@qq
您的选择,我们的服务
您的信赖,我们的品质
您的满意,我们的追求 您满意的选择
ADDI-Data APCI-7501

返 回
免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责,塑胶五金网对此不承担任何保证责任