自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(940)
  • 收藏
  • 关注

原创 嵌入式软件自动化测试方法

嵌入式软件自动化测试方法

2022-12-09 01:01:47 13

原创 嵌入式软件测试怎么实现自动化测试?

我是做的,我来回答下吧。题主你的表达有点混乱,我挑出来三个问题:1、希望做测试做的高大上2、不用手工这么累3、测试做出能看到前景。我也做测试,虽然自以为也不很高大上第一个问题,换个说法就是对测试职位的职业发展的思考,确实牵涉到多方面的思考,不那么简单就可以说清楚。我就想说三个点,第一个点,基本原则,不管做什么职位的工作,想发展更好,就要想办法做到让自己不可替代性变强。至于怎么做,你可以好好想想。第二个点,,专注于工作的细节,你是否对自己的工作了如指掌,你的工作有哪些部分构成?

2022-12-09 00:50:30 21

原创 可参考的通信数据接收解析方法

对此,这里提出了一种新的解决方案,可以通用与所有类似的数据解析,原理如下:使用一个固定容量的队列用来缓存接收到的数据,队列容量等于一帧数据的大小,每来一个数据就将数据往队列里面加,当完整接收到一帧数据时此时队列中的全部数据也就是一帧完整的数据,因此只需要判断队列是否是数据校验头,队列尾是否是数据校验尾就可以得知当前是否已经接收到了一帧完整的数据,然后在将数据从队列中取出即可。其中 AA AA 04 80 02 是数据校验头,后面三位是有效数据,问我怎么从外设不断返回的数据中取出有效的数据。

2022-12-09 00:35:34 14

原创 详解C语言二级指针三种内存模型

这种模型为二级指针的第二种内存模型,在理解的时候应该这样理解:定义了一个二级指针,二级指针就是指向指针的指针,其实就是开辟了100个指针空间,存放了100个地址。这种模型为二级指针的第一种内存模型,在理解的时候应该这样理解:定义了一个指针数组(char * []),数组的每个元素都是一个地址。二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别。在使用的时候,若要使用中间量操作元素,那么此时中间量应该定义为。如果要打印这个数组,那么可以使用以下函数。

2022-12-09 00:33:39 102

原创 自然语言处理概述

已剪辑自: https://mp.weixin.qq.com/s/hSTkA2ffa1YWCoZOgQdrBQ自然语言处理(Natural Language Processing,NLP)是计算机科学、人工智能和语言学的交叉学科,其范畴广泛,比如:语音合成、分词、词法分析、问答系统、机器翻译、情感分析等等。对于开发者而言,至少掌握了一种自然语言,也至少掌握了一种计算机编程语言。自然语言是人与人之间用于相互分享信息的语言,比如在程序中的注释,都是以自然语言的方式说明相应代码的含义,以便于其他人理解;编程语言是

2022-12-07 23:35:51 238

原创 计算机端口的安全知识大全,整的明明白白!

已剪辑自: https://cloud.tencent.com/developer/article/1406267“看了网安众安的这篇计算机端口文章,你要是学不会你来打我……”——鲁迅没有说过端口是计算机的大门,计算机的安全应该从端口开始说起。关于端口安全知识,我计划从六部分说起:端口的基础知识、端口的使用查看、端口的打开关闭、端口的转发和映射、由端口分析恶意攻击以及常用的端口安全工具。有人问了,为什么要分为六部分?是向六学致敬也要开花吗?可能你看完全文就知道为什么这么“6”了!一、端口的基础知识1、什么是

2022-12-06 23:07:44 29

原创 单片机硬件和软件延时、RTOS相对延时和绝对延时

