当前位置: 首页 > 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; 如…...

PostgreSQL(OpenGauss/MogDB) 大小写转换实战:批量处理表名与字段名的自动化方案

1. 为什么PostgreSQL的大小写问题让人头疼&#xff1f; 第一次用PostgreSQL的时候&#xff0c;我就被它的大小写规则坑惨了。明明在Oracle里运行好好的SQL语句&#xff0c;搬到PostgreSQL就报"relation does not exist"错误。后来才发现&#xff0c;原来PostgreSQL对…...

告别预编译固件:手把手教你从零构建Pico PC RK3588S的Ubuntu 20.04根文件系统

深度定制RK3588S开发板&#xff1a;从零构建Ubuntu 20.04根文件系统的完整指南 当拿到一块全新的Pico PC RK3588S开发板时&#xff0c;许多开发者会发现厂商仅提供了预编译的固件包。这种"黑盒"模式虽然能快速启动设备&#xff0c;却严重限制了系统级定制的可能性。…...

终极指南:gh-dash 帮助命令自动补全如何提升 GitHub 管理效率 [特殊字符]

终极指南&#xff1a;gh-dash 帮助命令自动补全如何提升 GitHub 管理效率 &#x1f680; 【免费下载链接】gh-dash A beautiful CLI dashboard for GitHub &#x1f680; 项目地址: https://gitcode.com/gh_mirrors/gh/gh-dash gh-dash 是一个功能强大的 CLI 仪表板&am…...

Crossplane认证考试指南:备考资源与实战题解析

Crossplane认证考试指南&#xff1a;备考资源与实战题解析 【免费下载链接】crossplane Crossplane 是一个开源的资源抽象层&#xff0c;用于管理多云计算资源&#xff0c;支持混合云和多云环境。 * 资源抽象层、多云和混合云环境管理 * 有什么特点&#xff1a;支持多种云服务提…...

市场比较好的显示屏模块供货商哪家强

市场比较好的显示屏模块供货商推荐在显示屏模块市场&#xff0c;众多企业各展所长&#xff0c;为不同行业提供着优质的产品。以下为您介绍十家市场上表现出色的显示屏模块供货商&#xff1a;杭州斡能电子有限公司&#xff08;杭州斡能&#xff09; 杭州斡能始创于2008年10月&am…...

华为eNSP实战:三层交换机互连配置全流程(附常见错误排查)

华为eNSP实战&#xff1a;三层交换机互连配置全流程&#xff08;附常见错误排查&#xff09; 在企业网络架构中&#xff0c;三层交换机扮演着至关重要的角色&#xff0c;它不仅能实现二层交换功能&#xff0c;还能进行三层路由转发。华为eNSP作为一款优秀的网络仿真平台&#x…...

Android Studio中文界面本地化指南:提升开发效率的全场景解决方案

Android Studio中文界面本地化指南&#xff1a;提升开发效率的全场景解决方案 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack And…...

OpenClaw浏览器自动化:Qwen3-VL:30B爬取图文数据到Notion

OpenClaw浏览器自动化&#xff1a;Qwen3-VL:30B爬取图文数据到Notion 1. 为什么需要自动化数据收集 上周我需要整理一批行业报告中的关键图表和结论&#xff0c;手动复制粘贴了3个小时后&#xff0c;突然意识到&#xff1a;这种重复性工作正是AI该解决的问题。于是我开始尝试…...

计算机毕业设计springboot基于的突发事件信息共享系统 基于Spring Boot的应急事件协同处理平台 利用Spring Boot构建的突发状况信息交互系统

计算机毕业设计springboot基于的突发事件信息共享系统 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。在当今社会&#xff0c;各类突发事件频发&#xff0c;从自然灾害到公共卫生…...

模拟OJ1 2 3

判断素数&#xff08;改错&#xff09;作者: Turbo时间限制: 1s章节: 循环问题描述给定程序的功能是&#xff1a;判断一个整数是否是素数&#xff0c;若是输出YES&#xff0c;否则输出NO!。请改正程序中的错误&#xff0c;使它能得出正确的结果。注意&#xff1a;不得增行或删行…...