自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(584)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

原创 AUTOSAR 开源实现 Arctic Core

https://github.com/parai/as,这个也可参考下。这个是官方版本,实现AUTOSAR 3.1.5版本。Arctic Core结构分析可参考。github上有一个更新的版本;介绍了AUTOSAR的结构。

2024-04-07 19:49:42 133

转载 mingw 环境变量配置

到选择安装包的时候,可以全部选,也可以默认,然后就是安装,很简单的。4、新建CPLUS_INCLUDE_PATH变量,值为C:\MinGW\include\c++\3.4.5;1、在PATH里加入C:\MinGW\bin,记得,如果里面还有其他的变量,记得要加个分号啊,分号得在英文输入模式下输入的。2、新建LIBRARY_PATH变量,如果有的话,在值中加入C:\MinGW\lib,这是标准库的位置。

2023-06-06 11:10:05 1447

转载 C语言 #undef的用法

在一个程序块中用完宏定义后,为防止后面标识符冲突需要取消其宏定义。例如:int main()#undef MAXreturn 0;/******** 例程1:main.c ********/在一个程序段中使用完宏定义后立即将其取消,防止在后面程序段中用到同样的名字而产生冲突。将某个库函数包装成自定义接口,而只允许用户调用自定义接口,禁止直接调用库函数。(此例来源于《C和指针》)例如,自定义安全的内存分配器接口:/*** 定义一个不易发生错误的内存分配器*/

2023-02-20 17:17:48 785

转载 C++宏之__cplusplus

不管是用C++或者C编译器编译生成的,都可以直接给C项目调用。

2022-11-22 17:26:07 1182

转载 关于 C++ 中的 extern “C“

C++语言的创建初衷是 "a better C",但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为"不彻底地面向对象"),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。本文将介绍C++中如何通过 extern "C" 关键字支持C语言。C++

2022-11-17 19:38:29 791

转载 Scons环境搭建和编译原理概述及嵌入式开发常用模板

scons

2022-11-16 18:26:39 648

转载 TCP,IP,ARP关系

在网络分层模型中,下层要为上层提供服务,而上层的一切行动都要靠下层们为它跑腿。打个简单的比方,TCP就好比是老板,而IP是项目主管,ARP和802.3则是为以上二位跑腿的小员工。现在老板TCP想要向外发送一个SYN请柬。以下是大致剧情:TCP:IP你过来,我现在要给“destinationIP”发送一个SYN请柬,请柬我已经写好了,剩下的就交给你了,限你n秒之内给我回话!(老板任性地走了……)IP拿到请柬后用信封封好,写上自己的IP地址和接收方的IP地址。然后将自己的网络号与destinationIP

2022-05-31 15:20:18 557 1

转载 Source Insight 4.0 不用license长期使用的方法

Source Insight 4.0 现在一般下载到的都是30天的试用版的,用完了就没法用了,网络上找的破解工具以及破解licence都不可用,虽然破解了,但是破解之后的Source Insight 4.0不能使用中文输入了,除非你能够忍受一直英文输入的情况,包括不能写中文的注释,而且已有的中文的注释也是乱码,那样你就牛逼了....下面我说一种可以一直保持Source Insight 4.0在试用期的方法。1、先删除旧的lic文件,这个文件在C:\ProgramData\Source Insig

2021-09-15 21:22:17 9525 3

转载 汽车硬件测试基准介绍

汽车硬件测试基准介绍汽车硬件测试的参照基准中国国标与国标标准的对应EMC的测试类于各地区的标准对应各国各地区的参照美国基准:SAE J1113-2、SAE J1113-4、SAE J1113-11、SAE J1113-12、SAE J1113-13、SAE J1113-21、SAE J1113-23、SAE J1113-24、SAE J1113-25、SAE J1113-41、SAE J1113-42、SAE J551美国的车辆基准为SAE J1113 系列和J551,上述的基准为

