您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
学嵌入式开发难不难?生活中能接触到的嵌入式开发都有什么?
嵌入式,硬件,都是学嵌入式开发难不难?生活中能接触到的嵌入式开发都有什么?
发布时间:2016-12-08加入收藏来源:互联网点击:
前言
由于从事相关工作,所以针对楼主提出的问题,我想从以下三个方向来进行阐述,希望能解决有类似困惑的小伙伴的问题:
嵌入式开发如何与生活关联?
嵌入式开发做什么?嵌入式开发如何入门?
嵌入式开发如何与生活关联?
在当今这个世界,嵌入式开发与我们的生活息息相关。比如智能手机,谷歌眼镜,苹果手表等随身携带的电子设备都和嵌入式开发有关。那么,嵌入式开发与这些电子设备是如何关联的呢?
下面,我们就以当今最热门的华为的 P30 Pro 智能手机为例来简单阐述上面这个问题。我们知道华为的 P30 Pro 智能手机是由硬件和软件组合而成。硬件就是实实在在看得见摸得着的一些器件,比如电容屏,摄像头等。而软件就是运行在手机内的程序。
但是,软件是如何与硬件进行交互的?比如:如何开启摄像头,如何关闭屏幕等,所有这些操作都和嵌入式开发有关。换言之,嵌入式开发就是通过软件来控制硬件,从而才会产生当今一系列高科技的电子设备,间接也让嵌入式开发与我们当今世界产生了密不可分的联系。
嵌入式开发做什么?
在上面我们知道,嵌入式开发就是通过软件来控制硬件。具体到嵌入式开发的工作细节,也就是嵌入式开发主要是做什么的呢?下面我们详细予以具体说明。
第一步:看电路图
由于我们需要硬件打交道,所以我们日常工作中都会有一块要控制的开发板硬件。每一块开发板硬件在实际开发中,都会对应一份电路图。在电路图中,会告诉我们元器件如何与主芯片进行连接的。这样我们才能知道要控制开发板上的某个元器件,需要对应控制芯片的哪个引脚。
图一:开发板
图二:电路图
第二步:查看芯片手册
在上一步,我们知道要控制电路板某个元器件,需要找到芯片对应的引脚。如何控制这个引脚的输出呢?这就需要查看芯片对应的手册。一般来说,手册大多数都是英文版的,所以要有基本阅读英文的能力。通过查看芯片手册对应部分,我们就找到了控制这个引脚的方法。
第三步:编写代码
有了第一步和第二步的理论之后,接下来,我们就需要编写程序。然后将编写好的程序烧录到开发板中运行,以验证我们程序是否正确。以上就是嵌入式开发工作的一般日常。
嵌入式开发如何入门?
了解嵌入式与生活的关联,也了解嵌入式开发的工作日常。有的小伙伴觉得用嵌入式来控制硬件很酷,想尝试进入这一行。那么我们就简单来聊聊如何入门嵌入式的话题。
第一步:熟悉C语言
在软件行业,掌握语言是进入这个行业的第一步,也是最基础的一步。因为软件工程师的职责就是编写某一种语言代码。在嵌入式开发岗位中,主要对应的开发语言就是C语言,所以一定要掌握好C语言。
第二步:实战51单片机
在基本掌握了C语言之后,接下来,我们就可以买一块带51单片机的开发板来进行上手练习,最好配套的开发板有对应的视频教程。因为若视频教程里讲解的开发板和自己购买的开发板不一样,对于新手来说,难度会增大,也会打击小伙伴自学的自信心。在淘宝搜索“郭天祥51单片机开发板”,可买得到开发板和对应视频教程。
总结
以上就是嵌入式入门的基本入门步骤。师傅领进门,修行在个人,后续的道路还需要小伙伴们继续去探索深造。如果有困惑,也可关注私信我,我会尽量帮助大家。
如果你喜欢文章的观点,记得点赞转发。如果有不同意见,也欢迎大家拍砖留言。关注我,不定期分享好玩科技知识,带大家一起体会探索科技的那份独有思考和乐趣。
回答于 2019-09-11 08:43:50
如果是电子或计算机专业的人,相对来说,会比较容易入门;对于零基础、非电子或计算机专业的人有一定难度。因为嵌入式领域不仅要懂较底层软件(例如操作系统、驱动程序),而且必须懂得硬件的工作原理(UART、网卡、IDE、SPI总线、IIC总线、PCI总线等),所以非专业IT人员切入这一领域有一定难度。嵌入式从业人员需掌握以下几个方面的知识技能:
1、编程语言:具有C、汇编语言等编程经验。部分嵌入式硬件运行裸机程序即需要通过汇编代码设置栈寄存器后才能跳入第一个C函数入口执行,因此需要一定的汇编能力。
2、嵌入式实时操作系统:嵌入式系统一般对实时性有一定要求,所以一般运行的是嵌入式实时操作系统或者嵌入式Linux系统。应该掌握嵌入式实时操作系统相关的基本概念(优先级调度、任务、信号量、互斥锁、条件变量等),并熟悉usos、rtthread、freertos等其中一个实时操作系统代码,掌握其提供的基本API函数,便于编写相关的应用程序。嵌入式系统的实时性不是体现在“快”,而是体现在确定性上,很大一般分人对此有一定误解。
3、体系架构:熟悉x86、ARM、PowerPC、MIPS一个或者多个体系架构,熟悉体系结构的通用寄存器和特殊寄存器、基本的汇编指令(寄存器操作、内存加载/存储操作等)、ABI规范(二进制兼容接口、规定变量大小、寄存器用法等、如哪些寄存器作为函数参数、哪个寄存器作为栈寄存器等)、中断架构、异常机制、MMU和集成的硬件设备。
4、嵌入式开发环境:熟悉嵌入式交叉开发环境,包括交叉工具链、Makefile、GDB调试器等。
5、驱动开发:嵌入式系统一般是定制系统,很多硬件没有现成的驱动,所以一般会涉及自己开发设备驱动。因此要求嵌入式系统人员能看懂硬件的datasheet数据手册,明白相关寄存器功能,掌握一定的驱动开发技巧。
6、调试能力:嵌入式系统调试手段有限,包括prink打印、GDB交叉调试和硬件调试器,一般在未运行操作系统的情况下只能借助打印或者硬件调试器,所以一般最先开发的驱动为UART。但是打印调试效率低下,一般会借助硬件调试器,所以应该熟悉掌握一款硬件调试器的使用和调试方法。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |