Tc397 PSPR、DSPR、LMU、DLMU、DAM、PCACHE、DCACHE的区别及作用。

2023-10-25 18:10

本文主要是介绍Tc397 PSPR、DSPR、LMU、DLMU、DAM、PCACHE、DCACHE的区别及作用。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 1、在Aurix 2G中(以TC387为例),每个CPU都有自己的PSRAM (又称PSPR)和DSRAM (又称DSPR),它们都是RAM,只不过PSRAM是挂在指令总线上,而DSRAM是挂在数据总线上,因此如果在PSRAM运行代码,DSRAM存放数据,可以达到0 cycle等待。但是PSRAM上也是可能存放数据的,只不过效率低一点。

2、TC3xx的Flash是以3MB或者1MB作为一个Bank,不用Cache的地址从0xA0000000开始,用Cache的地址从0x80000000开始。

3、LMU分为各个CPU私有的dLMU和共用的LMU两部分,在MCAL中的Link文件中只是定义了LMU的几个段,在工程中并没有用到这个区域,关于怎么把变量放到LMU中;

4、每个CPU都有自己的PSRAM区域,这个区域可以运行程序,也可以存放数据,在Link中只是定义了几个段,在工程中并没有用到这个区域,关于怎么在这个区域运行程序;

5、有时候需要把程序放到RAM去运行,例如在擦写Flash的时候,这个时候可以直接把代码放在 ”FLSLOADERRAMCODE” 段,也可以自己在PSRAM中再定义一个段;

Aurix Tc3xx MCAL中Link文件解析以及代码变量定位方法详解:

https://max.book118.com/html/2021/0921/8045020014004007.shtm

嵌入式开发:使能Cached功能,导致数据一致性破坏及解决方法:

https://zhuanlan.zhihu.com/p/607049890?utm_id=0

Aurix Tc3xx定义变量到指定的地址空间:

https://blog.csdn.net/HuskieMe/article/details/127124129

这篇关于Tc397 PSPR、DSPR、LMU、DLMU、DAM、PCACHE、DCACHE的区别及作用。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/284319

相关文章

Mybatis的mapper文件中#和$的区别示例解析

《Mybatis的mapper文件中#和$的区别示例解析》MyBatis的mapper文件中,#{}和${}是两种参数占位符,核心差异在于参数解析方式、SQL注入风险、适用场景,以下从底层原理、使用场... 目录MyBATis 中 mapper 文件里 #{} 与 ${} 的核心区别一、核心区别对比表二、底

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

C# Semaphore与SemaphoreSlim区别小结

《C#Semaphore与SemaphoreSlim区别小结》本文主要介绍了C#Semaphore与SemaphoreSlim区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、核心区别概览二、详细对比说明1.跨进程支持2.异步支持(关键区别!)3.性能差异4.API 差

Java中自旋锁与CAS机制的深层关系与区别

《Java中自旋锁与CAS机制的深层关系与区别》CAS算法即比较并替换,是一种实现并发编程时常用到的算法,Java并发包中的很多类都使用了CAS算法,:本文主要介绍Java中自旋锁与CAS机制深层... 目录1. 引言2. 比较并交换 (Compare-and-Swap, CAS) 核心原理2.1 CAS

JAVA transient 关键字作用详解

《JAVAtransient关键字作用详解》Java的transient关键字用于修饰成员变量,使其不参与序列化过程,通过自定义序列化方法,可以手动控制transient变量的序列化行为,本文给大... 目录一、transient关键字作用二、原理详解三、典型使用场景四、代码示例五、注意事项六、与 stat

Spring Boot/Spring MVC核心注解的作用详解

《SpringBoot/SpringMVC核心注解的作用详解》本文详细介绍了SpringBoot和SpringMVC中最常用的15个核心注解,涵盖了请求路由映射、参数绑定、RESTfulAPI、... 目录一、Spring/Spring MVC注解的核心作用二、请求映射与RESTful API注解系列2.1

C#中的sealed修饰符的作用详解

《C#中的sealed修饰符的作用详解》在C#中,sealed修饰符的作用是“密封”用来阻止类被继承,或者阻止方法/属性在派生类中被重写,接下来通过本文给大家介绍C#中的sealed修饰符的作用详解,... 目录✅ 1.sealed用于类(class)作用:示例:✅ 2.sealed用于方法或属性(必须与

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事