展开

关键词

如何学习嵌入式软件

什么是嵌入式嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、PSOC、NIOS、Microblaze等。 如果你用ubuntu的话,得修改软件源(下载软件的网址),因为国外的源比较慢,百度上有详细说明。 因为有的人打着嵌入式硬件工程师的名号装逼,其实嵌入式硬件就是普通硬件工程师做的工作。我们这里都是讨论软件方面的内容,而且嵌入式是以软件为主导的(工资上有较大差距)。 本文没有涉及流程图绘制软件、文档生成工具等(这两个东西在工作中会经常用到)。 由上文可知,嵌入式软件涉及很多计算机相关的知识,这对于电子专业的学生来说,无疑相当于跨专业那么大难度。 BTW,嵌入式的工作也分成几个岗位,分别是系统工程师、驱动工程师、软件工程师(负责网页或GUI开发)、UI工程师(又称美工)。 系统工程师:熟悉操作系统的内核原理、熟读内核源码。

7330

嵌入式软件静态解析工具

CasePlayer2-嵌入式软件的说明书制作及解析工具 CasePlayer2 : 适用于嵌入式软件的说明书制作及解析工具 静态解析C/C++源代码自动生成流程图等文件 适用于各种嵌入式微机用汇编代码 CasePlayer2是通过解析ANSI C语言,C++,嵌入式C语言(非ANSI),以及汇编语言的源代码,制作包括流程图等的程序说明书的工具。 C,嵌入式汇编语言 5.JPG [CasePlayer2]也支持嵌入式汇编的源代码。 MISRA是以汽车工业领域为中心有关软件可靠性的非营利机构。最近,MISRA也开始被汽车软件以外的领域所采用。 [CasePlayer2]包括符合[MISRA-C]标准的程序构造解析功能。 [B]程序编程后期的源代码审阅会议,提高软件质量 提高软件质量首先要在开发团队中展开互相审阅检查,发现自己未能察觉的错误,总结提出更有效的编程方法。

