自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZGX的博客

ZGX的博客

  • 博客(147)
  • 收藏
  • 关注

原创 hook函数记录

tasdasdass

2023-04-06 09:35:58 188 1

原创 大小端的顺序

大小端顺序

2023-02-07 09:57:47 184

原创 UDS程序完整

UDS故障诊断以及boot程序

2022-08-28 10:01:21 1367 3

原创 J1939的报文实际值与报文值

报文值*分辨率+偏移量=实际值

2022-05-27 10:39:05 388

原创 S12X的spi通信引脚复用

2021-12-08 21:14:58 2719

原创 codewarrior的全仿真模式失误

调程序发现codewarrior下载进程序去之后没问题,板子也没问题,一顿调试也没发现问题,最后faxiancodewarrior处于离线仿真模式,我他妈的吐了

2021-12-08 15:33:12 297

原创 simulink模型输出在tlc文件里面怎么设置

在tlc文件里面设置simulink模型的输出有多少个就设置多少个,这里有8个,所以就从0设置到7上面设置完之后的调用就按照上图这样在程序里面就生成模型设置了八个输出,然后codewarrior里面生成的程序是按照tlc文件里面设置的......

2021-12-06 10:59:43 721 1

原创 simulink编写底层驱动模块的c文件遇到的问题

函数中的这种赋值名字不可以一样,比如上文的Canmodule和CANMODULE不能起一样的名字,否则会报错,编译不通过报的如下错误The ‘MultiInstanceERTCode’ parameter will be removed in a future release. Please set the ‘CodeInterfacePackaging’ parameter instead....

2021-12-03 10:47:08 653

原创 slblocks.m文件的解释

这个文件的名字是固定的,不能修改的function blkStruct = slblocks% Information for “Blocksets and Toolboxes” subsystemblkStruct.Name = sprintf(‘Embedded Target\n for s12x’);blkStruct.OpenFcn = ‘demo’;blkStruct.MaskDisplay = ‘disp(’‘s12xDeviceDrivers’’)’;//上面三行没什么作用主要是下

2021-11-21 15:56:38 784

原创 simulink创建数字量输出底层驱动的tlc文件介绍

%implements s12x_dio_out “C”//上面这一行必须和.c的文件名一致//一般的tlc文件都会有两个函数,一个是Start(block, system) Output,一个是 Outputs(block, system) Output//Start(block, system) Output这个函数生成的代码是放在模型的初始化函数里面, Outputs(block, system) Output这个函数生成的代码是放在模型的执行函数(step())里面%function St

2021-11-21 15:24:39 1299

原创 创建数字量输出的底层驱动mexw32文件的解释

这样操作就会生成mexw32的文件,为什么要执行这步操作的原因就是,通过这一步可以实现matlab对S-Function的调用,因为matlab不能直接调用.c的文件,只能通过先把.c的文件转换成mexw32的文件才能使用...

2021-11-20 16:01:35 440

原创 创建数字量输出的底层驱动.c函数S-Function的解释

#define S_FUNCTION_NAME s12x_dio_out// s12x_dio_out 这个必须与文件夹的名字一样#define S_FUNCTION_LEVEL 2#include “simstruc.h”enum {DIO_PORT=0,DIO_BIT,INIT_VALUE,N_PARAMS};//上面是创建一个枚举类型,相当于他的寄存器,上面定义的参数是用户双击simulink里面模块修改#define DIO_PORT(S) (mxGetSc

2021-11-20 14:55:59 573

原创 创建一个底层驱动的封装有三个文件组成

.c形式的S-Function配置自定义目标代码的tlc文件编译之后的mexw32文件

2021-11-20 09:50:17 378

原创 matlab生成底层驱动封装库make_rtw_hook.m

这个文件是在模型生成代码的各个过程都会存在作用.这个函数的作用就是规定编译的过程%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 雨的旋律汽车电子开发板% 网店地址:http://shop108493800.taobao.com/% 技术支持QQ群:153167747%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2021-11-19 19:38:35 579 1

原创 matlab生成底层驱动封装库的main.tlc文件

