FreeRTOS在英飞凌TC3xxx上移植

本文详细介绍了如何在英飞凌TriCoreTC33x系列微控制器上移植和使用FreeRTOS,包括准备工作、配置、移植过程和应用创建,以及验证方法。
摘要由CSDN通过智能技术生成

摘要

本篇文档主要用来介绍FreeRTOS在英飞凌TriCore TC33x系列上的移植和使用

FreeRTOS介绍

FreeRTOS自从被AWS收购后,不断的发展壮大,使用的人群非常庞大,FreeRTOS 是市场领先的面向微控制器和小型微处理器的实时操作系统 (RTOS),与世界领先的芯片公司合作开发, FreeRTOS 通过 MIT 开源许可免费分发,包括一个内核和一组不断丰富的 IoT 库,适用于所有行业领域。FreeRTOS 的构建突出可靠性和易用性。

TC3xx介绍

TC3xxx系列是英飞凌推出的基于Tricore架构的32微控制器,性能高超,广泛应用于汽车电子行业对安全要求比较高的部件,如转向,刹车,等高安全等级的地方。具体的性能参数可以参考官方的数据手册,这里不在赘述。

9f0126329570fe29d8a9928b28c63b7e.png

动手移植

移植前需要自己下载准备FreeRTOS软件源码包,这个是开源的,无论是在官网还是Githhub都可以下载到,除此之外还需要安装开发环境IDE,这里我们使用免费的AURIX Development Studio V1.9.

新建工程

在ADS下新建一个工程

0f1538ec63a021948c6866c6b46ef397.png

选择芯片

97aa7739642f0b231e42cabac26ed862.png

879015453b8bdb718c049e1f91f6a3fe.png

添加文件夹

完后成在工作空间下建成一个基础工程,在工程目录架构下新建两个文件夹OS和AppSw,一个用来存放RTOS源码包,一个用来存放我们的应用,建好后,加载如工程,如下图所示

fdf03183806e38d0255c61e6ceea876f.png

修改配置

首先修改FreeRTOSConfig.h文件对系统进行相关配置和裁剪,因为我们使用的芯片是300M,所以将CPU时钟频率修改为300000000Hz,心跳为1ms,设置堆栈大小,根据实际调整,选用STM0作为系统的心跳定时器,也可以选用其他定时器。

00a202a1ce1139efdd14998459a57998.png

401f8d3814ad6d03b081f24f2668b588.png

修改移植

对port文件夹下的移植文件进行修改,这里如果是参考官方的文档,修改很少,推荐大家使用,文末我会放上移植好的工程供大家参考。

3d3a7edb80c996922637d3374ed27972.png

496b24748ce6eddf308aa232099c8946.png

建立应用

修改OsTasks.c文件

4c1058cb3efe11f9ea5de61aca492160.png

创建任务

d884565bb1804030a9ab17a6150f73ca.png

完成任务实现函数,就可以调用使用了,这里我们建立了两个任务,任务1是每200ms闪烁LED1,任务2是每500ms闪烁LED2.

c8f036b4b366c3a79ce6695e65ddf5f6.png

验证

对任务进行初始化,并开启调度器,如果编译没有错误就可以将代码下载到板子上进行验证,文中工程使用的硬件是AURIX TCxx4 lite Kit V1版本的硬件。可以看到两个LED按照设计的预期执行闪烁,证明正常运行,后期可基于这个工程添加更多功能。

509b960d6b6ed0ed9e873bde93d23540.png

总结

之前很早给大家介绍过在ARM平台下移植freeRTOS, 今天这个移植是基于Tricore平台架构,可以看到只要掌握移植的关键步骤,再加上参考一些资料,还是很容易移植成功,随文附录工程,供大家参考

链接:https://pan.baidu.com/s/1z0GwKzxf4y78WQIjcDO7XA

提取码:ytnb

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值