对于应届生来说,嵌入式开发的经验不会有太多,所以要求也不会太高。
嵌入式开发常用的是C语言,所以需要你有扎实的功底,这一点很重要,数据结构算法,指针,函数,网络编程
有了上面的基础以后,可以考虑下面的:
熟悉如何去构建嵌入式系统,boot loader,kernel,rootfs。
Linux内核,包括网络,文件系统,进程调度,设备驱动,系统调用,对于操作系统的理解,有助你理解你的软件是怎么工作的,即使不专业从事内核的开发,也会有助于写出高质量的代码。
对通用的总线以及常用外设有了解,比如PCI,I2C,SPI,NORFLAH,NANDFLASH。
熟悉某一款处理器,比如ARM,汇编指令,cache,MMU,总线的概念。
在这个过程中,你还会设计到一些工具,比如cross toolchain(ld,gcc,gdb,objdump…),make, bash。
再往后,你需要能够知道软硬件,如何工作的,如何能够写出更高效的代码(cache对齐,提高cache命中率,SMP多核spinlock影响),对一些复杂的系统问题能够定位(系统的性能瓶颈分析,定位手段,比如火焰图)。
再往上发展,可以考虑成为系统架构师,能够提出软硬件方案,综合成本,性能,功能。到这个阶段,无论是创业还是打工,都是一个不错的选择。