很多对嵌入式开发感兴趣,想从事这个嵌入式开发的朋友,都会有疑问,学嵌入式要哪些基础,要学习哪里东西。总结起来,嵌入式底层软件设计需要学习芯片体系结构、接口和总线原理以及操作系统相关知识,不断参与项目,多思考总结,提高自己的设计能力,从而做好软件的设计。

1、想自学嵌入式,需要学什么东西呢?

想自学嵌入式,需要学什么东西呢

很多对嵌入式开发感兴趣,想从事这个嵌入式开发的朋友,都会有疑问,学嵌入式要哪些基础,要学习哪里东西。学完能做什么?又因为嵌入式包含单片机开发,linux开发,这里就以单片机为参考,和大家一起交流说明下,首先学单片机的职业发展方向:单片机硬件工程师工作内容:从事单片机软件开发,外围器件驱动,主要使用C语言。

代码调试,单片机软件工程师工作内容:单片机外围器件的选型,原理图设计,PCB设计,样机焊接与调试。主要使用EDA软件如AD/protel99/pads等,学单片机软件开发的基础:1,C语言,这个是最根本的基础知识,当前单片机的开发主要是还是在用c语言,很多人就问,在学校学的汇编,要学精通吗?我只想说,现在必须用汇编写代码的单片机会越来越少,所以你仔细品一品。

在开发环境权利,Keil或者IAR编译环境都可以编写代码,但用的多的还主要是keil,同时开发环境的搭建和使用也是需要掌握的,包括新建工程的步骤,如何设置工程中.h.c文件的调用关系和文件框架。实际上单片机工程文件不可能很简单,好的工程文件框架对于编写代码和梳理有很大的作用,2,基本的模拟电路的知识点要理解,高低电平对应的0101的概念。

电压电流电阻常规的概念要明白,简单的LED驱动电路,按键电路等简单的电路得明白,模拟电路一点不会,在编程过程中会很抓瞎,3,单片机基本概念掌握,最简单的单片机最小系统要了解,单片机正常工作所需要的学完单片机能做什么产品。学单片机硬件开发的基础,1,硬件开发,必须掌握模拟电路,这个是硬件开发的根本基础知识,硬件开发工程师职业发展好不好,首先得看这个掌握的程度如何。

三极管NPN/PNP放大分析,几种运算放大器的运用,同相比较器。差分放大电路等经典电路要掌握在胸,2,EDA软件要掌握,硬件工程师的必备软件工具,常用pads/DXP/protel99/AD,设计原理图和PCB图的必须工具。3,常见工具要会用,电烙铁焊接一些贴片的器件要能轻松自如,万用表,示波器都是在调试硬件电路板时候必须用到的工具,

2、从事嵌入式底层软件设计工作需要学习哪些?如何做好软件设计?

从事嵌入式底层软件设计工作需要学习哪些如何做好软件设计

一个具有几年嵌入式开发经验的设计人员来回答一下这个问题,也对自己的工作做一个小总结,个人认为,从事嵌入式底层工作要学习芯片体系结构、接口和总线技术以及操作系统相关的知识,在学习的基础上多练习,参与项目,并多思考和总结,经过项目的锻炼,一步步对软件设计有更完整和深入的理解,从而做好相关的设计工作,下面我从芯片体系结构、接口和总线以及操作系统三个方面详细总结一下:第一,芯片体系结构做底层软件的设计,肯定离不开启动代码相关的程序设计,学习体系结构比如ARM、PPC、MIPS和DSP等等,理解它们内核特点,指令集和芯片结构等知识,对于底层启动代码设计有很大的帮助,比如Cache、MMU和中断系统相关的程序设计,深入学习体系结构的知识,才能做好更深入的底层软件设计工作。

第二,接口和总线技术如果说体系结构的知识是深入学习底层软件设计的前提,那么接口和各种总线的知识应该是底层软件的基础知识了,比如常见的低速串行总线:I2C、SPI、UART和CAN总线,并口,比如ARM的GPMC或者PPC的LocalBus或是DSP的EMIF总线等,高速一点的总线比如:以太网、PCIE和RapidIO等,

做好底层的软件需要学习和了解它们的协议组成和工作机制,去思考一下它们工作的原理和具体芯片下的实现方式,这样才能让软件的每一步设计合情合理,提高工作效率。另外接口芯片,常用的Norflash、NAND、DDR、EEPROM、LCD、键盘接口和各种交换机芯片等等,这些常用外设接口芯片的工作原理也要弄清楚一些,这样设计的驱动软件每一个细节才会更合理,工作效率更高。


文章TAG:
下一篇