已剪辑自: https://mp.weixin.qq.com/s/-RPLQn4KO9Aqu1fpfZeOKA前不久有个读者在问关于延时的问题,大概就是问:软件延时和硬件延时是啥意思?做项目时他俩有什么区别?今天就来讲讲关于硬件延时和软件延时的内容,以及它们的区别。延时的种类很多,先给大家普及一下延时相关概念和分类。指利用具有计数功能的硬件进行延时。比如:定时器(Timer)、 实时时钟(RTC)、 系统滴答定时器(SysTick)等具有计数功能的硬件。相对硬件延时而言,软件延时就是写一段软件代码,通过消

2022-12-06 21:07:17 52

原创 深度解读汽车域控制器

已剪辑自: https://mp.weixin.qq.com/s?__biz=Mzg4NjIxODk4Mg==&mid=2247496089&idx=1&sn=db5c08f97342decfabc9ce985ec75aaa&chksm=cf9fb810f8e83106994f2f2b9ca0387eaca7543d36b1673d4fc00bdfe07fbc5099322d41a702&scene=21#wechat_redirect过去十多年的汽车智能化和信息化发展产生了一个显著结果就是ECU芯片使用量

2022-12-06 20:27:37 50

原创 电子电气架构设计需要考虑哪些方面?

当前车辆日益复杂,车联网功能在各个细分领域都在不断增加,而更强大的智能功能也逐步增加。所有这些高级功能都依赖于线束和控制器才能发挥作用。然而面对日益增加的车辆复杂性和产品开发周期缩短的压力,导致汽车制造商和系统集成商的成本和时间压力增加。因此汽车制造商纷纷革新现有的的电子电气架构,像国内小鹏的X-EEA3.0中央计算平台+区域控制架构、广汽埃安的中央计算平台架构——星灵架构、长城的计算平台架构GEEP3.0等(如图1所示)。意在降低电子电气架构的复杂性,对软硬件进行解耦,以及为后续高级的功能落地提供基础,如

2022-12-06 20:12:19 152

原创 如何一步一步成为一个技术领域专家

已剪辑自: https://mp.weixin.qq.com/s?__biz=Mzg4NjIxODk4Mg==&mid=2247497216&idx=1&sn=12c8b2449baa2c236f7996df883b8554&chksm=cf9fbf89f8e8369fcf54bcbb0297f197563dcd06ccc84999093b4043b55bbd3c7d10f0caa5ac&scene=21#wechat_redirect经常有人问,为什么有的人工作10年仍然平台无奇,而有的人只用3年时间,就

2022-12-06 19:59:45 30

原创 汽车软件开发者的内功心法:V模型

已剪辑自: https://mp.weixin.qq.com/s/v0QyyZfz-hHpulIxHyT2_A做开发除了需要高效的编码能力,同样也离不开编程思维的指导。作为刚刚进入汽车电子行业的开发小白,本篇博文将总结最近学习到的汽车软件行业开发思维:V模型。1、V模型概述汽车软件开发过程中的V模型对行业内开发者早已是司空见惯的模型,是由瀑布模型演变而来的,也是目前汽车行业运用最广的软件开发模型。由于该模型的构图形似字母V,所以俗称V模型。V模型核心思想是通过A-SPICE流程(汽车产业的软件流程改进和能

2022-12-06 19:29:05 14

原创 片内总线在cpu扮演什么角色?他为什么能实现高效,不同的CPU为什么采用不同的总线协议?

片上总线,也称作片上网络(Network on Chip, NoC),在CPU核心日益增多的今天,变得更加重要。Intel早在志强Skylake-SP和Knight Landing中就引入新一代片上总线Mesh网络,IBM对Mesh引入的更早,距离我这篇颇受欢迎的介绍Mesh总线的文章登出,也有五年多了:破茧化蝶,从Ring Bus到Mesh网络,CPU片内总线的进化之路但最新经常有网友问我,Intel Client端最新的CPU Raptorlake(RPL)和还在开发阶段,引入Chiplet的Meter

2022-12-05 22:07:08 216

原创 破茧化蝶,从Ring Bus到Mesh网络,CPU片内总线的进化之路