2021-06-14 17:54:17 1326

转载 多核CPU运行基础知识及核间通信

多核CPU运行模式主要有以下三种:•非对称多处理(Asymmetric multiprocessing,AMP)——每个CPU内核运行一个独立的操作系统或同一操作系统的独立实例(instantiation)。•对称多处理(Symmetric multiprocessing,SMP)——一个操作系统的实例可以同时管理所有CPU内核,且应用并不绑定某一个内核。•混合多处理(Bound multiprocessing,BMP)——一个操作系统的实例可以同时管理所有CPU内核,但每个应用被锁定于某个指定

2021-04-27 15:02:36 9077

转载 C语言实现RAND函数的方法

C语言使用rand()%一个值就可以实现生成一个伪随机数供我们使用,那么rand函数是如何实现的呢?我们自己可不可以编辑出来?其实是可以的,rand作为伪随机数发生器产生的是一个伪随机数,一般的用途能够满足。要想实现这个函数,需要用一个公式,x=ax+b%65536用这样的公式就可以简单的实现随机数了,至于为什么是214013、2531011这两个数应该是有个内部逻辑,数学上的验证而来,这两个数如果任意取可能效果不是很好。static long holdrand = 1L;void __cdecl

2021-04-22 20:39:13 1036

转载 【C++】内联函数为什么定义在头文件中?

最近从新捡起C++,突然有一个想法,为什么内联函数的会在头文件中申明和定义。如果是C++新手,对申明和定义这两个词比较陌生,那么我先解释一下申明和定义的意思(原谅我废话多)为什么需要内联函数?函数调用包含一系列工作,例如保存寄存器,并在返回时恢复,可能需要拷贝实参,程序转向一个新的位置执行等,这些工作会有一定开销,如果把函数代码在调用点上内联地展开,就可以避免这些开销,加快了程序运行速度,代价是程序体积会随着内联的次数增大一、申明和定义申明一般放头文件中,定义一般放.cpp文件中。比如现

2021-04-19 15:40:12 1421

转载 AUTOSAR之DEM之二——report(event+debounce)

DEM诊断事件管理之二——reportReport图1: dependencies of the Diagnostic Event Manager to other software modulesreport也就是SWC或者BSW给DEM报诊断事件的状态。它由两个部分组成,一个是诊断事件(diagnostic event),一个是滤波(debounce)。可以把应用层或者BSW监控(monitor)某个组件component叫做一个诊断事件(diagnostic event),DEM会给每

2020-09-24 16:58:33 2981 1

转载 AutoSar和OSEK网络管理比较

共同点:1. 都属于直接网络管理。2. 网络管理的目的都是协调各节点同步进入休眠及唤醒(主要是休眠)。3. 都依靠特定的网络管理CAN报文,每个节点的网络管理ID都不一样。4. 唤醒方法相同,第一个唤醒的节点发送网络管理帧即同时唤醒其它节点。不同点:1. 唤醒帧类型不一样:网络唤醒后,OSEK要求节点发出的第一帧必须是Alive类型,不能是Ring, Limphome等。AutoSar只要求是网络管理帧就行,条件宽松。2. 休眠的同步算法不一样: O...

2020-09-15 10:32:09 467

转载 STM32堆栈溢出问题

通过map文件了解堆栈分配(STM32、MDK5)--避免堆栈溢出环境:STM32F103C8T6,MDK5在最近的一个项目的开发中,每当调用到一个函数,程序就直接跑飞。debug跟进去看不出什么逻辑错误,但发现函数内局部变量声明之后,全局变量的值被清零,后来查看局部变量地址已经超出栈的范围,于是确定是栈溢出。如果不稍微了解一下堆栈,在开发过程中可能碰到各种奇怪的错误。.map和startup.s文件MAP文件是程序的全局符号、源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方、任.

2020-08-29 10:26:32 4079

转载 函数参数的传递问题(一级指针和二级指针)

