当前位置: 首页 > news >正文

C6678-缓存和内存

C6678-缓存和内存

  • 全局内存映射
  • 扩展内存控制器(XMC)-MPAX内存保护与地址扩展
  • 使用例程
  • 缓存

全局内存映射

在这里插入图片描述

扩展内存控制器(XMC)-MPAX内存保护与地址扩展

在这里插入图片描述
每个C66x核心都具有相同大小的L1和L2缓存,并且可配置为普通内存使用。
每个核心也都有独立的MPAX(隶属于XMC),主要功能如下:
a) 将32bit逻辑地址映射到36bit物理地址上
b) 提供内存保护功能
c) 支持16个可配置映射段如下。

在这里插入图片描述
注意:复位后Segment0映射起始地址为00000H,但内部CGEM配置空间不可映射,因此实际上只映射了4MB共享内存。
应用实例:
这是一个单镜像的多核应用实例,每个核心共享代码段,因此代码段物理地址相同,数据段通过MPAX分别映射到不同的物理地址空间,但实际上对于每个核心的应用程序而言,所访问数据段的逻辑地址相同。

在这里插入图片描述

MPAX的段寄存器,分别对应16个段。

在这里插入图片描述

在这里插入图片描述
映射逻辑地址/物理地址的第12位均为0,也就是说映射最小单位为4KB。

使用例程

本例程采用单镜像加载,Core0映射4MB的共享空间,进行映射确认;Core3和Core4分别映射1MB的共享空间到0x0_0c000000和0x0_0c100000的物理内存,分别向各自的共享内存起始地址写100个数据。
通过Core0观察0x0c000000和0x0c100000分别可见其他2个核心写入的不同数据。
程序代码:《c6678内存映射示例工程下载》

部分应用程序代码:

/* CSL Header file */
#include <ti/csl/csl_pscAux.h>
#include <ti/csl/csl_xmcAux.h>
#include <c6x.h>#define MPAX_SEG_1M_Size 0x13
#define MPAX_SEG_4M_Size 0x13+2
/***************************************************** 注意:逻辑地址:logicAddr只保留高20bit,* 物理地址:phyAddr,只保留高24bit。*/
void mpax_map(Uint32 segment,Uint32 logicAddr,Uint32 phyAddr,Uint32 segSize)
{CSL_XMC_XMPAXH mpaxh;CSL_XMC_XMPAXL mpaxl;mpaxh.segSize = segSize;mpaxh.bAddr = logicAddr; //逻辑地址mpaxl.ux = 1;mpaxl.uw = 1;mpaxl.ur = 1;mpaxl.sx = 1;mpaxl.sw = 1;mpaxl.sr = 1;mpaxl.rAddr = phyAddr;//物理地址CSL_XMC_setXMPAXH (segment, &mpaxh);CSL_XMC_setXMPAXL (segment, &mpaxl);
}
int main(void)
{Uint32  Core_ID;Uint32 *test;psc_init();Uint32 i;// Get the Current Core IDCore_ID = DNUM; // c6x.hif (Core_ID == 0){mpax_map(0, 0x0c000, 0x00c000, MPAX_SEG_4M_Size);}if (Core_ID == 3){mpax_map(0,0x0c000,0x00c000,MPAX_SEG_1M_Size);test = (Uint32 *)0x0c000000;for (i=0;i<100;i++)*test++ = 0xA0A0A0A0;}if (Core_ID == 4){mpax_map(0,0x0c000,0x00c100,MPAX_SEG_1M_Size);test = (Uint32 *)0x0c000000;for (i=0;i<100;i++)*test++ = 0x11111111;}while(1);
}

缓存

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

C6678-缓存和内存

C6678-缓存和内存 全局内存映射扩展内存控制器&#xff08;XMC&#xff09;-MPAX内存保护与地址扩展使用例程缓存 全局内存映射 扩展内存控制器&#xff08;XMC&#xff09;-MPAX内存保护与地址扩展 每个C66x核心都具有相同大小的L1和L2缓存&#xff0c;并且可配置为普通内存使…...

实操| 前端新人无敲代码开发APP

作为一种大型的基于GPT-3. 5结构的语言模型&#xff0c;ChatGPT由OpenAI训练&#xff0c;采用深度学习技术&#xff0c;通过大量的文本数据学习&#xff0c;可以生成类似于人类自然语言的文字。ChatGPT是一种非常强大的对话引擎&#xff0c;能进行对话、回答问题和完成任务。Ch…...

OpenCV图像处理之傅里叶变换

文章目录 OpenCV图像处理之傅里叶变换图像处理之傅里叶变换流程图OpenCv图像处理之傅里叶变换OpenCv傅里叶变换之低通滤波OpenCv傅里叶变换之高通滤波 OpenCV图像处理之傅里叶变换 傅里叶变换&#xff1a;目的就是得到图像的低频和高频&#xff0c;然后针对低频和高频进行不同…...

Docker网络案例

bridge 是什么 Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为docker0,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机…...

Java实验课的学习笔记(二)类的简单使用

本文章就讲的是很基础的类的使用 重点大概就是类的构造函数以及一些很基础的东西。 实验内容是些老生常谈的东西&#xff0c;Complex类&#xff0c;在当初学C面向对象的时候也是这个样子展开的。 内容如以下&#xff1a; public class Complex {float real;float imag;public…...

实战案例|聚焦攻击面管理,腾讯安全威胁情报守护头部券商资产安全

金融“活水”润泽千行百业&#xff0c;对金融客户来说&#xff0c;由于业务场景存在特殊性和复杂性&#xff0c;网络安全必然是一场“持久战”。如何在事前做好安全部署&#xff0c;构建威胁情报分析的防护体系至为重要&#xff0c;实现更为精准、高效的动态防御。 客户名片 …...