转载于:https://zhuanlan.zhihu.com/p/32216294在大多数普通用户眼里,CPU也许就是一块顶着铁盖子的电路板而已。但是如果我们揭开顶盖,深入正中那片小小的集成电路,我们会发现这里有着人类科技史上,最伟大的奇迹。几十亿个晶体管层层叠叠,密密麻麻挤在一起,占据着这个仅有一点几个平方厘米的狭小世界。晶体管们在“上帝之手”的安排下,组成了各个功能模块。而这些功能模块之间,则是宽阔无比的超高速公路。这条超高速公路如此重要,以至于它的距离、速度和塞车与否,会大大影响这个小小世界的效率。这

2022-12-05 22:05:00 127

原创 C语言文件操作、C++文件操作、QT文件操作汇总及对比分析

前面对C语言文件操作、C++文件操作、QT文件操作进行了比较详细的说明,文章链接如下;C语言文件操作C++文件操作QT文件操作通过大致的了解,我们知道C语言文件操作、C++文件操作、QT文件操作之间其实是有很多相似的地方,实际在开发过程中,我们甚至可以混合使用这几种文件操作方式,那这几种文件操作之间的差异在哪里呢?第一个很明显的差异是易用性方面的差异,C++文件操作、QT文件操作因为使用了面向对象,具有更好的封装性,使用起来可能会更简介易懂。第二个可能的差异是性能方面的差异,具体可以参考下面两篇文章;开个话

2022-12-05 19:51:46 89

原创 C++文件操作

内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。成千上万个文件如果不加分类放在一起,用户使用起来显然非常不便,因此又引入了树形目录(目录也叫文件夹)的机制,可以把文件放在不同的文件夹中,文件夹中还可以嵌套文件夹,这就便于用户对文件进行管理和使用,正如 Windows 的资源管理器呈现的那样。一般来说,文件

2022-12-05 19:34:53 130

原创 C语言文件操作

我们对文件的概念已经非常熟悉了,比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种,最主要的作用是保存数据。在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。例如:操作文件的正确流程为:打开文件 --> 读写文件 --> 关闭文件。文件在进行读写操作之前要先打开,使用完毕要关闭。所谓打开文件,就是获取文件的有关信息,例如文件名、文件状态、当前读写位置等,这些信息会被保存到一个 FILE 类型的结构体变量中。

2022-12-05 19:34:06 198

原创 QT文件操作

已剪辑自: http://c.biancheng.net/view/9430.html很多应用程序都需要具备操作文件的能力,包括对文件内容进行读/写、创建和删除文件等,甚至某些应用程序的诞生纯粹是为了操作文件,比如 WPS Office、PDFedit 等。为此,Qt 框架提供了 QFile 类专门用来操作文件。QFile 类支持对文件进行读取、写入、删除、重命名、拷贝等操作,它既可以操作文件文件,也可以操作二进制文件。使用 QFile 类操作文件之前,程序中需引入头文件。创建 QFile 类的对象,常用的

2022-12-05 19:32:35 26

原创 Windows下的socket演示程序及加载DLL

已剪辑自: http://c.biancheng.net/view/2129.html上节演示了 Linux 下的 socket 程序,这节来看一下 Windows 下的 socket 程序。同样,server.cpp 为服务器端代码,client 为客户端代码。服务器端代码 server.cpp:客户端代码 client.cpp:将 server.cpp 和 client.cpp 分别编译为 server.exe 和 client.exe,先运行 server.exe,再运行 client.exe,输

2022-12-04 22:47:27 31

原创 基于UDP的服务器端和客户端

已剪辑自: http://c.biancheng.net/view/2358.htmlTCP 是面向连接的传输协议,建立连接时要经过三次握手,断开连接时要经过四次握手,中间传输数据时也要回复 ACK 包确认,多种机制保证了数据能够正确到达,不会丢失或出错。UDP 是非连接的传输协议,没有建立连接和断开连接的过程,它只是简单地把数据丢到网络中,也不需要 ACK 包确认。UDP 传输数据就好像我们邮寄包裹,邮寄前需要填好寄件人和收件人地址,之后送到快递公司即可,但包裹是否正确送达、是否损坏我们无法得知,也无法保

