嵌入式开发要求何种知识?最好来个体系结构图,还有比如手工技能和必备软件

希望高手尽量详细回答,分数不是问题,重要的是指明后辈一个正确的方向

嵌入式开发从下到上分为:嵌入式硬件开发、嵌入式驱动开发、嵌入式系统开发、嵌入式软件开发。
一、嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力。熟练掌握嵌入式硬件知识,熟悉硬件开发模式和设计模式,熟悉ARM32位处理器嵌入式硬件平台开发、并具备产品开发经验。精通常用的硬件设计工具:Protel/PADS(PowerPCB)/Cadence/OrCad。一般需要有4~8层高速PCB设计经验。
二、嵌入式驱动开发:熟练掌握Linux操作系统、系统结构、计算机组成原理、数据结构相关知识。熟悉嵌入式ARM开发,至少掌握Linux字符驱动程序开发。具有单片机、ARM嵌入式处理器的移植开发能力,理解硬件原理图,能独立完成相关硬件驱动调试,具有扎实的硬件知识,能够根据芯片手册编写软件驱动程序。
三、嵌入式系统开发:掌握Linux系统配置,精通处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容;掌握Linux文件系统制作,熟悉各种文件系统格式(YAFFS2、JAFFS2、RAMDISK等);熟悉嵌入式Linux启动流程,熟悉Linux配置文件的修改;掌握内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程;、熟悉搭建Linux软件开发环境(库文件的交叉编译及环境配置等);
四、嵌入式软件开发:精通Linux操作系统的概念和安装方法、Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识;精通C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识、数据结构的基础内容,包括链表、队列等;掌握面向对象编程的基本思想,以及C++语言的基础内容;精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库;熟悉常用的图形库的编程,如QT、GTK、miniGUI、fltk、nano-x等。

以上基本上就是嵌入式整个项目所需要岗位和要求,每一个岗位要求都不简单,你要根据自身情况和爱好来选择一个适合自己的方向去努力。追问

请问您现在在这个行业就职么?

追答

以上的这些职业我都做过,但是都不精通。硬件做过一年,软件做了半年,现在从事驱动和系统方面的工作有一年的时间了,每一个工作岗位都要掌握大量的知识,所以你最好选择一个方向进行努力。

追问

是在同一个公司的不同岗位平调?我是哈工大本科电气工程的,对于这一行突然有了兴趣,想多多请教

追答

都不是同一个公司,是跳槽之后换工作的。学校资源应该挺多的应该好好利用,只要肯动手就能学会。

追问

谢谢!请问有比较好的网站或者技术书籍么?

温馨提示:答案为网友推荐,仅供参考
相似回答