学习嵌入式的建议

时间:2022-03-07 11:51:25
学习嵌入式的建议——有道启新嵌入式研究院你这种浮躁的心态学底层很难的,在我看来,底层开发人员的素质要求总体上高于上层应用软件的开发人员(java开发,/net开发属于等),优秀的嵌入式开发工程师的基本功很很宽也很深的我的建议:1,花时间大致上学习一下linux,包括应用,上层app开发,底层BSP/驱动的开发基础(哪怕都是基于x86 pc 也够了)2,花时间学习bootloader,学习怎么移植bootloader,学习怎么调试裸代码(bootlaoder就属于裸代码) 2-1,看三星cpu的user manual,以及arm cpu的datasheet,都要看 2-2,看bootloader的源代码,并学习arm的汇编技巧 2-3,花少许时间了解openJtag和JLINK,如果你要在linux环境下面做开发,就用openJtag3,花时间开人家做的板子的硬件原理图,taobao上面的开发板子1000一下很多的,或者找个公司实习,直接学习人家公司的原理图 。以上三个步骤是必修课,下面的若干的方向是学休课,至少要选择几个领域研究:a,了解audio原理,学习AC97规范,学习hd-audio协议b,了解LCD controller原理,有能力的再学习2D加速,3D加速原理(用于开发显卡驱动,以及openGLES驱动 3D的驱动开发需要需要花一定时间先学习线性代数和立体几何【本科都学过】,还需要研究一下算法,推荐看算法导论这本书)c,了解usb协议,i2c协议等总线协议,有能力的学习一下AMBA,PCI,对你开发高级设备更有帮助d,深入学习网络,包括socke程序开发,tcp/ip协议,以及以太网设备驱动开发。e,学习GSM网络,3g网络,wifi等流行的网络技术,方便攻入思科,诺基亚等通行巨头f,学习视频音频加解码,用于开发高清解码芯片的驱动(这个部分需要有傅立叶变换的数学功底,比如快速dct变换,小波变换,可能还需要dsp开发的知识积累)g,深入研究linux kernel,这个不多说,属于真正的内功,花时间比较长。i,学习filesystem,还有存储设备的各方面知识,这个EMC会喜欢你。当然如果5年内,以上3个必修内容和A-I的选修内容你都比较熟悉,那么底层方面你以及在国内属于顶峰地位了,管理,引导一个产品的开发没有问题了(至少技术上绝对没有问题)。不过,5~6年内能做到本帖内容全通的人理论上属于牛人了,需要一定的天赋和毅力。