英飞凌的芯片在汽车电子里用得可谓是颇多,最近刚好在摸TC3系列的CAN模块,来简单聊聊MCAL的最小工程。
一个MCAL的最小系统通常就是做一个IO口的状态翻转,那实现这个在MCAL中要怎么做呢?
第一步打开tresos,按照下图的顺序建立或选择WorkSpace。

第二步则是建立工程,选择目标芯片型号,输入工程名字,以及选择必要的模块,包括Irq、Mcu、Port、Dio、Resource、McalLib、Stm等,详细的步骤如下图所示。

第三步则是配置各个模块,首先是Resource模块,主要配置芯片的具体类型、主核的选择、多核资源的分配,具体操作如下图所示。
第四步则是配置Mcu模块,Mcu模块主要是实现时钟的配置,复用资源的配置,复位、 Mcu模式、 GTM、 Dem相关等的配置。
首先是General配置,关闭模块的Dev错误检测功能,关闭多核错误检测功能,关闭Safety相关错误检测功能,如下图所示。

然后则是各个其他模块的参考时钟配置,下图是配置STM的时钟频率。

第五步则是配置Port模块,具体配置模块port的步骤如下所示。

第六步则是配置Dio模块,除了General页面配置关闭模块的Dev错误检测功能,关闭Safety相关错误检测功能,开启端口翻转API外,则是将在Port模块中配置的引脚在Dio做映射。
配置这些完之后,整个工程的基础配置基本差不多了,可以开始检验工程,根据报错进行小修小改,如下图所示。当工程不报错,就可以生成代码,将生成的代码导入到tasking或者hightec进行代码集成了。

聊聊自动驾驶应用层软件开发
一文搞懂CAN收发器TJA1145
车载抬头显示系统(HUD)历史及发展
车身控制器功能规范
小鹏P7的热管理系统详解
大众ID4.X内部ECU技术细节整理
比亚迪海豹整车技术整理
揭秘理想的整车电子电气架构
国内主机整车EEA架构汇总
谈谈Bootloader自更新
谈谈对两家AUTOSAR工具看法
汽车软件需求是如何变成用户功能?
汽车E/E架构的网络安全分析
电子电气架构设计需要考虑哪些方面?
分享不易,恳请点个【👍】和【在看】