首页 > 其他分享 >关于嵌入式那些事?

关于嵌入式那些事?

时间:2024-07-27 22:00:29浏览次数:12  
标签:硬件 系统 嵌入式 那些 嵌入式软件 关于 测试 软件测试

嵌入式系统,作为现代科技的核心之一,无处不在。从智能家居到汽车电子,再到医疗设备,嵌入式系统的应用无所不包。今天,我们来聊聊嵌入式那些事,揭开它神秘的面纱。

如今,物联网、AI、5G的发展都离不开嵌入式系统,它就好比一个乐高拼图,只要你会“玩”,就会发生意想不到的性能。那么到底什么是嵌入式系统与对应的测试呢?下面就和大家聊一聊

嵌入式系统究竟是什么?它为何在各行各业中扮演着如此重要的角色?

 

01 无操作系统阶段

基于初单片机上,多数以编程控制器的形式出现,这一时期,一般没有操作系统相关支持,只有通过汇编语言对系统进行直接的控制,当然在相关运行结束之后再清除内存。

主要特点是:系统机构和功能相对都比较单一,处理效率较低、储存量小,几乎没有用户接口,由于具备以上特性,曾经被工业领域广泛认可。

比如:常规的硬件逻辑电路也可以实现简单的操作功能。

图片

02 简单的操作系统阶段

高可靠、低耗能的嵌入式CPU

特点:嵌入式操作系统比较简单,行业称之为“裸机系统”,一般使用常用的C语言语法,但已初步具备一定的兼容性和扩展性,对控制系统负载以及监控应用程序的运行有一定作用。

比如:单片机STM32(ARM内核),代码一个 while(1) { ; } 大循环和相关中断结合

图片

03 实时操作系统阶段

在数字化通信和信息家电等巨大需求的牵引下,随着硬件实时性要求的提高,嵌入式系统的软件规模也在不断扩大,这一时期操作系统的实行性得到了很大的改善。

特点:可在不同类型的微处理器上,实现高度的模块化和扩展性运行,以此使得应用软件的开发变的更加简单

比如:实时操作系统(RTOS)FreeRTOS、RT-Thread等,可以实现多线程操作。

图片

04 面向Internet阶段

嵌入式设备与internet的完美结合才是嵌入式技术的真正未来,在这个信息时代和数字时代里,为嵌入式系统的开发带来了巨大的机遇,同时对于嵌入式系统提供商来讲也是新的挑战。

比如:工控机级别Linux系统,可以实现多进程操作任务。

图片

嵌入式测试

近年来,随着嵌入式系统的功能和复杂性不断增加,其开发时间和成本也随之不断上升。对于安全关键领域的嵌入式系统和软件来说,其稳定性和可靠性往往需要通过大量的测试和验证来保证。

一般软件测试vs嵌入式软件测试对比

嵌入式软件测试针对嵌入式软件进行,建立在一般软件测试的基础之上,大多数软件的测试方法都可以直接或间接用于嵌入式软件的测试。但由于嵌入式系统专用性强、实时性要求高,嵌入式软件测试与一般软件测试也存在一些不同之处。

图片

嵌入式测试的步骤

搭建测试环境:准备硬件和软件环境,安装必要的测试工具

硬件测试:逐个检查硬件组件,确保他们正常工作。

软件测试:编写测试用例,执行黑盒,白盒和灰盒测试,验证软件功能和性能。

集成测试:将硬件和软件集成在一起,进行系统级别的测试,确保整体正常工作。

回归测试:修复问题后,重新进行测试以确保问题已经被解决且不会引入新的问题。

测试结果分析:根据测试结果进行分析,记录发现的问题,解决方法和验证结果。对测试过程进行总结,评估整个嵌入式系统的质量。如果必要,可以制定改进计划以提高系统可靠性和性能

综上,嵌入式测试人员具备一般的传统测试人员的基础,再结合一定的嵌入式行业的基础并通过需求建立对应的测试流程与测试工具,那么在一个项目里快速上手嵌入式项目的测试工作也将会变成一种简单又富有挑战的快乐。

在学习和开发嵌入式系统的过程中,使用合适的工具和资源至关重要。推荐几款热门的开发板和工具,如Arduino、Raspberry Pi,以及嵌入式开发环境Keil和Eclipse。学习平台如Coursera和Udemy也提供了丰富的嵌入式系统课程,帮助开发者快速上手。

