嵌入式的理解

本文详细阐述了嵌入式系统的定义,区分了带操作系统与无操作系统的嵌入式开发,介绍了嵌入式软件开发的步骤,包括操作系统移植、驱动程序/BSP开发和应用程序开发等,以及交叉编译中的关键概念如build、host和target。
摘要由CSDN通过智能技术生成

一、 嵌入式的定义

        嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统。

        国内普遍所理解的嵌入式为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、功耗、成本及体积有严格要求的专用计算机系统。

二、 从技术上区分嵌入式

        从技术上区分嵌入式可将嵌入式分为两种:有操作系统的和没有操作系统的。

        没有操作系统:也称为裸机开发。一般可分为硬件层、驱动层、应用层。

        有操作系统:相较与裸机,分为:硬件层、驱动层、应用层、系统层。

三、 嵌入式开发

        一般来说,嵌入式开发分为嵌入式硬件开发 、 嵌入式软件开发 、 嵌入式驱动开发 、 嵌入式系统开发

       

嵌入式系统软件开发

与普通软件开发的区别


        是否需要操作系统一般采用Linux系统配套下的开发工具和开发平台。
        程序编译和程序执行是在两个平台
        存在host端和target端,需要交叉编译
        输入/输出的界面不同 • 可利用的资源非常有限
        常常要和硬件打交道

build、host和target
    在交叉编译中比较 常见 的一些参数就是build、host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释
    --build=编译该软件所使用的平台
    --host=该软件将运行的平台
    --target=该软件所处理的目标平台

    我们以 gcc 为例子来 讲解 这三者的作用
    在gcc编译中我们使用
    ./configure --build=编译平台 --host=运行平台 --target=目标平台 [各种编译参数]
    来配置gcc的源代码,以让其编译出我们需要的gcc编译器。

                             build:自动测试在用平台名称,若无法检测出来则需要指定。
        host:若无指定,自动使用build的结果。
        build和host相同时表示本地编译,若不相同则表示交叉编译。
        target:表示需要处理的目标平台名称,若无指定使用host相同名称,gcc、binutils等于平台指令相关软件有此参数,多数软件此参数无用处

嵌入式软件开发的一般步骤

        1、操作系统移植

        2、驱动程序 / BSP开发

        3、应用程序开发

        4、系统调试

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值