说起嵌入式,它是一个充满挑战的行业,是软硬件结合的完美产物,所以要想学好嵌入式,就必须软硬件通吃。但是也不要被它庞大的学习体系吓到了,你必须选择一个切入点,我是学软件的,就说说软件吧。首先第一个关键就是你的c语言的底子,这是你的根基,一定要打结实了,不然上面的东西学的再好也是空中楼阁;然后是操作系统,比如linux,重点在它的shell命令及编程,进程和线程的机制,文件io等linux下的c高级编程。在linux下c编程还要熟悉makefile,这会使你的开发事半功倍。之后就是和硬件相关的知识,比如电路原理图,设备驱动,学软件的同学大可不必怕,如果你现在在校学这个专业,或者在培训,跟着老师走,一般整体的流程都能接受,一些小细节,可以课后与老师交谈,他们都会细心的解答,但是要注意你的提问方式,应该先自己解答,将问题具体化,最小化。
总结:精通c/c++,熟悉操作系统以及系统环境下的高级编程,熟悉网络以及协议(tcp/ip是最基础的,一定要熟悉,了解点snmp,p2p等),了解电路图,设备驱动。
顺便说一句,我是在华清远见培训的嵌入式linux,现在嵌入式软件方向最火的应该就是这个方向,因为华清的课程体系非常的专业,老师也非常的负责人,所以学习起来思路也很清晰,最后在深圳顺利的找到了现在这份工作。