物联网嵌入式(物联网嵌入式硬件开发工程师)
我也不太确定自己熟不熟,硬着头皮来分享一波吧!
毕竟是站在个人的经历角度分享,如有缺失敬请谅解。
【基本武器】:(1)C语言编码能力(数据结构,常用算法,指针和数组,结构体和位域等)(2)MCU的理论知识(内存,中断,GPIO,功能外设(uart,iic,dma等)等)(3)MCU的编码方式(寄存器/库函数),编译下载过程(根据题主选择的MCU来学习)(4)基本的电路连线图能看懂(MCU的管脚如何连接到外界器件等)(5)实时操作系统编码能力(freertos)(6)业务场景知识(根据题主嵌入式产品场景而定)【升级武器】:(1)软件架构设计能力(2)示波器,逻辑分析仪使用(调试通信器件使用)(3)读取反汇编能力(定位Bug时候可能用到)(4)掌握通信协议(串口232通信,485通信,iic协议,spi协议,can协议等等)其实嵌入式开发也不一定要你全都会,大致会分几个方向,要有自己拿手的地方!
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
互联网小常识:网络关键设备选型的基本原则是:a、选择成熟的主流产品,最好是一家厂商的产品。 b、主干设备一定要留有一定的余量,注意系统的可扩展性。c、对于新组建网络一定要在总体规划的基础上选择新技术、新标准与新产品,避免因小失大。
点击这里找小助理0元领取:点击文中的蓝色字体领取吖
嵌入式的开发大致需要这么从下到上四类工程师:嵌入式硬件开发、嵌入式驱动开发、嵌入式系统开发、嵌入式软件开发。
互联网小常识:邮件系统的工作过程如下:(1)用户使用客户端软件创建新邮件(2)客户端软件是SMTP协议将邮件发送到发方的邮件服务器;(3)发放邮件服务器使用STMP协议将邮件发送到接收方的邮件服务器,接收方的邮件服务器将收到的邮件存储在用户的邮箱中待用户处理(4)接受方客户端软件使用POP3/IMAP4协议从邮件服务器读取邮件。
嵌入式硬件开发这是硬件工程师来做,一般出身为自动化,电子,通信等专业,他们要求熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力,熟悉硬件开发模式和设计模式,熟悉各种芯片及外围设备,熟悉8位16位32位处理器嵌入式硬件平台开发。有的要求有FPGA的开发经验,精通常用的硬件设计工具:Protel/PADS(PowerPCB)/Cadence/OrCad。一般要有4~8层高速PCB设计经验。嵌入式驱动开发这个可以硬件工程师来做,也可以软件工程师来做,主要还是取决于设备。目前驱动开发,除非是简单的设备驱动,实际上很多时候都是移植,所以更多的是需要掌握目标平台的硬件和系统特性。所以至少得掌握一些操作系统、系统结构、计算机组成原理、数据结构相关知识。熟悉嵌入式ARM/MIPS/PowerPC架构。具有单片机、某种或多种32位嵌入式处理器的移植开发能力,熟悉bootloader过程,具有扎实的硬件知识,理解硬件原理图,能独立完成相关硬件驱动调试,能够根据芯片手册编写软件驱动程序。如果涉及到网络设备,或许还要掌握很多高层的网络协议的原理。个人感觉这一块虽然大部分不是很难,但却是极为重要的。当然如果要在这一层次提供对上层的多线程支持,某些驱动也是很难写的。嵌入式系统开发这个没听说硬件工程师来做的。做这块,熟悉操作系统的原理是必不可少的,比如内存管理,比如线程调度,比如文件系统等等;还要精通处理器体系结构、指令集、寻址方式、调试、汇编和混合编程等方面的内容;熟悉操作系统启动流程。对于linux,要熟悉Linux配置文件的修改,掌握内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程。这一块要是真写起来,困难程度那是相当恐怖的,好在大多都是移植,很少听说有公司要去开发个操作系统的,没Google的实力啊。嵌入式软件开发这个嘛,没有操作系统的话,程序一般不会特别复杂,如果有操作系统的支持,又和一般的软件开发很接近,所以尽可以看作是搞桌面开发。这个要求就是熟悉系统的API,精通C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识、数据结构的基础内容;掌握面向对象编程的基本思想,以及C++语言的基础内容;精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库;熟悉常用的图形库的编程,如QT、GTK、miniGUI、fltk、nano-x等,掌握各种应用层的网络协议使用,以及各种音视频技术等。互联网小常识:在一些中高端交换机中,通常把交换表保存在CAM(content-addressable memory)中,可以通过交换机的show cam命令查看,大中型为show cam dynamic ,小型为show mac-address-table。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186