原以为自己对指针掌握了,却还是对这个问题不太明白。请教! 程序1: void myMalloc(char *s) //我想在函数中分配内存,再返回 { s=(char *) malloc(100); } void main() { char *p=NULL; myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么? if(p) free(p); } 程序2:void m...

2020-08-26 17:18:17 492

转载 /*({...})的作用是将内部的几条语句中最后一条的值返回,它也允许在内部声明变量(因为它通过大括号组成了一个局部

/*本程序时为了验证用宏来做 * 两个数的大小比较的写法*/ #include<stdio.h> #define MAX(x,y) ((x)<(y)?(y):(x)) #define MIN(X,Y) ({\ typeof (X) x_ = (X);\ typeof (Y) y_ = (Y);\ (x_ < y_) ? x_ : y_; }) /*({...})的作用是将内部的几条语句中最后一条的值返..

2020-08-26 14:54:18 380 1

转载 ROM和RAM测试总结

在硬件系统出厂前要进行产品测试;在嵌入式系统工作之前,一般也要进行自检,其中ROM和RAM检测必不可少,可是有不少人对于测试目的、原因和方法存在错误理解。为什么要测试ROM和RAM,怎么测试呢?普遍的看法是:由于担心ROM和RAM芯片损坏,在出厂和使用前应该校验这两种芯片的好坏。测试RAM的方法是写读各个内存单元,检查是否能够正确写入;测试ROM的方法是累加各存储单元数值并与校验和比较。这种认识不能说错,但有些肤浅,照此编出的测试程序不完备。一般来说,ROM和RAM芯片本身不大会被损坏,用到次品...

2020-08-12 13:44:50 1750 1

转载 ROM和RAM测试总结

在硬件系统出厂前要进行产品测试;在嵌入式系统工作之前,一般也要进行自检,其中ROM和RAM检测必不可少,可是有不少人对于测试目的、原因和方法存在错误理解。为什么要测试ROM和RAM,怎么测试呢?普遍的看法是:由于担心ROM和RAM芯片损坏,在出厂和使用前应该校验这两种芯片的好坏。测试RAM的方法是写读各个内存单元,检查是否能够正确写入;测试ROM的方法是累加各存储单元数值并与校验和比较。这种认识不能说错,但有些肤浅,照此编出的测试程序不完备。一般来说,ROM和RAM芯片本身不大会被损坏,用到次品的...

2020-08-12 13:42:30 1099

转载 S32K144功耗管理与系统模式控制

S32K144功耗管理与系统模式控制1、引言S32K144是一款NXP以Cortex M4为内核的32位汽车通用芯片,本文主要介绍该芯片的功耗管理与系统模式控制相关内容,如低功耗等运行模式。参考文档:S32K1xx Series Reference Manual.pdf。2、操作模式S32K144具有6种操作(功耗)模式,可归为两类:(1)运行模式:RUN、HSRUN、VLPR(2)停止(睡眠)模式:VLPS、STOP1、STOP2RUN:正常运行模式为芯片的默认模式,最大主频8

2020-07-23 14:50:54 3479 2

转载 ADAS/AD控制器模块开发14 - ASPICE流程

前言相信每个从事汽车电子开发的人都会有这样的心路历程:1.刚毕业时,懵懵懂懂的进入公司,跟着公司的培训走,了解自己岗位的内容,以及与其他岗位的交互,还要熟悉V模型开发流程;2.工作几年后,睁开眼睛看外部的世界,例如跟从事IT行业的同学们聊聊,跟转行做医疗器械的同学们扯扯,突然会想一件事情,为什么汽车电子的开发会是这样一种形态呢?都涉及到系统和软件的开发,但是组织形式和开发形式却又如此的不一样?是什么东西在指导并搭建了这样一种特定的开发组织形式呢(即开发流程)?具体再提几个深入一点的问题:为什么汽

2020-07-22 14:12:36 826

