AUTOSAR源码分析之一

AUTOSAR CANIF驱动中间层接口分析:canif.c/can.c
1、驱动初始化
       在Can_Init关中断处理中安装CAN线中断:Irq_Save——————Irq_Restore
       StartupTask->CanIf_InitController->Can_InitController->Can_Init->ISR_INSTALL_ISR2("DCAN1Level0",Can1_InterruptHandler,CAN1_LEVEL_0,2,0)->Can1_InterruptHandler,直接封装Can_InterruptHandler
       初始化区分Can_GeneralType,中间是一个unit8 CanIndex,定义为一个驱动模块的实例,序号从0开始

2、数据发送:
     数据发送看到两种情况,一是通过定时器触发消息队列发送,另一种是直接触发发送例程

     A、TASK(SchM_BswService,任务注册)->CanNm_MainFunction_All_Channels->CanNm_MainFunction->CanNm_Internal_TickMessageCycleTime->CanNm_Internal_TransmitMessage->CanIf_Transmit->Can_Write
     B、GEN_TASK_HEAD(任务注册)->MainFunctionTask->Com_MainFunctionTx->Com_Internal_TriggerIPduSend->PduR_ComTransmit->PduR_ARC_Transmit->PduR_ARC_RouteTransmit->J1939Tp_Transmit->J1939Tp_Internal_DirectTransmit->Ca

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于Autosar源码分析,我可以给你一些基本的指导和建议。Autosar是一种开放的软件架构标准,用于汽车电子系统的开发。它定义了一系列的软件组件、通信接口和配置规范,以支持汽车电子系统的模块化开发和跨平台的集成。 要进行Autosar源码分析,你需要先了解Autosar标准的基本概念和架构。查阅Autosar标准文档,可以帮助你理解Autosar的各个层次和模块之间的关系。 对于具体的Autosar源码分析,你可以按照以下步骤进行: 1. 选择一个目标模块或组件:Autosar涵盖了广泛的领域,例如通信、诊断、网络管理等。选择一个你感兴趣的模块或组件,然后获取相应的源码。 2. 阅读文档和规范:在开始分析源码之前,仔细阅读相关的文档和规范,了解该模块或组件的功能和设计原理。 3. 了解构建系统和编译选项:Autosar源码往往需要使用特定的构建系统和编译选项进行编译。查阅相关文档,了解如何正确地构建和编译源码。 4. 调试和跟踪代码执行:使用调试工具,跟踪源码的执行流程,观察变量的值和函数的调用关系,帮助理解代码的逻辑和实现。 5. 绘制模块间的关系图:根据源码分析结果,可以绘制模块间的关系图,帮助理清各个模块之间的交互关系和数据流动。 6. 阅读其他开发者的经验和讨论:Autosar是一个广泛应用的标准,有很多开发者在实际项目中使用过相关的源码。参与相关社区或论坛,阅读其他开发者的经验和讨论,可以加深对源码的理解。 请注意,Autosar源码分析需要一定的经验和专业知识。如果你是初学者,可能需要花费一些时间来学习相关概念和技术。同时,Autosar源码往往是商业软件,可能需要购买相关的许可证才能访问和使用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值