单片机开发到今天转做嵌入式开发来看,强调很重要的几点。
第一,要对自己有信心。很可能自己以前学习的不是这个专业或者以前没有接触过,不用怕,请相信自己,新手都是这样,有疑团,才会激发我们探索的动力和激情。相信自己,在不久的将来自己会摸到嵌入式的棱角的,摸清他的面貌的。
第二、永远不要单干。团队的力量,不管是从思维还是资源方面,团队总要比一个人单枪匹马来的快,也许你自己摸索一个月还不如团队的合作一天的收获多,而且团队最好要有一个有激情的队长,在大家都低沉,或者是信心不强烈的时候,队长要带着大家渡过难关。
第三、把学习穿插到日常生活中。一旦决定要学,就从现在开始学习,永远不要希望人的一生会腾出一段时间来让你去专门学习嵌入式的,就像当你出生的时候,永远不可能会专门腾出一段时间来让你专门学走路,最终情况是你学走路的同时很可能也在学习说话,学习吃饭。所以,对于学生来说,永远不要试图把学习嵌入式挪到假期,因为你不能预料到假期你会发生什么而耽误你学习的时间。
第四、需要用到什么学什么。不要企图把linux,arm等所谓的什么教程之内的书看完了再去做开发。个人觉得linux,只要知道大概,只要知道简单的命令,会用就可以了,但是gcc,gdb一定要掌握,然后就是要掌握嵌入式linux和linux开发环境的配置。嵌入式linux是在开发板里面的linux。而单纯的说linux说的是PC上的linux。遇到问题就去解决,要解决就可以翻书查资料,这样既可以缩短项目开发周期,又可以学习,这样就避免了可能你把一本关于linux的书看完了,你还不知道如何去做嵌入式linux开发。
第五、不管你要做什么开发,装上linux后,请安装英文版的,并且尽量在无图形界面写工作。因为很多公司都明确禁止用linux图形界面和中文版的。
第六、不管做什么开发,应用开发,或者是驱动开发,都要先编译内核,因为有好多文件是只有你编译内核之后才能产生的,而这些文件,很可能就是你要用的。
第七、做应用开发,首先用从读懂驱动入手。不要求你会写驱动,但是起码要读懂驱动,这样才有助于应用开发。
第八、除非你的嵌入式开发板是跑裸机,也就是没有linux系统,你可以操作arm的寄存器,可以直接操作硬件,比如JTAG仿真就是。其他情况,一旦你有linux系统,你的程序时不可能直接操作硬件的。明白这一点,你就不会向我一样,开始做嵌入式linux应用的时候以为可以和单片机一样,直接控制引脚来写程序了。有了linux,用主要用的系统提供给用户的接口。