原创 小时候 我有这么一个梦想

小时候我有这么一个梦想长大后逢着一个姑娘她善良、快乐又阳光我只爱着她她只爱着我我们一起简单地生活像童话故事里那样现在啊我三十岁了我没有逢着那个姑娘那个姑娘也没有逢着我相遇原来是这样艰难不可望,不可及我试着改变自己去接近我能接近的姑娘一个又一个被拒绝或拒绝没有童话故事里那样王子遇上了白雪公主我相信未来也不会有有人说生活就是这样找个人凑合着过吧有人说不愿凑合还可以骑驴找马有人说有人就是这样找到了我想找的那个姑娘梅雨季的天空下着梅雨我的心情有些沮丧这

2020-06-25 20:01:43 328 4

转载 软件 PRE、RC、beta、RTM、CTP等版本号的基本区别

alpha版:内部测试版。α是希腊字母的第一个,表示最早的版本,一般用户不要下载这个版本,这个版本一般是作为技术预览的,很可能包含很多BUG,功能也不全,主要是给开发人员和测试人员测试和找BUG用的。pre版:这个和alpha都属于预览版,但是这个公众也会很容易拿到,一般分M1,M2等。windows7 我想很多人都从M3开始关注的。beta版:公开测试版。β是希腊字母的第二个,顾名思义,这个版本比alpha版发布得晚一些,这个版的软件其实已经很成熟了,大的BUG一般不会出现,面向公众测

2020-05-27 10:16:10 4409

转载 SourceTree3.1.3跳过注册的方法

百度经验上的文章,亲测过,好使,如果链接能顺利打开,就不用看以下内容https://jingyan.baidu.com/article/4f34706e6e4985e386b56d79.html1.下载并执行SourceTreeSetup-3.1.3.exe,会进入登录或注册bitbucket的界面,先别急着操作,继续往下看。2.关闭上述安装窗口,打开 %LocalAppData%\Atlassian目录(win+r打开命令模式,把%LocalAppData%\Atlassian放到输入..

2020-05-19 14:40:55 193

转载 Git-用 cherry-pick 挑好看的小樱桃

cherry-pick 能干啥?cherry,中文翻译是樱桃,pick, 中文翻译是采集,挑选。所以,cherry-pick 就是挑选樱桃,git cherry-pick 就是从你的项目文件中找出"樱桃"二字,找到就可以找博主来兑换樱桃了。以上是开玩笑,写博客呢,干什么,正经点!cherry-pick 的翻译是择优挑选,使用git cherry-pick命令,可以选择将现有的一个或者多个提交的修改引入当前内容。...

2020-05-18 10:10:53 282

转载 gerri push git remote: ERROR: committer email address remote: ERROR: does not match your user accoun

gerri push git remote: ERROR: committer email address remote: ERROR: does not match your user account.原因如题,git邮箱配置错误修改 git config --global user.name "xxx"; git config --global user.email "xxx";执行完后切记将之前已经做的add、commit操作reset 掉,然后再重新add、commit,...

2020-05-14 21:27:23 1961 3

转载 git commit的规范

git commit的规范制定一个git commit信息的提交规范是开发团队工作流必不可少的环节。试想一下,如果查看主分支上的历史库也就是你查看git log的时候,打印出来的信息杂乱无章的话,如果代码遇到问题,可能需要很大的精力与成本来查找到导致问题的代码提交,所以团队需要制定规范来引导成员编写规范的commit信息。接下来的commit信息规范参考了angularjs团队的开发者指引与笔者的工作团队进行总结,读者如有需要可以以此为基础增加或修改成为自己团队的commit...

2020-05-11 17:26:26 364

转载 Codewarrior v5.x 如何向项目添加浮点数支持

