首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Kevin学ZED之(6):指鹿为马

Kevin学ZED之(6):指鹿为马

在Kevin学ZED之5中,我们顺藤摸瓜, 沿着linux软件一直到点亮灯这条线索走了一遍, 发现,虽然是小小的一盏LED灯, 也许是设计者有意为之,居然涵盖了All Programable的所有部件. 对道行不深的菜鸟来说, 如果花时间搞明白这条线上所有环节, 基本上就可以上一个层次了。       花时间学习各种文档,永远是非常非常耗时间滴. 如果文档还是英文写的话, 就更抓不住重点啦. 当年俺在华为当菜鸟的时候, 焚香沏茶,对着一篇晦涩的英文文档的前面几页读了半天,在各种法律术语和定语从句之间挠头, 终于才明白,那是GPL协议, 根本不用读嘛, 应该跳过,直接读后面的内容嘛.       最简单的学习方法是搞破坏, 比如, 把源文件随便改改, 然后编译啊,综合啊一通,居然能把系统搞崩溃了,转不起来了,这说明,至少你的工具链建立对了, 可以重新编译或综合软硬件系统,把原先好的系统搞坏了.        搞破坏的方法相当粗暴, 而且有时候不说明问题. 比如,我小时候拿着把螺丝刀,把俺们家的闹钟全拆开了,零件散落了一地, 再也装不回去了. 这种破坏,压根不能说明我对钟表的任何原理有理解.        稍微优化一点的方法是指鹿为马, 就是修改一些最容易理解的地方, 比如把LED0 和LED7这两盏灯互换一下. 这样,你如果软件上操作LED7, 而实际亮的板子上是LED0, 这就说明你有能力修改系统,而且能够通过所有的编译和综合环节了. 这种方法哪怕你不懂C语言,Verilog, UCF神马滴,照样可以对系统施加修改. 如果能实现这一步, 说明你能够修改源代码,对系统施加你希望的影响了.        在顺藤摸瓜一节中, 我们发现点亮一盏灯的环节还真多, 任何一个环节进行LD0, LD7的互换都可以实现. 可以在设备驱动那个环节,也可以在EMIO环节,也可以在UCF环节. 要么怎么叫All Programable, 全面可编程呢, 真是条条大路通罗马.        由于修改代码地方非常有限,这样学习不会破坏编译进程,每次都能看到效果,自信心和成就感就油然而生.        后面我们分别会在这些环节进行互换, 分别看效果, 然后所有环节都随便换, 看看最后指鹿为马的最终效果. 通过这种方法, 就可以在不理解代码的情况下,基本搞清楚整个软硬件工具链的使用方法。[[wysiwyg_imageupload:822:]]
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表