2022-12-04 22:34:40 149

原创 C语言Socket编程,实现两个程序间的通信

已剪辑自: https://www.cnblogs.com/fisherss/p/12085123.html在mooc上找到的,使用Socket客户端client和服务端server通信的流程图👇服务端需要 "两个"套接字 :1.服务端套接字serverSocket2.客户端connect连接请求时,发来的套接字clientSocket按流程图来看, server服务端主要就是实现下面几个步骤:所以服务端代码可以这样写👇在CSDN上copy的,原来的代码需要在linux环境下运行,在windows下需

2022-12-04 22:08:20 270

原创 QT中怎么设置定时器/周期任务/定时触发任务

Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类。其精确度一般依赖于操作系统和硬件,但一般支持20ms。下面将分别介绍两种方法来使用定时器。QObject中的定时器的使用,需要用到三个函数1、 int QObject::startTimer ( int interval ) ;​ 这个是开启一个定时器的函数,他的参数interval是毫秒级别。当开启成功后会返回这个定时器的ID, 并且每隔interval 时间后会进入timerEvent 函数。直

2022-12-04 21:30:32 209

原创 QT-GUI应用程序设计基础

QT-GUI应用程序设计基础

2022-12-04 19:15:50 60

原创 神器必会!特别好使的编辑器Source Insight

已剪辑自: https://mp.weixin.qq.com/s/nA9VJeMjC4gDpDSI8r-2FA“Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是说是“最好的之一”绝对是妥妥的。它以丰富的语言支持、便捷的功能、快速的源码导航、实时的上下文显示、独立的符号数据库等众多优点,在全世界范围内广受程序员们的欢迎。本文将结合笔者的实际操作和学习,基于SI3.5做一些使用记录。另

2022-12-03 16:54:43 242

原创 基于功能安全的车载计算平台开发:系统层面

技术安全概念的内容主要包含基于系统架构的功能安全分析,基于上级功能安全要求与功能安全分析导出的技术安全要求,最终集成安全设计的系统架构,以及后续生产过程中需要采取的安全措施。不同的功能依赖不同的系统模块实现。在系统集成测试和整车集成测试活动中,需重点验证目标车型的功能安全要求是否得到正确实现,集成真实的传感器和执行器等其他其它要素之后的系统响应是否满足安全机制的要求,车载智能计算平台与目标车型其他要素之间的接口与交互过程是否正确,以及安全要求在外界严苛的环境条件和运行工况下能否正常实现。

2022-12-02 23:28:14 75

原创 基于功能安全的车载计算平台开发:硬件层面

剩下的1%的故障是残余故障而不是潜伏故障。如果不具备关于复杂元器件的安全故障比例的详细信息,可假定安全故障的保守比例为50%,并假定通过内部自检和外部看门狗(表中的安全机制SM4)达到对违背安全目标的总体覆盖率为90%。由于硬件故障在硬件生命周期中发生时间的随机性,在通过改善流程降低系统性失效的同时,ISO 26262功能安全标准在硬件层面重点关注识别安全相关的硬件故障以及采取安全机制诊断相应硬件故障,并发现的硬件故障进行处理(例如进入安全状态),从而将硬件随机失效对安全目标的影响降低到可接受的程度。

2022-12-02 23:25:25 226

原创 TinyFlashDB:一种超轻量的可纠错的通用单片机Flash存储方案

结构体功能:在TinyFlashDB中,API的操作都需要指定的参数index,该index结构体中存储了flash的地址,flash的大小,存储的变量的长度,结束标志位。在读取flash扇区时会去校验此信息。函数功能:从index指向的扇区中获取一个index中指定变量长度的变量,flash头部数据校验出错不会重新初始化flash。参数 index:tfdb操作的index指针。