有时候我们创建项目时为了节省内存,选择了不需要浮点数支持,但是写着写着发现需要进行浮点数计算,如果在不支持浮点数的工程中调用浮点数相关运算,就会发现浮点数相关函数找不到。这个时候怎么办呢?最无脑也是最有效的方法就是按需求重新创建一个工程,然后把整个工程再重新配置一遍。但这工作量也是蛮大的。通过对比二者创建的工程,我们发现工程有没浮点数支持的差别就是库文件xxxxxx.lib不同,以及编译器...

2020-04-30 21:19:31 514

转载 CodeWarrior v5.x/MC9S12(X)怎么使用printf

在CodeWarrior下是无法直接使用标准输入输出的,想来原因也很简单,单片机又没有控制台,而不同的单片机的各个端口又不同,编译器怎么知道到底往哪里printf、getchar、putchar……。为了解决这个问题,CodeWarrior提供的标准库实现中的标准输入和输出实际上分别调用了TERMIO_GetChar 和TERMIO_PutChar这两个函数,这两个函数要求用户实现。函数原型如...

2020-04-30 21:15:32 513

转载 [经验] 一种基于FreeRTOS的CPU使用率测算方法及原理介绍

1、前言出于性能方面的考虑,有的时候,我们希望知道CPU的使用率为多少,进而判断此CPU的负载情况和对于当前运行环境是否足够“胜任”。本文将介绍一种计算CPU占有率的方法以及其实现原理。2、移植算法2.1 算法简介此算法是基于操作系统的,理论上不限于任何操作系统,只要有任务调度就可以。本文将以FreeRTOST为例来介绍本算法的使用方法。本文所介绍的算法出处为随Cube...

2020-04-29 15:54:43 518

转载 CANoe TestUnit CAPL自动生成报告

本人从事汽车电子行业,因需要给客户出测试报告,诊断测试的内容项非常多,为了更高效的工作,写CAPL脚本实现。查阅官方例程TEST模块的CAPL函数功能编写测试用例 testcase UdsPhysUnlock() { ... } ... 测试界面测试报告...

2020-03-16 10:55:06 3055

转载 S32K144之FlexMem,FlexNVM,FlexRAM,System RAM, SRAM 区别与联系

参考手册中常常见到有关memory的关键字,如FlexMem,FlexNVM,FlexRAM,System RAM, SRAM,那么它们到底是什么意思呢?有什么区别和联系?参考资料[1]S32K144参考手册[2]FlexNVM Memory应用笔记:AN12003[3]EEPROM Functionality应用笔记:AN119831.汇总2.简...

2019-12-26 20:39:33 2370

转载 车载须知:cranking

1. cranking电源在ECU的重要性就不多说了。电源的稳定性,可想而知了。2. 危害可是,可是,可是,发动机发动的瞬间,所谓的cranking,会比正常模式多用些电,这会导致其他ECU供电变少,可能会灯暗下去,音响设备声音弱下去,甚至没声音正常cranking那会,电压会瞬低一会,如果在酷冷,或电池老化的时候,掉的更严重。3. ECU供应商,忙++为了应对crankin...

2019-12-17 11:02:16 1391

转载 汽车前装与后装

名词解释:前装:是指主机厂商为整车厂做配套,就类似刹车片、三滤、雨刮这些,大多都是配件厂来配套的。后装:是指主机厂家生产的产品通过经销商来走量,以渠道销售为主。4S店专供产品:是指主机厂生产的产品流通在4S店里卖,一般来说,4S店专供产品的包装和后装产品的包装不会一样,哪怕是同一厂家生产的同一车系产品。  要说做工以及系统稳定性,当然要属原装的最好了(其实有些也都是后装厂商代工的),而后装车机...

2019-11-26 14:54:58 1975

转载 CRC 算法生成多项式

标准的CRC算法的生成多项式: 标准 生成多项式 16进制表示 CRC12 x^12 + x^11 + x^3 + x^2 + x + 1 0x80F CRC16 x^16 + x^15 + x^2 + 1 0x...

2019-09-19 14:01:08 19221 1

转载 可变参数的宏定义

