半年多时间,成功由于软件码奴转型为电子码农。走了很多弯路,也吸取了很多高手的经验。完全走自学的路太难了,懂的人一句话可以说清楚的问题,自己去琢磨可能几天都没结果,浪费时间和精力,甚至减弱意志。幸运的是自学入门后直接做项目,有一些人可以请教。
还是从AM335X平台学起,这个平台资料全,原理图设计文件和代码工程全部开源,老外的资料就是比较放心。
当时给我的任务是刚拿到板,就要做一个I2C接口的电容触摸屏驱动(android),才知道I2C读作“爱疯西”从零开始认识I2C,才知道触摸屏大概分电容和电阻式的....献出了无数的第一次。走的弯路就不说了,在完成众多项目后回头总结一下“捷径”,希望给刚入门的朋友提供帮助
拿到板后第一步,先阅读userguid用户指南,照着跑跑例程,有个感官的认识。这样就了解了基本的功能设备和代码的下载。
第二步,阅读硬件用户指南《AM335xStarterKitHardwareUsersGuide》并结合原理图,对于新接触的板子来说,先查看硬件指南的功能框图是最快的,功能框图更容懂便于总结,在大脑中建立整个板的基本模型。原理图只是更精确,可读性还不够高。功能框图如下
功能框图里查看顺序:
1,先看处理器相关的部分,处理器AM3358,24M晶振,32KHZ的rtc,电源和电源管理芯片,顺便知道了电源管理芯片连接在I2C0总线.
2,看功能框图I2C0总线上都有哪些设备。这里有ID memory、PMIC(电源芯片)、传感器、Audio Codec
3,查看内存DDR3、 SD/MMC等。
4,然后看网卡、WLAN、串口、JATG、USB这些接口。重点了解串口\JATG\USB这几个和调试代码有关的,知道了JATG和uart0连在一起并转成USB口,最后和USB0合并。这样也就理解了下载代码时,接USB0那个口,就可以集串口打印,下载调试