2022-12-02 23:21:00 16

原创 一个单片机驱动LCD编程思路

在讨论怎么写LCD驱动之前,我们先大概了解一下嵌入式常用LCD。概述一些跟驱动架构设计有关的概念,在此不对原理和细节做深入讨论,会有专门文章介绍,或者参考网络文档。

2022-12-02 23:16:24 50

原创 智能座舱域控制器技术发展趋势分析

诺博汽车副总经理陈礼顺说:“ 座舱的SoC芯片一般都会包含CPU、GPU、NPU、DSP等等,这些IP设计与授权一般都是来自第三方公司,比如ARM, Imagination等,对于传统汽车芯片厂商,这些IP的授权费都是非常高的,但对于高通来讲,一是很多IP都是进行自研设计,二是ARM的架构授权费也是要比一些传统汽车芯片厂商低很多。“两者面向的应用场景、功能定义、性能边界都不一样,至少从目前来看,我觉得两者没必要去融合,如果硬要把他们捏在一起,不管是芯片的选型,还是外围电路的设计,面临的要求都不一样。

2022-12-02 23:14:09 50

原创 编写可移植C/C++程序的要点

然而,对于一些比较特殊的应用,如图形组件本身,就拿GTK+来说吧,基于X Window的功能和基于Win32的功能,两者差巨大,除了窗口、事件等基本概念外,几乎没有什么相同的,如果不事先了解各个平台的特性,在设计时就精心考虑的话,抽象出来的抽口在另外一个平台几乎无法实现。这些貌合神离的东东,端的是神出鬼没,一不小心着了它的道。**这一点是建立在分层设计之上的,大多数底层函数,像线程、同步机制和IPC机制等等,不同平台提供的函数,几乎是一一对应的,封装这些函数很简单,实现Adapter的工作几乎只是体力活。

2022-12-02 23:03:38 19

原创 汽车电子电气架构演进驱动主机厂多重变化

已剪辑自: https://mp.weixin.qq.com/s/P56MaFODVc_eZ4JEOVJvfA汽车电子电气架构(EEA,Electrical/Electronic Architecture)把汽车中的各类传感器、ECU(电子控制单元)、线束拓扑和电子电气分配系统整合在一起完成运算、动力和能量的分配,进而实现整车的各项功能。如果将汽车比作人体,汽车的机械结构相当于人的骨骼,动力、转向相当于人的四肢,电子电气架构则相当于人的神经系统和大脑,是汽车实现信息交互和复杂操作的关键。电子电气架构涵盖了车

2022-12-02 22:58:13 140

原创 ADAS系统安全架构设计及安全等级的分解

类似失效运行的概念,还有失效降级(fail degraded, fail partial),通常对于有失效后可用性要求,又不需要完整的冗余接管的系统,例如,对于车辆灯光控制系统的防止近光灯非预期的完全关闭,这个安全目标需要考虑通过双电源和日间行车灯对近光灯的冗余,保证失效后至少有一个近光灯或者日间行车灯对路面进行照明。从功能安全的角度出发,由于高安全等级自动驾驶系统允许驾驶员脱眼或者脱手,在评估某系统的功能安全目标时,部分危害事件S,E,C会评定为最高分,继而得到ASIL D级别的安全目标。

2022-12-02 21:00:04 494

原创 冯诺依曼体系结构与操作系统

硬件——深入理解冯诺依曼体系结构软件——全面认识操作系统1946年美籍匈牙利科学家冯·诺依曼提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式存储,并确定了存储程序计算机的五大组成部分和基本工作方法。半个多世纪以来,计算机制造技术发生了巨大变化,但冯诺依曼体系结构仍然沿用至今,人们把冯诺依曼称为“计算机鼻祖”。1.为什么输入/输出设备的数据,不直接给CPU,反而给内存呢?[这里引入存储分级(存储金字塔)概念]是因为,外设和CPU的速度相差太大。