/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 雨的旋律汽车电子开发板% 网店地址:http://shop108493800.taobao.com/% 技术支持QQ群:153167747%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/%selectfile NULL_F

2021-11-19 16:31:21 724

原创 matlab生成底层驱动封装库file_process.tlc文件

这个文件是生成的模板文件,调用生成主函数的文件,是在回调函数里面决定是生成这个文件是根据模型的采样速率设置调用哪个文件,这个写的和视频介绍的不大一样,视频介绍的是根据单采样还是多采样设置不同的调用主函数主要大的区别还是这个 %include “MC9S12XEP100_main.tlc”设置任务调度韩式调用的是哪个#include里面的main.tlc文件/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2021-11-19 16:23:28 334

原创 matlab生成底层驱动封装库时tlc文件调用的回调函数

function MC9S12XEP100_callback_handler(hDlg, hSrc)这个回调函数的作用就是设置生成代码的时候解算器的设置% 设置并锁定以下参数slConfigUISetVal(hDlg, hSrc, ‘SolverType’, ‘Fixed-step’);//这里设置的是求解器的类型,为定步长slConfigUISetEnabled(hDlg, hSrc, ‘SolverType’, 0);//这个函数就是为了设置是否锁定simulink配置界面里面的修改的界面,

2021-11-19 16:05:43 747

原创 matlab生成底层驱动封装库的TLC文件

MC9S12XEP100.tlc(系统目标文件)就是下图在simulink界面中选择的System target file是链接编译器的%% SYSTLC: MC9S12XEP100 TMF: none MAKE: make_rtw EXTMODE: ext_comm上面的MC9S12XEP100 就是下面的描述,修改这里可以修改描述文件后面几个TMF和MAKE等的设置对应的是下图中的勾选是否选择/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2021-11-19 15:40:33 3538

原创 PID位置式

增量式的PID公式算出的输出的∆u的累加即是作为实际对被控对象的控制量,因为第一次计算出的∆u接近设定值,因为对于位置式的第一次计算∆u时是没有上一次反馈值的,所以没有偏差,实际上就是对在设定值加了KP成了一个系数输出就是∆u,之后的菜有了偏差,所以之后作为实际被控对象的控制量就是∆u的累加...

2021-10-15 16:29:52 443

原创 三极管电阻作用

左上角的10K限流,左下角的10k意思是没有信号的时候将引脚拉低到地

2021-10-10 14:45:26 352

原创 tcc275CAN报文发送多帧只发送一帧的原因

在这个函数中IfxMultican_MsgObj_sendMessage最后加while(hwObj->STAT.B.TXRQ==1);即可

2021-09-14 15:34:43 732

原创 UDS定时参数

P是应用层时间参数NA_S等是网络层S是会话层参数

2021-08-25 11:20:11 308

原创 tc275的bootloader跳转问题

有的中断换一个核就好使了,不知道为啥,目前这么用的

2021-06-25 15:59:09 457

原创 EP100含有.S文件的bootloader

整个程序从哪里运行是由复位向量的地址决定的,有.S的boot连接文件从_BooStart 开始运行是这里决定的还有这一行初始化的作用

2021-06-09 15:03:43 82

原创 大小端

摩托罗拉 大端模式 报文发送的时候先发送低字节

2021-05-21 11:25:18 77

原创 uds定时参数

2021-05-14 19:37:04 245

原创 uds,老化计数器

AgingCounter也就是处于老化中DTC的计数。当一个OpreationCycle没有检测到testFailed,AgingCounter就会自加1,同时DTC Status的BIT就会清0。当AgingCounter计数达到一定的阈值后,此故障已经完成了老化,可以自愈。同时DTC Status的BIT3清0。AgingCounter就是一个故障发生了,他就处于老化中的故障,然后下个循环没有检测到故障,AgingCounter这个老化中的故障就加1,一直到一定数值,这个故障都没发生过,就表示这个故障

2021-05-07 10:14:39 3450 2

原创 crc32

要发送的数左移32位,除以上面gx的项组成的二进制数,100000100110000010001110110110111然后的出的余数加在左移的数据后面,就是实际发送的数据,接收方接收到数据后,除以上面那个二进制数,如果余数是0,表示接收正常。...

