我是一个arm的初学者(学习大概有两年的时间吧,这两年都是自己瞎折腾,所以到现在任然还是个初学者),想写些自己的心得,给那些初初学者带个自己认为是正确的入门之路。高手们对于初学者的问题都会不屑一顾,因为在他们看来初学者的问题都太简单太没有技术含量,这就像一个人长大几岁之后不能理解自己过去所做的事情一样。所以我认为我这个初学者还是比较有发言权的,因为我还没忘记自己曾经的愚蠢。
闲话少说,言归正传。
我觉得如果你真的想学嵌入式系统开发,你就先不要去碰嵌入式的东西,老老实实的把C语言先学会了(语法,指针,数组,函数,结构体,联合体)。如果你学不会C语言,那我只能晴天霹雳送你八个大字:趁早放弃,另寻他路是唯一的选择。
其次学汇编语言,(这里以arm为例),买本讲解arm的书籍,别的什么也别看(那些什么arm的命名啊,历史啊,之类的那都是闲暇之余给我们吹牛的素材),先看arm的寄存器组织情况以及汇编语言的语法(有汇编语言基础最好),熟悉指令体系。
然后熟悉你买的开发板的CPU的结构,主要是知道它有哪些接口以及这些接口的相关寄存器就可以了(具体的功能是要等到我们要利用这些接口,让它们为我们服务的时候才去深究的),因为下面的会涉及到这些(一部分或全部)接口。
接下来,看启动代码,这部分代码完全是汇编语言编写,有且只有看懂启动代码,你才可以进行下一步。
再接下来,开始动你的纤纤玉手吧。这个阶段是巩固我们上面学习的最好方式及手段。也正是在这个阶段我们边实验边学习编译器的使用。
目前我基本上就是在这个位置上溜达,一直也没敢轻易的走进传说中的操作系统。因为我觉得我的准备工作还没有做好。总结我的学习经验12个字:统观全局,模块思想,逐个击破。(这个是我尽两年的精华)
好了,就写这么多(多了也写不出来了^_^),希望能给那些像我一样迷茫的人们带来一丝启示。
另,不足之处,请大侠指正。(希望指正的时候不是冷嘲热讽,冷嘲热讽很伤自尊的,我现在什么都没有,就只剩下这点赖以生存的自尊了…). |