rintf()和fprintf()这些输出函数的参数是可变的,在调试程序时,你可能希望定义自己的参数可变的输出函数,那么可变参数宏会是一个选择。C99中规定宏可以像函数一样带有可变参数,比如 1 #define LOG(format, ...) fprintf(stdout, format, __VA_ARGS__) 其中,...表示...

2019-08-19 15:55:33 203

转载 MPC5744P-SPI

1.结构5744的SPI模块支持全双工三线同步传输,可运行在主机或从机模式,分别含有深度为5的FIFO发送和接收缓存区。其结构如下图。SPI配置允许模块发送和接收串行数据,同时也支持带FIFO缓存区的的进行扩展队列操作的数据传输。模块接收和发送的数据存放在独立的FIFO内,CPU或DMA控制器从接收FIFO读取数据,写入数据到Tx FIFO内进行发送。2、传输过程1)发送过程发送数...

2019-08-05 16:22:24 1634 1

转载 K64F的DSPI中的D是什么含义

SPI是Serial Peripheral Interface的简称。那我想问下,问什么在看K64F资料时,都把SPI称DSPI,那么前面的D表示什么含义。也没找到,比较困惑。如图:好像说Kinetis K- 和 V-series 用的DSPI,而L-series用SPI。===============================================正如slotg朋友说的,D表...

2019-07-30 14:43:50 1413 1

转载 S32 Design Studio 如何导入SDK

1、下载相应的SDK2、点击Help-> Install New Software3、Add4、Archive5、安装重启IDE即可

2019-07-30 11:23:34 2016

转载 什么是AUTOSAR规范?

AUTOSAR的由来与发展历程1AUTOSAR的由来电子技术在动力总成控制、底盘控制、车身控制以及车载信息娱乐系统等各个部分所占的比重越来越大,所占的整车成本也越来越高。电子技术已悄然成为汽车各方面功能拓展和性能提升的重要技术支撑。由于汽车电子硬件系统的多样性,ECU软件的开发受到硬件系统的制约,每当需要更新硬件时,都会导致ECU软件重新编写或大规模修改,之后还要进行一系列测试,从...

2019-05-29 14:37:48 1877

UDS ISO 14229 最全协议-全部协议 国际标准2013版

良心贡献 良心贡献 质量保证 只需2个积分,希望好评! ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS I

2022-07-23

XCP协议层标准ASAM_XCP_Part2-Protocol-Layer-Specification_V1-1-0

ASAM_XCP_Part2-Protocol-Layer-Specification_V1-1-0.pdf

2018-04-03

基于stm32的GPRS网络与CAN网络通信设计

硬件部分主要由两台PC机、stm32f103VET6微处理器及其外围器件、GPRS模块等组成,并且由网络调试助手、串口调试助手、新花生壳等软件工具协助。软件部分主要利用MDK4.72进行程序设计。主要实现CAN网络与GPRS网络信息数据的相互传输,并充分利用单片机的数据处理能力,实时监控两个网络的通信状态并在其驱动的彩色液晶屏上进行显示。考虑到数据传输的效率、可靠性、实时性以及微处理器的资源利用率,使用了stm32f103VET6微处理器的串口DMA接收和DMA发送功能,这对来自于GPRS网络和CAN网络的大数据大有裨益。另外,由于经济因素,本文设计使用了一台PC机和一个CAN转换器模拟CAN网络里的一台主机,使用另一台PC机模拟GPRS网络里的服务器。

2015-10-25

msp430、51单片机驱动24L01的C程序

msp430、51单片机驱动24L01的c程序

2014-12-25

信号与系统教学

该实验平台系长期从事一线教学老师及一批学习优良的学生合作开发,有助于学习信号与系统这么课程

2013-09-30

信号与系统虚拟实验平台

信号与系统虚拟实验平台,专注于在实验中学习信号与系统

2013-09-26

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

TA关注的人

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