当开始学习系统移植的时候竟然发现自己欠缺的东西太多,之前老师讲过ARM架构和常用语法、指令。由于我是后面插班上课,也不清楚讲到什么程度,私下恶补了几天,基本上把ARM架构和基本的指令过了一遍,最大的缺陷就是没有亲自动手做一下实际生产。由于系统移植是和ARM紧密相连的,鉴于我们的情况老师给我们也恶补了两天的ARM,两天显然很紧,我也很用心的去听,理解。但是在做实际工作的时候真的心有力……
其实个人现阶段对ARM的理解就是要写好段很经典的代码,无非就是先对硬件了解,特别是外设接口和ARM微处理器的通信方式;然后写代码就是在理解硬件的基础上初始化、信号的处理;
最开始老师让我们自我介绍的时候,我告诉老师一个不好的消息——我的C都是自己学的,而且培训的时候C也没赶上学,然后老师很负责的告诉我们要找到一个好的工作C必须学好,这样一来我平时老师上课的时候我认真听课,课余时间我把我自己都卖给C了。我不知道这样做是不是有点倾斜,对不对?就让现实去验证这一切吧。
?
之前啰嗦的说了这么多,来看看现目前的具体问题所在:1)惧怕大规模的外语文档,少点的还可以接受? 2)对常用接口IIC、SPI、、、了解不够深,时序之内的一知半解,虽然以前玩过IIC。 3)Bootloader之U-boot移植的整个过程一知半解,说的通俗点的就是说这个流程都还是 乱的,自己对这个具体的流程应该做一个总结。
?
收获:对ARM体系结构、Flash、GPIO、INTERRUPT、MMU以及UART相关知识做了了解,有一个更深入的了解;在系统移植时,对nor flash和nand flash的工作流程做了透彻的理解,很强大。