20220
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    嵌入式软件开发必知必会

    我们以ARM嵌入式Linux系统为例,嵌入式系统在编译链接的过程中会通过一个叫链接脚本的东西,告诉链接器,把输入的程序文件中的各个段放到输出的文件中区,然后控制各个段在内存中的布局,这样程序在运行时就有地址空间布局了 image.png 图3-1-3 10进制数与16进制数互转的结果 当然,嵌入式软件的开发基础远不止上述内容,但最最基础的也往往逃不过这些内容。

    44840

    嵌入式应用软件架构设计

    要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构怎么行。 如果没有好的架构,移植将会是一件很痛苦的事情。 如果没有好的架构,复用是最大的难题,没法更大限度的复用原有的代码。 这里总结下我的嵌入式程序设计思路,分享出来与大家共同探讨,同时也欢迎提出不同意见。 现在的小朋友都爱玩搭积木的游戏,一个模块一个模块的拼装起来,快速组成各种不同的模型。现在的产品设计也很少从零开始。 我的嵌入式应用架构思路来源与此,即功能模块设计与分层。 把API分为驱动层和应用层API,而不是所有程序都调用驱动层API。 可以用某种嵌入式操作系统实现几种任务 。如定时任务,卡处理任务,菜单任务,通信任务。 业务逻辑层,如CPU卡处理,交通部卡处理,银联卡处理,M1卡处理,通信记录上传,黑名单下载,票价参数下载等。 拿通信库举例: 嵌入式设备都需要支持各种不同的通讯模块。

    76712

    蜂鸟E203系列——嵌入式软件环境

    安装串口显示安装konsole安装screen运行hbird demo程序打开控制台编译 demo 程序下载程序结果显示运行 coremark 跑分程序运行 d...

    27220

    嵌入式开源软件的十大弊端

    但是对于嵌入式设备和物联网设备的开发者来说, 有时并不愿轻易涉足, 比如家居自动化和可穿戴设备, 医疗仪器和工业控制系统。 在决定之前, 需要了解使用开放源码的真正成本和弊端。 1.可靠性 ? 开源软件的 RTOS 执行基本的服务, 使嵌入式或物联网设备能够正常工作。 商业 RTOS通常提供额外的增值特性, 使应用程序运行更快, 并使开发和调试更容易。 这会导致一个更有效率、更高性能的嵌入式 / 物联网产品, 能够更快地进入市场, 并在其整个生命周期中更加成功。 6.中间件 ? 商业 RTOS通常包括嵌入式文件系统、 tcp / ip 网络堆栈、 USB 主机 / 设备支持、图形界面框架和 IoT 云服务接口。 在商业产品中使用开放源码软件(OSS RTOS)的三个常见法律问题包括: 使用"不明来源软件" , 可能导致知识产权侵权 要求向开放社区披露与开放源码软件相结合或与开放源码软件链接的专有代码 产品开发的最佳实践并不等同于

    33310

    嵌入式软件架构设计之分层设计

    这里又涉及到如何提高嵌入式应用软件的可移植性的问题,这个问题在下一篇博文中专门讲解,敬请期待。 要想开发的应用程序在不同的嵌入式平台上具有高效率的可移植性,像Android sdk一样,统一的接口规范是必须的。 本文所要提到的嵌入式,其实更偏向于单片机。 因为经典的linux+arm配置属于资源比较丰富,高配的嵌入式系统,其操作系统本身就很强大,软件设计也变得水到渠成。单片机更多时候是没有系统软件设计之说。 并且这些项目的软件也是越来越复杂。因此注重单片机类嵌入式软件设计是项目前期必须考虑的工作。 下面具体讲解单片机软件开发的分层设计思路。本栗子所使用的是飞思卡尔K21 MCU,IAR编译器。 非操作系统的嵌入式是没有动态库.so这样一说的,不过底层软件这个可执行文件姑且就认为是app的.so吧。这两个bin文件通过配置icf,映射到不同的flash空间以及分配不同的RAM空间。

    82311

    嵌入式软件静态解析工具-CasePlayer2

    嵌入式软件静态解析工具-CasePlayer2 CasePlayer2 : 嵌入式软件的说明书制作及解析工具 静态解析C/C++源代码自动生成流程图等文件 适用于各种嵌入式微机用汇编代码 具有符合编程标准 ANSI C语言,C++,嵌入式C语言(非ANSI),以及汇编语言的源代码,制作包括流程图等的程序说明书的工具。 C,嵌入式汇编语言 [CasePlayer2]也支持嵌入式汇编的源代码。 MISRA是以汽车工业领域为中心有关软件可靠性的非营利机构。最近,MISRA也开始被汽车软件以外的领域所采用。 [CasePlayer2]包括符合[MISRA-C]标准的程序构造解析功能。 [B]程序编程后期的源代码审阅会议,提高软件质量 提高软件质量首先要在开发团队中展开互相审阅检查,发现自己未能察觉的错误,总结提出更有效的编程方法。

    1K00

    【swupdate文档 一】嵌入式系统的软件管理

    嵌入式系统的软件管理 嵌入式系统变得越来越复杂, 它们的软件也反映了这种复杂性的增加。 为了支持新的特性和修复,很有必要让嵌入式系统上的软件 能够以绝对可靠的方式更新。 即使它们的大小能够被裁剪, 将更新软件不需要的部分去掉,它们的大小也是不可忽略的。 通过包管理器更新 所有的Linux发行版都使用包管理器做更新, 为什么这不适用于嵌入式系统? 嵌入式系统是使用特定的软件进行过良好测试的。 使用包管理器可能会让人觉得奇怪,因为软件本身不再是 原子的 , 而是分裂成一系列包。 如果客户报告了一个bug,那么在之前已经向客户发送过 一些文件的补丁时,软件怎么可能还算是“2.5版本”呢? 原子更新通常是嵌入式系统的必备特性。 建议的解决方案是一个独立的软件, 它遵循客户规则,执行检查以确定软件是否可安装, 然后将软件安装到所需的存储上。

    92520

    【swupdate文档 三】SWUpdate: 嵌入式系统的软件升级

    SWUpdate: 嵌入式系统的软件升级 概述 本项目被认为有助于从存储媒体或网络更新嵌入式系统。 但是,通过使用软件集合( collections ),可以在双拷贝方案中使用它。 如果启动了远程更新,SWUpdate将启动嵌入式web服务器并等待请求。 功能 总体概览 安装在嵌入式介质上(eMMC、SD、Raw NAND、NOR、SPI-NOR flash) 检查镜像是否可用。 编译一个debian包 SWUpdate被认为是用于嵌入式系统的,在嵌入式发行版中构建是首要的情况。 但是除了最常用的嵌入式构建系统Yocto或Buildroot之外,在某些情况下还会使用标准的Linux发行版。

    1.3K00

    嵌入式软件开发常用的3种架构

    优点:对于初学者来说,这是最容易也是最直观的程序架构,逻辑简单明了,适用于逻辑简单,复杂度比较低的软件开发。 该设计方案需能帮助嵌入式软件开发者更上一层楼,在嵌入式软件开发过程中,若遇到以下几点,那么该设计方案可以说是最优选择,适用于程序较复杂的嵌入式系统; 目前的需求设计需要完全没有必要上操作系统。 任务函数无需时刻执行,存在间隔时间(比如按键,一般情况下,都需要软件防抖,初学者的做法通常是延时10ms左右再去判断,但10ms极大浪费了CPU的资源,在这段时间内CPU完全可以处理很多其他事情) 实时性有一定的要求 TASK_Remarks(); } TIM_ClearITPendingBit(TIM3,TIM_IT_Update);// 清除中断标志位 } 三、操作系统 嵌入式操作系统 EOS(Embedded OperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域,而对于单片机来说,比较常用的有UCOS、FreeRTOS、RT-Thread

    6820

    嵌入式HMI软件-InduSoft Web Studio RCE漏洞复现

    再来熟悉一下HMI和SCADA吧 靶机:win xp (192.168.183.160) 攻击机器:kali(192.168.183.139) 工业软件及版本:InduSoft Web Studio v7.1 漏洞exp:https://www.exploit-db.com/exploits/21837 1.2 工业软件安装 安装地址:https://indusoft-web-studio.software.informer.com /7.1/ 然后过程可参考:http://www.opdown.com/soft/92899.html 在靶机中安装InduSoft Web Studio v7.1工业软件,安装好后点击remote agent,然后点start 然后就来到了主页面 此人机界面继承了许多存在的工业场景,比如是由燃气采集 然后还有自动化机械臂 还有风能监测,并且还登记了操作系统和用户,作为十年前的软件做的确实可以

    42460

    面经 | 嵌入式软件开发(海康威视)

    嵌入式软件开发的笔试题中,c/c++、数据结构、操作系统、计算机网络等都会涉及到,对于操作系统方面的考察相较于其他岗位会更多一些。 Finish 西瓜媛在秋招中找的岗位主要是嵌入式软件开发、c++软件开发等软开类岗位,所以分享的比较多的是软开类的面经,笔经等。以上两家公司我都拿到了offer,出于一些原因,都没有去。

    36640

    什么是嵌入式系统(中)——真正的软件和硬件

    【正文】 ----   当被人问起“什么是嵌入式系统”时,无需看过我的文章,有一种狡猾的说法肯定是挑不出任何错误的——套用知乎上一类著名的问答体,“如何快速的假装/成为某个领域的专家”——你可以故作认真的说 :   “嵌入式系统首先是一个计算机系统”,然后大谈你对软件和硬件的看法……   为了在几乎没有逼格的行业中让大家能够有机会装逼,下面我就教大家一种关于嵌入式系统软件和硬件的特别观点,绝对可以让所有的小师妹小师弟甚至是同龄人偷来 嵌入式系统中几乎所有人关于软件和硬件的看法都是错误的……我们被教科书给坑了!” 2、嵌入式系统中的“软/硬件”观   嵌入式系统中的软件和硬件并不是你想象的那么简单。 大家可能注意到了,在嵌入式系统中,软件和硬件是一个不那么靠谱的定义方式——当人们用普通话发相同的声音说同一个词语的时候,描述的可能根本不是同一个东西。那么,嵌入式系统中,软件和硬件应该如何理解呢?

    56320

    嵌入式软件单元测试集成测试工具-WINAMS

    嵌入式软件单元测试/集成测试工具-WINAMS CoverageMaster winAMS : 适用于嵌入式目标机代码的单元测试工具 全面支持嵌入式微机! case)制作功能 已取得第三方认证机构TUVSUD对适用于汽车机能安全ISO26262软件工具的认证 产品概要 [Coverage master winAMS]是以嵌入式软件的函数为单位,实施模块单元测试以及 C0/C1/MCDC覆盖率测试(coverage test)的嵌入式软件自动化单元测试工具。 在汽车控制软件这样的对安全性要求极高的领域,单元测试已经成为不可缺少的一部分。使用目标机代码进行单元测试也是为了符合汽车行业中ISO26262功能安全认证标准。 产品特长 全面支持嵌入式微机! 验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具 作为能够检验出仅凭系统测试以及整体测试无法发现的[潜在错误]的检测方法,[单元测试]在嵌入式开发领域受到广泛重视。

    1.6K10

    35页PPT|《关键软件领域人才白皮书(2020年)》:关键基础软件、大型工业软件、行业应用软件、新型平台软件嵌入式软件

    软件人才是软件产业发展的核心要素,软件产业的竞争根本上是人才的竞争。 软件人才需求持续提升,到2025年,关键软件领域人才新增缺口将超80万。 嵌入式软件人才需求数量相对较大,大型工业软件、基础软件人才紧缺程度较高。 目录: 一、研究范围 二、研究背景 三、研究内容 四、问题和建议 关键软件领域主要包括五大类软件:关键基础软件、大型工业软件、行业应用软件、新型平台软件嵌入式软件。 行业应用软件: 行业应用软件指针对重点行业应用的各类软件,如金融行业软件、通信行业软件、能源行业软件等。 嵌入式软件嵌入式软件指与硬件设备深度耦合的软件,如通信设备嵌入式软件、汽车电子嵌入式软件等。 以下是白皮书主要内容的PPT: (可点击图片放大阅读) ▼ ? 1 ? 2 ? 3 ?

    1.4K20

    嵌入式软件单元测试集成测试工具--winAMS

    CoverageMaster winAMS Supported Processor List(English)

    33632

    嵌入式软件中如何验证麦克风的好坏?

    实现项目量产过程中,要测试一些外设,比如智能音箱的麦克风测试,测试麦克风的步骤比较复杂,比如验证麦克风的一致性,降噪算法等等,这里只是初步验证下麦克风的好坏,验...

    53020

    小米嵌入式软件工程师笔试题目解析

    今天分享的是小米的嵌入式软件开发工程师的笔试题目。这份题目很奇怪,操作系统,数据结构,网络基础,Java,C++,数据库,正则表达式,Linux都考到了。当时做题的时候,我都怀疑发错卷子了。。。 具体分析过程也可以参考下北京联发科嵌入式软件工程师笔试题目解析 3.若已知一个栈的入栈顺序是1,2,3...,n,其输出序列为P1,P2,P3,....Pn,若P1是n,则Pi=()?

    32320

    扫码关注腾讯云开发者

    领取腾讯云代金券