快捷搜索: 王者荣耀 脱发

在Tricore上移植μC/OS-III——0.1总述

本文是《在Tricore上移植μC/OS-III》专栏文章的第一篇,先简单介绍下整个项目。

Tricore是英飞凌旗下的一款单片机内核,目前汽车电子领域常用的TC2XX和TC3XX等系列的单片机都是基于Tricore内核,有双核有多核,还有1个主核+一个校验核这种“1.5核”配置。我这次用的是TC265,双核。

做这个项目一是可以了解Tricore内核单片机的底层架构和开发方法,二是可以学习RTOS。RTOS选择了最新的μC/OS-III,我觉得相较于μC/OS-II最大的更新就是支持了时间片轮转,即允许存在相同优先级的任务,运行时为每个优先级相同的任务均匀分配运行时间,交替运行,共享内核。μC/OS-III资料会相对少一点,目前还找不到在Tricore上运行μC/OS-III的例程。我做整个项目大概花费了一个半月的时间,项目完成后,可以对Tricore的底层架构和μC/OS-III的源码有较为深刻的理解。

本专栏最开始会先用单核来讲解如何将μC/OS-III移植到Tricore内核上,然后会讲解如何修改μC/OS-III的源码 ,实现多核的调用。专栏最后我会给出我的源码,文章中提到的所有知识点都在源码中有实现。我的源码中只调用了两个核,但其实调用多核的原理和双核相同,在源码中修改核数量即可。

关于开发环境,我使用的是Aurix Development Studio这个软件,它是英飞凌为试用和学习阶段提供的开发平台,集成了Tasking compiler 和Debugger,带有免费的iLLD底层软件库,我会先写一写如何使用这个软件以及iLLD库。

<<<总目录>>>

1 项目准备

2 CSA机制详解

3 实现上下文切换

4 陷阱(Trap)和中断(Interrupt)

5 调用多核

经验分享 程序员 微信小程序 职场和发展