7 LiQian999

尚未进行身份认证

我要认证

等级
TA的排名 2k+

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

AutoSar和OSEK网络管理比较

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

2020-09-15 10:32:09

STM32堆栈溢出问题

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

2020-08-29 10:26:32

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

原以为自己对指针掌握了,却还是对这个问题不太明白。请教! 程序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

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

/*本程序时为了验证用宏来做 * 两个数的大小比较的写法*/ #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

ROM和RAM测试总结

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

2020-08-12 13:44:50

ROM和RAM测试总结

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

2020-08-12 13:42:30

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

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

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

2020-07-22 14:12:36

小时候 我有这么一个梦想

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

2020-06-25 20:01:43

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

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

2020-05-27 10:16:10

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

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

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

2020-05-18 10:10:53

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

git commit的规范

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

2020-05-11 17:26:26

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

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

2020-04-30 21:19:31

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

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

2020-04-30 21:15:32

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

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

2020-04-29 15:54:43

CANoe TestUnit CAPL自动生成报告

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

2020-03-16 10:55:06

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

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取