c++算法初级8——递推

c算法初级8——递推 文章目录 c算法初级8——递推递推递推思想的运用错位排序杨辉三角&#xff08;二维递推&#xff09; 递推 递推思想&#xff1a; 根据已有的东西一点点地推出未知的东西。 使用递推解题三步骤&#xff1a; 数学建模找出递推式和初始条件写出代码。 张爽…...

Java后端面试题 重难点和被问到没答上来的点(包括java基础、关系型数据库、Redis、计算机网络、Spring、Java多线程、vue等)

以下是我记录的一些重点问题和面试中被问到没答上来的问题&#xff0c;包括java基础、关系型数据库、Redis、计算机网络、Spring、Java多线程、vue 问题目录 1.fail-safe和fail-fast2.四引用3.explain字段重要内容4.maven三大生命周期5.MYSQL 创建修改表6.数据库三范式7.Strin…...

易观千帆 | 2023年3月银行APP月活跃用户规模盘点

易观&#xff1a;2023年3月手机银行服务应用活跃人数53289.05万&#xff0c;环比增长2.15%&#xff0c;同比增长8.87%。 2023年3月信用卡服务应用活跃人数10800.71万&#xff0c;环比增长1.87%&#xff0c;同比增长18.64%。 2023年3月城商行手机银行服务应用活跃人数3827.43万&…...

[Android+JetPack] (Java实现) Retrofit2+RxJava3+Paging3+RecyclerView 实现加载网络数据例子 记录

文章目录 前言参考链接依赖库及版本Demo效果接口及数据展示各项模块Retrofit2Bean,对应上面的接口返回.Service API部分 Paging3PagingSource以及 RxPagingSourcePagingDataAdapter 适配器ViewModelPublicInfoPage /Activity 最后 前言 继续安卓学习之旅,本章的主要目标是: 1.完…...

Java 解析配置文件注入到配置类属性中供全局使用【开发记录】

1、背景&#xff1a;假设目前有两个接口&#xff0c;一个是查询快递订单状态的JSF接口&#xff0c;一个是查询快运订单状态的JSF接口&#xff0c;现有一个需求&#xff0c;要将这两个接口统一为一个入口&#xff0c;发布到物流开放平台供外界调用。 注意&#xff1a;以下代码均…...

【Python开发手册】深入剖析Google Python开发规范:规范Python注释写作

&#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;全栈领域优质创作者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 我的博客&#xff1a;Zeeland&#x1f4da; Github主页: Undertone0809 (Zeeland) (github.com)&…...

Python入门教程+项目实战-9.3节: 字符串的操作方法

目录 9.3.1 字符串常用操作方法 9.3.2 获取字符串长度 9.3.3 字符串的大小写操作 9.3.4 删除字符串中的空白字符 9.3.5 字符串的子串查找 9.3.6 字符串的子串统计 9.3.7 字符串的子串替换 9.3.8 字符串的拆分函数 9.3.9 字符串的前缀与后缀9.3.10 知识要点 9.3.11 系…...

ENVI 5.6软件安装教程

软件下载 [软件名称]&#xff1a;ENVI 5.6 [软件大小]&#xff1a;3.25G [安装环境]&#xff1a;Win7~Win11或更高 软件介绍 ENVI 5.6是一款实现遥感图像处理的工具&#xff0c;已经广泛应用于科研、环境保护、气象、石油矿产勘探、农业、林业、医学、地球科学、公用设施管…...

在Windbg中设置断点追踪打开C++程序远程调试开关的模块

目录 1、Windbg动态调试 2、在Windbg中设置断点 2.1、在函数入口处设置断点 2.2、在函数内部某一行上设置断点 3、设置断点跟踪对打开远程调试开关接口的调用 3.1、编写演示代码 3.2、在Windbg中设置调用SetRemoteDebugOn接口的断点进行跟踪 4、最后 VC常用功能开发汇总…...

CRM客户管理软件开发功能有哪些?

互联网技术的不断提高使得企业管理方式也发生了变化&#xff0c;企业CRM系统应用市场逐渐扩大&#xff0c;相关软件开发也引起越来越多商家企业的关注。因为企业CRM系统软件开发能够根据企业需求制作&#xff0c;帮助企业更好的追踪管理客户信息&#xff0c;实时更新并进行相关…...

C++函数式魔法之旅(Journey of Functional Magic)

C函数式魔法之旅&#xff08;Journey of Functional Magic&#xff09; 一、引言&#xff08;Introduction&#xff09;C Functional模板库简介&#xff08;Overview of C Functional Template Library&#xff09;Functional模板库的重要性和作用&#xff08;The Importance a…...

Vue基础入门(上)

<script src"https://unpkg.com/vuenext"></script> 从面向dom编程到面向数据编程 输入显示列表 const appVue.createApp({data(){return{inputValue:,list:[]}},methods:{handleAddItem(){this.list.push(this.inputValue);this.inputValue;}},templ…...

字符串匹配—KMP算法

字符串匹配的应用非常广泛&#xff0c;例如在搜索引擎中&#xff0c;我们通过键入一些关键字就可以得到相关的搜索结果&#xff0c;搜索引擎在这个过程中就使用字符串匹配算法&#xff0c;它通过在资源中匹配关键字&#xff0c;最后给出符合条件的搜索结果。并且我们在使用计算…...

【微信小程序】 权限接口梳理以及代码实现

​ 1、权限接口说明 官方权限说明   部分接口需要经过用户授权统一才能调用。我们把这些接口按使用范围分成多个scope&#xff0c;用户选择对scope进行授权&#xff0c;当授权给一个scope之后&#xff0c;其对应的所有接口都可以直接使用。 此类接口调用时&#xff1a; 如…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...