2021-05-06 16:58:32 218

原创 正则表达式

info = re.findall(r’\n\s+([0x][a-zA-Z0-9]+)\s+(\w+)’, mapInput[startpos:endpos])这个正则表达式是取\n\s+([0x][a-zA-Z0-9]+)\s+(\w+)符合上面这一块的字符串的括号中()的字符给info

2021-04-25 14:48:59 62

原创 tc275调试总结

can部分对于发送函数来说最主要的是设置扩展帧还是数据帧,这里的ID只是给了个默认的,具体的ID是在下面的发送函数中给的,想要是什么ID就是什么ID,但他是扩展帧还是数据帧要看上面初始化设置的AD部分扫描模式需要启动扫描IfxVadc_Adc_startScan(&adcGroup[0]);IfxVadc_Adc_startScan(&adcGroup[1]);...

2021-04-13 20:00:56 1065

原创 tc275怎么移植到ram中去,把函数

https://blog.csdn.net/weixin_30319097/article/details/101342009?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase将函数载入到RAM中运行需要以下三个步骤:(1)用

2021-04-07 14:11:22 640

原创 tc275的flexcan的接收与发送

这三行的值最好一样,不一样好像不行,接受到的数据会混乱

2021-04-03 09:49:10 401

原创 tc275的flash

首先介绍命令上面这是各种命令命令怎么用是根据下面的这种擦除是下面的函数sector_addr = IfxFlash_pFlashTableLog[g_Pflash.sector].start;这个设置要擦除的扇区endinitSfty_pw = IfxScuWdt_getSafetyWatchdogPassword();这个获得解密的密码给下面使用IfxScuWdt_clearSafetyEndinit(endinitSfty_pw);这个清除对寄存器等的保护IfxFlash_eras

2021-04-01 20:38:33 1327 2

原创 TC275的启动

2021-03-31 16:19:16 550

原创 tc275的重定位

修改这一行可以改变用到的中断向量的地址(程序里用到的CAN和STM中断),偏移量没有改变,只是改变了他的源地址改变下面三行分别改变了三个核的中断向量的起始地址以核1为例子,三个核的中断向量(IfxCpu_Trap_vectorTable0,IfxCpu_Trap_vectorTable1,IfxCpu_Trap_vectorTable2)这三个,和上面的具体用到的中断向量的联系不知道是什么。都是占了0x1f3的字节大小,因为程序写在核1的工程里面,所以他的用户程序就是顺着核1的中断向量表往下写的

2021-03-30 20:06:29 479

原创 英飞凌tc275地址划分在英文数据手册222页

2021-03-30 14:58:09 449

原创 map文件

section .text段:存放代码section .rodata段:存放只读数据section .noinit段:存放不需初始化数据section .bss段:存放默认初始化数据section .data段:存放已初始化数据

2021-03-29 10:33:25 156

原创 UDS的19 04读取快照信息解析

在这里读取全部快照信息的函数uint8_t currentRecord = SnapShots[0].snapshotRecord;这一行先将第一一个快照信息赋值进去给currentRecord,然后将所有snapshotRecord和第一个相同的信息读出来,同时currentRecordNumber++;这个记录数量的值自加一等相同的读完了然后在else里面的currentRecord = SnapShots[i].snapshotRecord再把下一个重新赋值,然后重新在上面的if里面把与这个的s.

2021-03-28 21:53:05 6556 2

原创 故障诊断的void DtcHandle(DTCNode* DtcNode)

void DtcHandle(DTCNode* DtcNode)这个函数在诊断初始化里面将初始化为FD但是本人的理解是在0x14清除诊断里面设置为0x50,最好运行的时候设置一下。然后下面再运行0x19读取错误数据,每次在初始化的时候先运行一下。然后开始讲解void DtcHandle(DTCNode* DtcNode)这个函数目前本人的理解读取错误只是读取标志是TestFailed的认为是错误。...

2021-03-27 15:20:45 126

原创 s32designer for ram的设置

2021-03-23 10:27:26 757 3

空空如也

空空如也

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

TA关注的人

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