【AUTOSAR】AUTOSAR开发工具链(二)----TASKING库的封装

文章详细描述了集成工程的步骤,包括源代码的拷贝、工程设置的比较、库文件的生成和集成。在集成过程中遇到的程序跑飞问题,是由于中断处理函数未被正确链接,解决方案是在每个_Irq.c文件中添加调度函数。此外,还提到一个与(Tasking_C_TriCore_)相关的编译错误,该问题源于工程设置,可能缺少特定宏定义,需要检查和修复工程配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、集成工程

  1. 步骤:
    1. 拷贝模块代码:

将源工程的所有模块代码拷贝到库工程,将源工程拷贝一份,并删除不必要的文件作为释放工程,完成结果如下图:

源工程(左)VS库工程(中)VS 释放工程(右)

 

 

 

    1. 比较源工程和库工程的设置:

因为源工程可能在设置里面配置了一些和当前软件匹配的预编译信息以及其它选项,故有必要使用beyond compare比较两个工程的差异点,之后编译出错时,可以回头检查一些设置的差异。比如下图:

 

    1. 编译生成库文件(.a)

生成的库文件位于debug目录下。

    1. 集成库文件到释放工程

将库文件拷贝到释放工程,编译,即可生成可执行文件(elf、hex)

  1. 可能遇到的问题:
    1. 程序无法正常运行(跑飞):

图片左半边是完成封装编译后的软件运行轨迹(程序跑飞了,死在了Os_const_tasks0),右半边是源工程正常运行的轨迹。

 

 

 

问题原因: 库各个模块的*_Irq.c里面的函数,无法被release工程链接,导致中断处理函数为空。

解决方法:在各个*_Irq.c文件,增加一个函数,并在运行中调度。

 

 

 

    1. Tasking工程设置问题导致报错_TASKING_C_TRICORE_。

关键词:_TASKING_C_TRICORE_  #error "No compiler defined!";ctc E201

问提描述:AV012封库的时候,报了如图错误,原因是缺少某些宏定义。再原来的工程里面检索这些宏定义,也是没有找到,但是原工程是可以编译通过的。

解决思路:

可以定位是工程设置的问题了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值