2022-12-01 11:46:44 58

原创 SCADE简单了解

随着新能源三电、智能驾驶等新技术的应用,汽车中衍生出很多的安全零部件,如BMS、VCU、MCU、ADAS等,相应的软件在汽车中的比重越来越大,随之而来的安全性、可靠性要求也越来越高。主要针对安全零部件的嵌入式产品级软件提供了SCADE开发套件,支持嵌入式软件详细设计和代码自动生成,有效缩短产品研制周期,提高产品研制效率,提高产品质量。SCADE开发套件由以下主要部分组成:• SCADE Architect:支持SysML建模能力,可以利用 SysML模型对系统行为及进行建模。

2022-12-01 10:57:01 51

原创 有关C语言,定时器,周期任务的一些文章汇总

测试C语言中打印一句 hello world需要耗费多少时间【C/C++开源库】适合嵌入式的定时器调度器C语言实现的多线程定时器C语言操作时间函数,实现定时执行某个任务小程序C语言实现任务调度与定时器Linux C语言定时任务的实现

2022-12-01 09:53:10 221

原创 硬件接口和软件接口

首先,让我们看看接口的概念。接口一词的英文原文是interface,原本就是一个计算机科学词汇。韦伯词典中的解释:其中名词形式的解释为:“独立系统之间的边界,信息跨越边界传送”。用户界面:人机界面(user interface,UI)软件接口:代码之间、软件硬件之间的接口(software interface)硬件接口:线缆、插头、插座等等如果按动词解释,则是指通过接口进行连接与信息交换的行为。一般1和2都会视为软件系统的接口,本文着重介绍的也是这两类接口技术的发展。

2022-11-30 11:02:01 309

原创 硬件定义软件?还是,软件定义硬件?

指令是软件和硬件的媒介,指令的复杂度决定了系统的软硬件解耦程度。按照单位计算(指令)的复杂度,处理器平台大致分为CPU、协处理器、GPU、FPGA和ASIC。从左往右,单位计算越来越复杂,灵活性越来越低。任务在CPU运行,则定义为软件运行;任务在协处理器、GPU、FPGA或ASIC运行,则定义为硬件加速运行。

2022-11-30 10:39:49 390

原创 软件和硬件之间的数据交互接口

传统的非硬件缓存一致性总线,是需要软件驱动显式的控制设备来进行数据交互的。通过梳理软硬件接口的演进,逐步给出软硬件接口的定义。

2022-11-30 10:36:17 327

原创 软件和硬件中的调用

图1 分层的API调用。

2022-11-30 10:33:53 688

原创 基于功能安全的车载计算平台开发:软件层面

已剪辑自: https://mp.weixin.qq.com/s/SIBvH8u–vCk6W28KrPBmA车载智能计算平台作为智能汽车的安全关键系统,软件层面的安全性至关重要。由于车载智能计算平台功能丰富,应用场景复杂,对软件的实时性、安全性、可靠性要求极高,应通过技术和流程两个方面保障软件的功能安全。技术上确保软件层级的每个功能安全相关软件节点都有相应的故障监测和处理机制,流程上按照软件安全生命周期模型规范软件开发过程。基于参考阶段模型,为软件层面产品开发进行生命周期的剪裁。**车载智能计算平台软件安全

2022-11-30 09:44:03 315

原创 软件定义汽车带来的困境和DevOps:定义汽车软件新开发模式

已剪辑自: https://www.digiproto.com/news/236.html当前,全球汽车产业正在经历从传统工业向数字化转型的大变革,智能化、数字化、信息化正在成为汽车电子行业转型发展的必由之路。“软件定义汽车”(Software Defined Vehicles,SDV)概念的提出,说明软件在汽车产品中承担的角色越来越重要。随着汽车软件的量级和复杂度不断提高,汽车厂商对嵌入式系统开发需求越来越高。

2022-11-29 22:37:58 28

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除