在TriCore架构芯片上移植 RT-Thread
简介:
TriCore是德国英飞凌科技公司旗下的第一个为实时嵌入式系统而优化的统一的、32位的微控制器-DSP(Digital Signal Processing)处理器架构。TriCore的ISA(Instruction Set Architecture),即指令集体系结构,将微控制器的实时能力、DSP的计算能力以及RISC(Reduced Instruction Set Computing)负载 / 存储体系结构的高性能 / 价格特性,结合在了一个紧凑的可重编程核心中
为了支持RTOS(Real-Time Operation System)代码中断的软件发布,TriCore架构定义了特殊的四个没有连接到外设或芯片上的任何其他模块上的CPU服务请求节点,这些SRN的中断请求位只能由软件来设置。
TriCore 提供了一种硬件的上下文机制,这种机制是专为嵌入式实时操作系统设计的,他的目的就是为了能提高线程切换的效率。
套用Tricore架构手册的话:在Tricore架构中,RTOS层可以做的非常薄,硬件可以有效处理一个任务与另一个任务的大部分切换。
该架构在任务模型的使用中有相当大的灵活性,在相对少的架构约束下,系统设计人员可以选择最优秀的实时执行和软件设计方法以使用应用的需求
一些后面要用到的操作介绍
Tricore 1.6指令(RISC):
MFCR : Move From Condition Register
MTCR : Move To Condition Register
这两个指令用来存取核心寄存器, 也就是所谓CFSR:Configurable Fault Status Register
__disable(); 工具链直接提供的函数:关闭芯片全局中断 ICR.IE = 0;
IE 位是一个全局的中断使能位。进入中断时,IE 位由硬件自动置 0,当中断服务函数执行 rfe 指令(退出中断)后,IE 位自动恢复进中断前的值。另外, IE 位的值还可以被 enable; disable; mtcr; bisr; 等指令更新。
__enable(); 打开芯片全局中断 ICR.IE = 1;
上下文简介
一个任务是一个独立的控制
线程,任务的状态由它的上下文决定,当任务被打断时,处理器使用该任务的上下文恢复被打断前的执行现场,并继续执行任务。
Tricore上下文类型:
Upper context: 由上部地址寄存器A[10] 到 A[15] 和上部数据寄存器D[8] 到 D[15]组成 .上层上下文还包括PCXI和PSW.这些寄存器被设计为非易失以供函数调用 (它们的内容在调用过程中保留).
Lower context: 包含上部地址寄存器A[2] 到 A[7] 和上部数据寄存器D[0] 到 D[7],A[11] (Return Address) and PCXI
上下文保存到内存时,会占用16word的空间,这被称为上下文保存区域(CSA)
在TriCore架构芯片上移植 RT-Thread相关推荐
- 嵌入式实时操作系统μC/OS-Ⅱ 在DSP芯片上的移植与测试
[摘要]为了降低DSP 系统软件的开发难度,保证系统的实时性,缩短开发周期,将嵌入式实时操作系统μC/OS-Ⅱ移植到DSP 芯片中是目前比较常用的一种方法.本文介绍了嵌入式实时操作系统μC/OS-Ⅱ的 ...
- rtthread在cortex-m4架构芯片的启动流程
rtthread在cortex-m4架构芯片上的启动流程 startup_pisces.S: 栈的配置(stack段) 堆的配置(heap段) 异常向量的配置(vector段)(暴露__Vectors ...
- 在Tricore上移植μC/OS-III——0.1总述
本文是<在Tricore上移植μC/OS-III>专栏文章的第一篇,先简单介绍下整个项目. Tricore是英飞凌旗下的一款单片机内核,目前汽车电子领域常用的TC2XX和TC3XX等系列的 ...
- RT Thread Free Modbus移植问题整理
RT Thread Free Modbus移植问题整理 问题描述: 在读写寄存器中,写数据正常,只能读1个寄存器的值,多个值会异常. 在移植过程中发现串口(或RS485)数据接收长度异常. 一.环境描 ...
- mysql移植海思_nniefacelib是一个在海思35xx系列芯片上运行的人脸算法库
nniefacelib nniefacelib是一个在海思35xx系列芯片上运行的人脸算法库,目前集成了mobilefacenet和retinaface. 后期也会融合一些其他经典的模型,目的也是总结 ...
- 正点原子delay函数移植到rt thread操作系统(HAL库)
正点原子教程中涉及到的操作系统只涉及了UCOS的教程,其中例程的system文件夹中的delay.c函数只是适配了UCOS. 下面将delay.c函数移植到rt thread中,使用的bsp是rt t ...
- 伪RTOS-ProroThread在CH573芯片上的移植
沁恒的CH573芯片是一个非常便宜好用的蓝牙芯片,采用了RISC内核,主频可达60M,资源是18KB RAM + 448KB FLASH + 32KB DataFlash. 在我们使用了芯片的蓝牙库后 ...
- rt thread studio使用QBOOT和片外flash实现OTA升级
我们这里要使用单片机外部flash作为OTA的下载分区,外部flash硬件连接关系 PB3-->SPI3_CLK PB4-->SPI3_MISO PB5-->SPI3_MOSI PE ...
- stm32移植paho_如何在STM32上移植Linux?超详细的实操经验分享
原标题:如何在STM32上移植Linux?超详细的实操经验分享 刚从硬件跳槽为嵌软时,没有任何一丝的准备.一入职,领导就交代了一项特难的任务--在stm32上移植linux! 瞬间我就懵了,没办法硬着 ...
最新文章
- 关于Iframe之间以及与父窗体的值传递
- ASP.NET Web API 特性
- 学习笔记(二)——直方图均衡化和匹配
- 基于 Kyma 的企业级云原生应用的扩展案例分享
- SAP WebIDE 里的 neo-app.json 文件用途
- mysql权限清理_mysql清理用户权限
- 进程的创建与可执行程序的加载
- 在web.config里注册HttpModule
- Grafana中文版本
- opencv之解决无法从“cv::Mat”转换为“IplImage”
- 网络医疗的进步让智能穿戴设备找到市场新蓝海
- [译] PWA 实战:Tinder 的性能优化之道
- Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper.........[已解决]
- JavaScript事件函数
- logTracker错误日志跟踪组件(二)
- 《Linux就该这么学》学习笔记
- 如何将证件照缩小到20k像素不变?怎么把照片压缩到20k?
- 完美世界2018年净利润17亿元 同比增长13.16%
- 需求定律公式和需求弹性推导——《可以量化的经济学》
- python中控脚本_[宜配屋]听图阁
热门文章
- STM32芯片烧录后上电不运行
- 【活动打卡】【Datawhale】第16期 机器学习算法梳理(AI入门体验) Task02:基于决策树的分类预测
- html长图转换成pdf,支持把各类文档转换成 HTML5(SVG)接口、长图片、PDF 。word转pdf、word转html5、pdf转网页html5、pdf转图片的接口...
- 分享Android资深架构师的成长之路,建议收藏
- 使用Pandas绘制股票均线
- Python的异步编程介绍
- matlab共形映射程序,从共形映射角度看Schwarz引理
- linux虚拟桌面设置不同的背景,给不同虚拟桌面设置不同壁纸,将windows的虚拟桌面最大化使用...
- 浪潮官网服务器型号,浪潮服务器有哪些型号,哪位了解?
- linux内核版本指什么意思,Linux的内核版本是怎么回事