版主: 51FPGA |
xilinx论坛
最后登陆时间:2015-03-19 10:58:07 |
在Kevin学ZED之5中,我们顺藤摸瓜, 沿着linux软件一直到点亮灯这条线索走了一遍, 发现,虽然是小小的一盏LED灯, 也许是设计者有意为之,居然涵盖了All Programable的所有部件. 对道行不深的菜鸟来说, 如果花时间搞明白这条线上所有环节, 基本上就可以上一个层次了。
搞破坏的方法相当粗暴, 而且有时候不说明问题. 比如,我小时候拿着把螺丝刀,把俺们家的闹钟全拆开了,零件散落了一地, 再也装不回去了. 这种破坏,压根不能说明我对钟表的任何原理有理解.
稍微优化一点的方法是指鹿为马, 就是修改一些最容易理解的地方, 比如把LED0 和LED7这两盏灯互换一下. 这样,你如果软件上操作LED7, 而实际亮的板子上是LED0, 这就说明你有能力修改系统,而且能够通过所有的编译和综合环节了. 这种方法哪怕你不懂C语言,Verilog, UCF神马滴,照样可以对系统施加修改. 如果能实现这一步, 说明你能够修改源代码,对系统施加你希望的影响了.
在顺藤摸瓜一节中, 我们发现点亮一盏灯的环节还真多, 任何一个环节进行LD0, LD7的互换都可以实现. 可以在设备驱动那个环节,也可以在EMIO环节,也可以在UCF环节. 要么怎么叫All Programable, 全面可编程呢, 真是条条大路通罗马.
由于修改代码地方非常有限,这样学习不会破坏编译进程,每次都能看到效果,自信心和成就感就油然而生.
后面我们分别会在这些环节进行互换, 分别看效果, 然后所有环节都随便换, 看看最后指鹿为马的最终效果. 通过这种方法, 就可以在不理解代码的情况下,基本搞清楚整个软硬件工具链的使用方法。
|
共1条 1/1 1 |