如何用KIT_AURIX_TC275_LITE板卡实现多核点灯

使用tc275的三个核心,轮流休眠待机,分别控制板卡上的led灯,如core0检测按键按下,唤醒core1翻转led1,一秒后,唤醒core2翻转led2,系统休眠。
那我们今天就来看看如何用kit_aurix_tc275_lite板卡的三个核心实现这个任务。
一起来看下方项目介绍。
硬件介绍
项目使用的开发板为英飞凌的 kit_aurix_tc275_lite 开发板,其搭载的tc275芯片是一个三核的车规级芯片。
本项目使用了全彩lcd、按键与姿态传感器模块,并使用spi扩展接口控制led灯板。
功能展示
本项目实现的功能非常简单,就是点击按键,一个led翻转,另一个led等一秒钟之后翻转。
实现思路
首先配置环境
在英飞凌官方的例程中找寻相关的,学习其api
在b站搜索英飞凌多核视频学习
把上述相关程序缝到一块。实现过程
1. 环境配置
我开发的这几天官网的下载安装包功能不知道为什么不好使了,而且之前做智能车使用的1.3.0版本过于老旧,甚至不支持导入例程的功能,于是在这里分享一个群友分享的1.6.0版本的安装包:
2. 多核开发
多核开发的主要逻辑写在cpu0中,cpu1与cpu2只负责翻转对应的led,且长期处在休眠模式。
cpu0使用一个定时器stm0定时200ms轮询检测按键是否被按下,如果被按下,就依次唤醒另外两个核,而后会让cpu0自己睡眠。每个定时器中断到来,cpu0都会被唤醒,所以中断处理函数中什么都不用写即可。
遇到的问题及解决办法
1. 编译不过问题
不知道为什么ads编译不过去,此时右键左侧文件导航栏中的项目文件夹,点击clean project即可。
2. 延时函数问题
遇到了一个脑残问题,我把延时函数写到了定时器里面,且延时时间超了定时器时间,以至于一运行就卡死,之后注意别犯傻了。
3. 外设初始化位置问题
在写代码的过程中 gpio初始化的位置很有讲究,其实在任意一个核初始化,别的核都是可以用的,但是问题是如果你唉cpu0核中初始化cpu1核用的外设,由于三个cpu是同时在跑的,如果cpu0还没有初始化结束,cpu1就已经跑到了使用gpio的语句,就寄了,所以为了保险起见,最好哪个核用哪个外设,就把这个外设的初始化写在这个核的代码里。


RF射频技术的主要应用领域有哪些
启扬智能参加第七届瑞芯微开发者大会
E资讯:智能手机本周有哪些新品?
金银河李小云:“锂电池电极智能制造先进方法”的精彩演讲
字母检索线路板词汇中英文对照
如何用KIT_AURIX_TC275_LITE板卡实现多核点灯
工业连续超声波振动筛电源发生器设计
UltraSoC和Agile Analog携手共同抵御网络攻击
USB带宽科普
Diodes推出PowerDI5封装的超势垒整流器(SBR)系列
OPPO也开始入局智能手表其他品牌会受到挑战吗
电源抑制比(PSRR)
三星将在新增的 31 个国家和地区的 Galaxy 商店正式推出三星健康监测应用
全球物联网将成为下一代互联网,应未雨绸缪抢占这个制高点
以太网线缆的配件到底有多少
用树莓派制作笔记本电脑
新型全光城市底座该如何构建,华为呼吁进行规划布局
电气控制与PLC的区别
JMP用于分析程序开发
回声探测技术可帮助计算鱼类数量