嵌入式系统作为现代科技的基础,其应用范围之广,影响之深远,令人惊叹。从家居生活到工业生产,嵌入式系统无处不在,成为科技进步的重要驱动力。掌握嵌入式技术,不仅能够提升个人技能,更能在未来的职业发展中占据优势。

标签:硬件,系统,嵌入式,那些,嵌入式软件,关于,测试,软件测试
From: https://blog.csdn.net/m0_58552717/article/details/140723736

相关文章

  • 关于链表、顺序表、栈和队列的一些总结
    关于链表、顺序表、栈和堆的一些总结1.顺序表2.链表2.1单向链表2.1带哨兵位双向循环链表3.栈4.队列1.顺序表2.链表2.1单向链表2.1带哨兵位双向循环链表3.栈4.队列......
  • 收藏多年的线程安全问题大全笔记(1),笔记一生一起走,那些日子不再有
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • 关于函数式弹窗组件遇到的问题
    好久没写博客了。其实也不是没写,只是没发布到的网上。这回记录一个在开发函数式组件中碰到的问题。开门还是不要见山起因是这样的,入职现在这家公司后,发现有些代码习惯挺不适合我的,就是不习惯,没事那就折腾嘛。所以就有了接下来的故事。废两句话,首先说碰到什么问题呢?公司组件......
  • 关于 DataFrame 连接行为的 FutureWarning
    我正在从包含多个页面的API检索数据。初始页面中的必填字段被添加到pandas数据帧-在我的代码中,该变量最初定义为df|||.从原始的API响应中,我能够了解完整响应中的页面总数,因此我可以创建一个循环来迭代页面并按顺序提取所有信息。......
  • FrameBuffer 应用编程-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板
    FrameBuffer应用编程什么是Framebuffer设备Framebuffer定义:Framebuffer是帧缓冲,指一块内存,用于保存一帧图像Linux系统中的Framebuffer:在Linux系统中,Framebuffer是一种显示驱动接口,抽象并屏蔽了不同显示设备的硬件细节,对应用层提供了一块显示内存(显存)Framebuf......
  • STM32开发环境配置记录——关于PlatformIO + VSCode + CubeMX的集成环境配置
    前言​ 为什么配置这样的一个环境呢?鄙人受够了Keil5那个简陋的工作环境了,实在是用不下去,调试上很容易跟CubeMX的代码产生不协调导致调试——发布代码不一致造成的一系列问题。CubeIDE虽说不错,但是它的代码辅助功能和构建系统实在不敢恭维,经常出现Makefile未同步导致符号定义冲突,......
  • 关于如何在Arch Linux上编写自己的第一个module
    前一段时间一直想深入学习编写一个module插入到自己的内核当中,但是网上的资料基本上全都针对的Ubuntu和Debian等流行的Linux发行版,这里打算简单的记录一波博客。啥是Module?(着急可不看)众所周知:现代宏内核架构的操作系统都会借鉴微内核当中比较有价值的设计思想,这里的modules正......
  • 关于多项式的做题记录及整理
    最近被多项式制裁了,故开此贴记录一些做过的多项式题及多项式trick。HDU多校Day31004求\((a_{2}x^{2}+a_{1}x+a_{0})^t\)的各项系数,\(t\le10^7\)。Solution设\(F(x)=a_{2}x^{2}+a_{1}x+a_{0}\),\(G(x)=F^t(x)\),那么对\(G(x)\)求导得\[G'(x)=tF'(x)F^{t-1}(x)\]\[G'(x)......
  • 嵌入式小白递第四天——输入输出
    目录输入输出1.输入输出概念2.输入输出功能3.输入输出函数1).getchar/putchar函数getchar函数:putchar函数:2)print和scanf函数print函数(格式化输出函数):scanf函数(格式化输入函数):4.输入缓冲区输入输出1.输入输出概念输入是将数据通过外设设备输入到计算机内存中去......
  • 嵌入式小白第三天——数据类型 运算符 表达式
    目录运算符表达式运算符1.运算符的优先级和结合性2.运算的对象的个数3.表达式4.算术运算(+-*/%)/号%号5.自增运算符与自减运算符(++--)a++与++a区别左值与右值问题6.赋值运算7.逗号运算(顺序求值运算)8.强制类型转换9.隐式类型转换10.不同类型间的混合赋值......