Kevin学ZED之3:知一点点所以然
嵌入式系统软硬件协同设计实战指南-基于Xilinx ZYNQ>的实验1.2 , 是一个很酷的实验, 照猫画虎一番,居然ZED板就能当一个能跑Ubuntu的小电脑使, 更酷的是, 只是运行脚本, 居然就可以控制板子上的LED, 居然就能在OLED屏幕上看到漂亮的logo。
当然,这都建立在你一丝不苟地照猫画虎按照书上的步骤操作的假设上的. 万一其中一步没有完全做对, 结果就没那么美妙了. 对菜鸟来说, 最后结果出不来, 最笨的办法就是从头来一遍, 这次小心就是了. 这种不求甚解的精神在学习中值得大力提倡, 因为, 谁都想快点看到令人鸡冻的结果, 在看到结果之前,谁都不想浪费时间搞明白一步一步的含义到底是为什么。
激动过了, 让我们回过头来,看看我们都干了些什么. 实验1.2到底都做了哪些事. 古人云,知其然,也要知其所以然. 我们嘛,目前不需要100%的所以然, 但知道一点点所以然还是要滴。
先上图:
大家可以看到, SD卡分了两个区, 一个是FAT,一个是EXT, FAT里面从光盘里拷贝了引导文件BOOT.BIN, 以及linux的压缩内核, zImage. FAT盘里面的文件,要想拷贝过去很简单,只需要把linaro_demo.zip里面的文件之间拖过去就可以了。
而EXT里面, 拷贝了linux的整个文件系统,从根目录,到bin啊, usr啊,神马滴。 这套东东,直接拖过去,就不行了, 因为, linux的文件,和FAT不同,是有权限滴。
图形界面下,我是以Kevin身份登陆的, 因此如果要在EXT里面拷贝root身份的整个linux文件系统,仅仅拖过去,则整个系统变成了kevin的,有些文件,比如各种设备文件,必须用root身份才能拷贝过去。
因此必须用命令行。
剩下的问题,就是要搞清楚EXT这个分区的设备号到底是什么,否则mount的时候无法操作。 书里面写了一个 SD card ext4 parTITIon 那意思是让你自己找出来, 因为每台机器的设备配置不尽相同。 如何找出来呢? 方法很多,比如说敲 mount , 会列出目前所有按照的文件系统, 如图:
从这里面可以看出来, EXT盘对应的目录是 /media/EXT, 设备嘛, 就是/dev/sdb2 意思是scsi硬盘第2个,分区2的意思。 俺的SD卡读写器让系统看上去是一个scsi硬盘。 在用命令行拷贝文件到EXT盘时, 需要右键点弹出这个盘,在Ubuntu的桌面上没有这个盘符就可以了。
书里面sudo rsync 的意思, 就是把用root身份, 把整个文件系统同步到SD的EXT分区的意思。
实验1.2 中还要配键盘鼠标显示器摄像头神马滴,都不是必需的,如果你暂时找不到这些东东的话。
在1.2.4 中, 由于点亮LED灯的led_test.sh 小脚本一不小心放到了FAT盘里,因此,如果要运行它,还要安装一下。 其实嘛,直接放到EXT 下也一点问题没有。
整个开发系统配全了,看上去有3台电脑,有图右真相:
其实嘛,真正的PC只有一台。 就是中间那个笔记本电脑。
左边那个,是ZED板,配在小车上,通过USB HUB接了键盘鼠标,HDMI转DVI转换头接显示器。 由于跑的是Ubuntu 的ARM板, 看上去和电脑是一样滴。
中间那个,是Windows, 我用来收工作上的Outlook邮件神马滴, 跑Putty,连USB串口到ZED板。
右边那个,仅仅是笔记本电脑的第二个显示器而已, 我只是把Virtualbox虚拟机的窗口,连同虚拟机管理窗口,统统拉到右边那个显示器去了。
这里可从一个侧面看出ZED板的强悍, 以前嵌入式开发板总是苦哈哈的在超级终端上跑着貌似高深的字符界面, 让人望而生畏, 而ZED板, 本身就可以当一个电脑使,里面文本编辑器, 浏览器,email,音乐播放器都是全的, 用起来当然快乐。