嵌入式开发 订阅
嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。 展开全文
嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。
信息
外文名
Embedded System
特    点
软件、硬件综合开发
开发流程
系统需求分析、体系结构设计等
所属领域
计算机科学技术
中文名
嵌入式开发
应用领域
制造业
嵌入式开发定义
嵌入式开发是指利用分立元件或集成器件进行电路设计、结构设计,再进行软件编程(通常是高级语言),实验,经过多轮修改设计、制作,最终完成整个系统的开发。这种嵌入式开发,适用于未来产品比较单一,产量比较大,产品开发周期比较长,成本控制比较严格的系统。嵌入式技术不是单纯的软件技术,也不是单纯的硬件技术,是一门如何在一个特定的硬件环境上开发与构建特定的可编程软件系统的综合技术。嵌入式技术是在嵌入式系统的发展中应运而生的,它是依附于嵌入式系统,并推动嵌入式系统不断向前发展的核心动力。嵌入式是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。嵌入式技术近年来得到了飞速的发展,但是嵌入式产业涉及的领域非常广泛,彼此之间的特点也相当明显。例如,很多行业:手机、PDA、车载导航、工控、军工、多媒体终端、网关、数字电视等。 [1] 
收起全文
精华内容
参与话题
问答
  • 嵌入式开发(一):嵌入式开发新手入门

    万次阅读 多人点赞 2019-07-26 15:54:18
    本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。 嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建嵌入式开发环境及...

    本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。

    嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建嵌入式开发环境及交叉编译环境,开发完成后,编译得到bin文件,然后在Windows下将bin文件通过串口或网络下发到嵌入式板卡,程序在嵌入式板卡上运行。

     

    1. RS232串口接孔图解

    串口,一般也指COM接口,传输速度较慢,适合远距离传输。这里用于主机与嵌入式版之间的数据通信,一般用于指令下发等。按照协议标准还分为RS-232-C、RS-422、RS485等。其中RS-232也是最常用的串口,称为标准串口。下面仅介绍RS-232的的接线图。RS232串口为9针接口,分为公头与母头,PC机上的串口一般为公头,如下图。

     各个针孔功能如下:

    最简单的串行接口需要的信号线是2数据发送(TxD)3数据接收(RxD)和5信号地(GnD) ,只需要接通这3根线即可实现上位机PC与嵌入式板的通信,如下图:

     2. 上位机与嵌入式板串口通信工具

    一般使用SecureCRT工具进行上位机与板卡通信。

    (1)串口连接

    打开快速连接

    协议选择Serial,端口与波特率根据实际情况而设置,

    点击连接,弹出新窗口,敲回车键,出现以下界面表示上位机与板卡连接成功。

    (2)使用Telnet连接

    Telnet连接就是使用网络(即网线)实现PC机与板卡通信,而不需要串口。

    Tlenet新建连接,选择Telnet协议,主机名是板卡的ip。

     点击连接,弹出新窗口,输入用户名和密码:

     

    3. 上位机与嵌入式板卡实现文件传输

    在SecureCRT中使用命令ifconfig查看板卡的ip地址:

    将上位机PC与嵌入式板卡用网线直接连接,将PC机的本地连接ip地址改成与嵌入式板卡同一个网段,例如:

    在上位机中打开tftpd32工具,在Server interface中选择上位机与嵌入式板卡相同网段的ip,如下:

    注意之类PC机是作为TFTP协议的服务端,板卡作为客户端。

    将文件从上位机下载到板卡,在SecureCRT中输入以下命令:

    tftp -g -r 1080P.jpg 192.168.1.100

     这里-g表示从PC下载文件到板卡,-r表示远程服务器(即PC)的文件, 1080P.jpg表示要传输的文件,后面的ip地址就是PC机的IP地址,例如:

    输入以上命令后,板卡在当前目录下即收到该文件。如果需要在某个目录下接收文件,需要切换到该目录下,再输入以上命令。

    将文件从板卡传输到上位机,在SecureCRT中输入以下命令:

    tftp -p -l 10801P.jpg 192.168.1.100

    这里-p即推送的意思,-l表示本地(板卡)的文件。

     

    4. 常用Linux命令

    • 回到根目录:cd /
    • 解压文件:tar -xvf data.tar
    • 删除文件: rm -f 1.txt
    • 改变目录的读写权限:sudo chmod 777 /usr/share/themes

                 说明:这里777表示每个用户都可以读写,后面设的是路径

    • 重命名:mv aaa.h264 bbb.h264

                 说明:将aaa.h264重命名为bbb.264

    • 查看ip地址:ifconfig
    • 查看文件属性:stat sample_nnie_main
    • 查看当前路径:pwd
    • 创建文件夹:mkdir
    • 更改ip地址:ifconfig eth0 192.168.6.111  (重启后会丢失)

    (持续更新)

    5. MP4、AVI等转换为*.h264格式

    在嵌入式系统中,程序往往无法直接解码mp4,avi等格式视频文件,需将其转换为裸流.h264格式,方法如下:

    PC上下载ffmpeg工具,切换到ffmpeg.exe的目录,用cmd打开命令行窗口:

    .mp4转.h264:

    ffmpeg -i 1920x1080.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 1920x1080.h264

    .avi转.h264:

    ffmpeg -i 160x120.avi -vcodec h264 -s 160*120 -an -f m4v test.h264

    mov转h264

    ffmpeg -i test.mov -vbsf h264_mp4toannexb -vcodec copy -an 2.h264 

    即在ffmpeg目录下生成所需格式的文件。

    展开全文
  • 嵌入式开发概括

    2020-02-26 19:00:20
    嵌入式开发与单片机开发的区别? 嵌入式开发的优缺点? 嵌入式技术是以应用为中心,以计算机技术为基础的系统技术,把软件直接烧录在硬件里,而不是安装在外部储存介质上。即在已有的硬件上移植操作系统,让操作系统...

    学习笔记一:
    嵌入式系统课程学习储备知识:C语言+单片机(硬件的工作原理)
    1、嵌入式技术是什么?
    嵌入式软件与非嵌入式软件的区别?
    嵌入式开发与单片机开发的区别?
    嵌入式开发的优缺点?
    嵌入式技术是以应用为中心,以计算机技术为基础的系统技术,把软件直接烧录在硬件里,而不是安装在外部储存介质上。即在已有的硬件上移植操作系统,让操作系统去管理软硬件资源,使软硬件耦合度降低,在操作系统之上做上层应用开发,在操作系统之下做底层开发。
    单片机开发是传统开发,开发流程为先看原理图,然后写代码,最后将代码下载到开发板中,即由软件和硬件两大元素组成,熟悉硬件的工作原理再去写软件,将写好的软件烧录到硬件中,由软件去控制硬件工作(软件即代码,底层的开发板即硬件)。其缺点:首先软件和硬件的耦合度高,软件移植性差(适配平台能力差),运行效率低,功耗高。其次,在开发人员能力要求方面传统开发工程师要软硬兼顾,相对于团队合作,其开发效率低,工程师精力有限,很难顾全局,用户体验感降低。
    嵌入式是在软件和硬件中间移植入操作系统。操作系统可以管理软件资源和硬件资源,类似于生活中的管家(我们提出要求他做),实现软件和硬件之间的隔离,例如想要运行硬件中的摄像头,至于要让软件向操作系统发出相应的指令,由操作系统去控制硬件,硬件将数据返回给操作系统,操作系统再将数据返回给软件,这样我们在开发软件时就不需要去了解硬件的工作原理和构造,只要操作系统不发生变化,硬件的改变就不会影响到软件。因此软件移植性好(适配平台能力强),开发人员能力划分更清晰,操作系统实现了多任务机制、提供了丰富的网络协议、提供了开源软件和库。其缺点在于操作系统升级硬件成本会提高。
    在这里插入图片描述
    嵌入式使产品更加智能,跑更多的软件。嵌入式软件是结合操作系统做的开发,而非嵌入式软件是裸机开发(没有跑操作系统)。判断是不是嵌入式产品,看产品中有没有跑操作系统,在各行各业都有不同类型的操作系统,应用非常广泛,但是其作用都为隔离软硬件。
    2、嵌入式开发的方向及要求
    1)、嵌入式上层应用软件开发:
    精通一门语言;
    熟悉一款操作系统(会看说明书);
    数据结构/算法;
    2)、嵌入式底层系统软件开发:
    精通C语言(所有的操作系统内核都是有C+汇编开发的);
    理解操作系统的实现(会使用,会添加/修改功能);
    熟悉硬件的工作原理(CPU:stm32+64位,SPI,IIC,蓝牙,wifi物联网,摄像头);
    熟悉汇编;
    注:
    (1)、为什么选择C语言?C语言的特点?C语言能够直接访问硬件、移植性好、运行效率高
    (2)、为什么C语言能够直接访问硬件?因为C语言有指针数据类型,指针可以对地址操作
    (3)、什么时候选择用汇编,什么时候选择用C语言?对硬件初始化用汇编,做复杂操作用C
    3)、嵌入式系统工程师:方向:BSP(固件工程师)、内核开发;

    展开全文
  • 嵌入式开发学习框架

    千次阅读 2019-09-17 18:38:34
    嵌入式开发学习框架 嵌入式定义 传统定义:是以应用为中心,以计算机技术为基础,并且硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗 严格要求的专用计算机系统。 客观定义:除PC之外的一切计算机...

    嵌入式定义

    • 传统定义: 是以应用为中心,以计算机技术为基础,并且硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗 严格要求的专用计算机系统。
    • 客观定义: 除PC之外的一切计算机系统。

    学习路线

    技术路线

    思考

    • 嵌入式与物联网、云计算、大数据的关系?
    展开全文
  • 嵌入式开发

    2016-12-03 16:46:46
    成为一名嵌入式Linux开发工程师需要学习哪些知识?  随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度、市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的...

     成为一名嵌入式Linux开发工程师需要学习哪些知识?

      随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度、市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的开发和研究,这使得嵌入式Linux在新兴的嵌入式操作系统领域内也获得了飞速发展和广泛应用。面对如此火热的行业,如何才能成为嵌入式Linux开发工程师?成为一名合格的嵌入式Linux开发工程师需要学习哪些知识?

      一:C语言
      嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。

      二:Linux基础
      Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。

      三:Linux系统编程
      重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。

      四:Linux网络编程
      计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。

      五:数据结构与算法
      数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。

      六:C++ 、QT
      C++是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。

      七:Cortex A8 、Linux 平台开发
      通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。

      八:驱动开发
      驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。

      以上就是列出的关于一名合格嵌入式Linux开发工程师所必学的理论知识,其实,作为一个嵌入式开发人员,专业知识和项目经验同样重要,所以在我们的理论学习中也要有一定的项目实践,锻炼自己的项目开发能力。尤其是对于一些刚毕业的应届大学生们实际项目操作经验更是严重缺乏锻炼,这时,选择一个好的嵌入式培训机构至关重要,学习完整的linux开发课程,最重要的是很多的阶段性的大项目来自用人单位的真实开发案例,这样才能真正掌握企业需要的一部份嵌入式系统开发知识。

    展开全文
  • 嵌入式培训课程哪里好?嵌入式开发学习路线

    千次阅读 多人点赞 2018-09-29 18:10:46
    近年来,随着嵌入式系统产业规模的持续增长,作为IT业的重要新兴产业和经济增长点,发展嵌入式系统产业已经成为了制造向创造转变的突破口,可以说现在对嵌入式开发人才的需求是非常大的,因此很多人加入到这个行业。...
  • 但是我在校学习阶段:组成原理,数字电路,操作系统 课程都学的一般,不是特别好,怕搞嵌入式开发会有很大的困难??? 自己平时的时间都花在java应用开发方面的学习上,但是对于java应用开发提不起多大的兴趣...
  • 嵌入式开发知识体系与开发入门

    万人学习 2015-12-01 11:00:27
    介绍什么是嵌入式技术,嵌入式技术在现实生活中的应用,嵌入式开发过程,嵌入式学习的知识体系,步骤。 适合对象: 1.嵌入式相关专业学生 2.嵌入式学习爱好者 学习条件: 1.有计算机,电子相关基础知识 ...
  • linux嵌入式开发+驱动开发视频精讲

    万人学习 2016-04-27 15:00:32
    目前计算机编程语言百花齐放,但每种语言都有其...Linux内核和驱动程序开发这个领域,只能用C语言来完成,其他计算机语言在这个领域是望尘莫及的,C语言是接近汇编的语言,同时产生的本地代码执行效率位于语言之一。
  • Arm嵌入式开发

    2009-04-23 00:00:30
    Arm嵌入式开发
  • 嵌入式开发行业近年来受关注度是越来越高,不过在关注度高的前提下还是有些人没有那么了解嵌入式。其实嵌入式技术早已经进入我们的生活当中,比如说最常见的智能手机、智能电视、智能家电等等,那么对于嵌入式开发...
  • 一、开发过程的不同 1、裸机开发 原理图→芯片数据手册→内存物理地址; 2、带操作系统的开发 原理图→芯片数据手册→内存物理地址→内存虚拟地址。 二、硬件组成不同 跑操作系统的MCU要比跑裸机的MCU多两个硬件设备...
  • 本课程以实际操作演练的方式,以stm32系列单片机为例,手把手教你进行嵌入式开发,同步提高你的C语言能力,通过观看视频具体操作和课后反复练习,你将学会stm32寄存器与标准库和HAL库开发,stm32cubemx配置及应用,...
  • 软件开发挺火的,可是什么是嵌入式开发呢?嵌入式开发 有没有前途?这写疑问都是要学嵌入式开发的同学的疑问。那现在就介绍一下什么是什么是嵌入式开发? <br />什么是嵌入式开发 嵌入式开发有没有前途  ...
  • 嵌入式开发资料汇总

    万次阅读 2019-10-19 21:26:55
    一、单片机 51单片机 普中开发板资料:https://pan.baidu.com/s/1eQgPuL0
  • 嵌入式开发到底有多难?

    万次阅读 多人点赞 2018-03-13 17:19:47
    譬如,在今年的开发者大调查中,我们发现有34%的开发者面临嵌入式软硬件开发的困难,几乎占了开发者面临困难的三分之一强。数据来源:2017中国软件开发者大调查嵌入式软硬件开发都是坑? 那么,嵌入式软硬件开发真...
  • 嵌入式系统的更新变化越来越快,我们的嵌入式系统设计开发工程师面临着...本专题旨在介绍目前业界主要的 嵌入式开发工具,提供软件开发工具的正式版/试用版、用户手册、教程下载以及工程师们的工作笔记、开发经验及常见
  • 课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置...
  • 嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系统也...
  • 做Linux嵌入式开发,安装了vmware,桥接的方式到物理网卡,为了编译的方便项目创建在虚拟机中,但是网口要一直连上交换机或项目单板,很不方便,通过哪种方式可以在不插网线的情况下也能进入vmware进行编译操作,...
  • 嵌入式开发及应用.第二章.入门与软件框架.嵌入式硬件构件与底层驱动构件基本规范0 目录2 入门与软件框架2.1 嵌入式硬件构件与底层驱动构件基本规范2.1.1 课堂重点2.1.2 测试与作业3 下一章 0 目录 2 入门与软件框架 ...
  • 《零基础Android手机嵌入式开发实战课程(网吧计费系统、多功能播放器、驱动开发)》 课程讲师:老夫子  适合人群:初级 课时数量:174课时 用到技术:Bootloader开发、裸板开发 涉及项目:网吧计费系统、多功能...
  • 如题:没必要参加嵌入式开发培训班 你想知道为什么的话,就请接着向下看.我相信你会收获很多的.一定要耐心看完哦,你会收获很多的,相信我!尤其是最后面我提供的资源 可能在5年前甚至3年前我的回答是错误的,这点我...
  • python嵌入式开发

    万次阅读 2018-02-28 05:28:42
    现在是凌晨6:00,从下午我刚知道microPython,到现在我做成第一个硬件作品–mqtt协议远程控制LED灯。 感觉这才是充实的感觉,心里舒服,当我看到python的历程里有那么多的教程和资料,欣喜若狂,好想赶紧学一些...
  • 周立功arm嵌入式开发教程全系列

    千次下载 热门讨论 2008-10-18 16:51:33
    ARM嵌入式系统软件开发实例(一).rar 《ARM与嵌入式系统基础教程》.rar 周立功的ARM468问.pdf 嵌入式实时操作系统ucOS-II中文教程.CHM 嵌入式实时操作系统ucOS-II英文教程.pdf 深入浅出ARM7+LPC213X+214X(超清晰...
  • 华为嵌入式开发笔试题

    千次阅读 2018-09-08 02:01:53
    1)什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个...
  • 本文的目的是对嵌入式开发的特点进行简单的科普与回顾,为后续详细介绍“RISC-V GCC工具链”和“RISC-V汇编语言程序设计”打下基础。

空空如也

1 2 3 4 5 ... 20
收藏数 48,909
精华内容 19,563
关键字:

嵌入式开发