版主: 51FPGA |
卤面仔
最后登陆时间:2013-11-12 11:08:38 |
device-tree作为硬件设计和软件设计之间的参数传递,必须和zingboard的硬件和软件对应上。 本次手记所需的环境为: 1、ISE 14.4 2、ADI的内核在linux系统上 3、ADI的参考设计 这次开发手记所用的硬件设计使用的是ADI所提供的参考设计,https://github.com/analogdevicesinc/fpgahdl_xilinx/tree/edk_14_4_2013_08_02,我所用的是zc702,zingboard的硬件与zc702相似。cf_adv7511_zc702和cf_lib是必须的,其他的可以不下载。所用的软件版本是ISE 14.4。 用XPS打开cf_adv7511_zc702中的system.xmp,因为SD控制器有一个WP的脚,硬件上是没有的,所以打开后需要修改I/O peripherials,把这一项去掉。还需要勾选上Timer 0和Watchdog,不然在启动内核的时候会出现找不到Timer和Watchdog的现象。
点击Close,然后保存一下。点击左侧栏的Gernerate BitStream,生成完成后,点击Export Design。
打开SDK后,需要到xilinx的官方github下载device-tree的repositories,https://github.com/Xilinx/device-tree。下载后,新建一个文件夹并重命名为device_tree在工程SDK_export中,并把下载的文件复制进去,点击 SDK中xilinx tools->Repositories,会跳出preference点击右边的new,选择device_tree的路径。选择后完,点击下面的Rescan Repositories,然后点击OK退出。接下来再新建一个device-tree的BSP,点击File->new->Board Suport Package,在跳出的窗口的左下角有一点的device-tree的选项,这个选项在添加repositories之前是没有的,然后点击finish。会跳出一个设置的框框,可以不理会它,也可以参考这里面的信息。http://xilinx.wikidot.com/device-tree-generator
如果在Project中的Build Automatically有勾选的话,工程就会自动build,没有勾选一下后就会自动build。build完成后在bsp中的libsrc中device-tree_v0_00_x中有一个xilinx.dts就是decive-tree的原文件,可以用来生成.dtb文件。
如果以为就用这个.dts文件生成.dtb文件就万事大吉了,那就大错特错了。那是在保证这个dts文件与所要用的linux内核中的配置和参数都一致的情况下。 在这个dts文件中,我们需要添加一些内容进去,并且对比与内核中的一些参数,保证这些参数一致了,再生成dts。 下面是我在启动内核时,出现过的问题,以及修改过的地方。打写字板打开.dts文件。详看图片。
如果想从SD的第二分区启动内核,需要把bootargs参数修改为 bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=0"; 当然,你也需要把SD卡格成两个分区。这个下次再写。 我在启动内核时,碰到最多的问题就是CPU时钟没有提定,Timer没有时间或者Watchdog没有检测到。碰到这些问题要先看Timer和Watchdog有没有,就是上面说的,在xmp中要添加Timer和Watchdog。 再看Timer和Watchdog的设备树的参数是否正确。
修改完后,把这个.dts文件拷完虚拟机中ADI的内核文件夹中,Ctrl+T打开终端,用root进入内核的文件夹。然后输入下面这条命令,会在这个目录下生成一个devicetree.dtb的文件。 ./scripts/dtc/dtc -I dts -O dtb -o ./devicetree.dtb ./xilinx.dts
本次device-tree的生成和修改的手记到此结束。
关键词:device-tree 生成 修改 zingboa |
此帖由卤面仔于2013-11-10 12:15:49最后编辑
|
|
jackwang
最后登陆时间:2015-01-29 08:45:11 |
这个真心不错 |
EEPW高校联络官群:327349274。 |
|
zwj1234
最后登陆时间:2015-01-06 14:26:12 |
接下来再新建一个device-tree的BSP,点击File->new->Board Suport Package,在跳出的窗口的左下角有一点的device-tree的选项。
我做到这一步,左下角没有device-tree的选项,只有一个standalone选项。求解答,谢谢! |
zsjalive
最后登陆时间:2015-01-22 17:36:16 |
楼主你好: 你有没有试过这样的情况启动吗: bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=0"; 我将我的SD卡分成了两个区,一个是fat32,一个是ext4分区,我将linarno的根文件系统复制到ext4分区,但是启动不了..... 望指点....
|
奋斗。 |
|
共4条 1/1 1 |