DSP学习笔记1

DSP 6678处理器开cache 每个核心包含32KB的L1P(程序缓存)和32KB的L1D(数据缓存),以及512KB的本地L2缓存。7.避免使用单个 _mfence() 指令:在进行Cache操作时,如果需要使用 _mfence() 指令来确保操作的顺序,建议连续使用两个 _mfence() ,因为单个 _mfence() 可能不可靠。6.使用官方提供的函数:TI提供了官方的接口函数来执行Cache操作,例如 CACHE_enableCaching() 和 CACHE_invL2() 等,这些函数简化了Cache的管理和操作。 阅读详情

C66X 存储控制器

1.C66X存储控制器包括L1P存储控制器、L1D存储控制器、L2存储控制器、外部存储控制器(EMC)和扩展存储控制器(XMC)
2.C6678的L1P存储控制器和L1D存储控制器都可以部分或者全部设置成一路Cache,Cache容量可以支持4KB、8KB、16KB和32KB。复位后都被配置为全Cache,大小为32KB。
3.L2可以部分设置成4路Cache,C6678最大为512KB。
4.对于C6678,器件复位后L2全为SRAM,对于每个内核,L2 SRAM的本地起始地址为0x00800000h。全局访问地址为:

内核L2 SRAM全局地址
核00x10800000
核10x11800000
核n0x10800000+n*0x1000000

注意:对于L2 SRAM的DMA访问必须使用全局地址。

写回(writeback)和失效(invalidata)机制

cache_wb() 缓存写回

核心作用:强制将指定地址范围内,存在于CPU高速缓存中所有修改过(即“脏”Dirty)的数据副本,立即写回/刷新到主存中。
使用场景:
1.通过DMA将内存中的数据搬移到某个接口前,需要把缓存中的数据先写回到内存中,确保搬移的数据是最新的。
2.当本CPU内核修改了某部分共享内存,需要把缓存中新修改的数据写回,确保其他内核访问的共享数据是最新的。

cache_inv() 缓存失效

核心作用:丢弃指定地址范围内当前存在缓存中的数据副本,并将该区域标记为“无效”或“空”。当CPU下一次尝试访问该区域内的任何一个地址时,它将发现缓存中该数据无效,因此会强制从主存中重新加载最新的数据到缓存中。
使用场景:
1.DMA将数据从接口搬移到某块地址后,CPU要访问这部分数据前要进行缓存失效,确保CPU访问的是最新数据。
2.当某个CPU内核要访问其他内核修改的共享内存数据时,要进行缓存失效,确保CPU访问的是最新数据。

C6678-缓存和内存 Core3和Core4分别映射1MB的共享空间到0x0_0c000000和0x0_0c100000的物理内存,分别向各自的共享内存起始地址写100个数据。这是一个单镜像的多核应用实例,每个核心共享代码段,因此代码段物理地址相同,数据段通过MPAX分别映射到不同的物理地址空间,但实际上对于每个核心的应用程序而言,所访问数据段的逻辑地址相同。注意:复位后Segment0映射起始地址为00000H,但内部CGEM配置空间不可映射,因此实际上只映射了4MB共享内存。MPAX的段寄存器,分别对应16个段。 阅读详情

相关推荐

学习笔记1-如果构建达芬奇的dsp server

如何构建达芬奇的DSP Server   1,Davinci的特点:ARM负责操作系统,DSP负责codec算法处理,ARM通过codec engine来调用DSP侧的codec。 codec engine: 我理解的是ARM和DSP连接的桥梁 codec server(dsp server):把不同的模块集成到一起生成DSP可执行文件,并对他们的DSP资源进行管理 PS: codec

littleAlice的专栏 1063

C6678多核应用的cache小测试

C6678多核之间在MSMC中交互数据,默认会用到L1D cache 数据一致性问题是很令人困扰的。 小测试验证了关于L1D cache 的linesize 是64Byte 初始化: if(DNUM == 0) { (unsigned int)(0x0C330600) = 0x00; (unsigned int)(0x0C330604) = 0x100; (unsigned int)(0x0C33...

xiaojun0618的博客 2707

【谷粒商城】分布式事务与下单

=购物车== 构建gulimall-cart,复制静态资源到nginx,修改网关 购物车分为离线购物车和登录购物车 离线购物车重启浏览器了也还有 1、购物车需求 特点:读多写少,放入数据库并不合适 登录状态:登录购物车 放入数据库 mongodb 放入redis(采用) 登录以后,将离线购物车里合并后清空离线购物车 未登录状态:离线购物车 放入localstorage浏览器的技术 cookie WebSQL 放入redis(采用) 浏览器重启后还在 2、购物车VO (1) 数据结构分析

努力充实,远方可期 1万+

DSP 缓存机制

DSP 缓存机制 注:本文说明的DSP基于TI c6000系列的C66x DSP 1.Cache基础 一般来说我们的代码往往是存放在我们的磁盘设备中(EMMC、SSD、Flash等),当我们运行程序的时候,我们需要将代码加载到我们的内存(DDR)中去运行,之后CPU再从内存中加载代码执行,但是相比较而言计算机CPU的运行速率与我们的DDR内存的运行速率,二者有着近百倍的速度差异,所以当我们实际运行一段代码的时候,CPU试图从内存中读取或写入一段数据的时候,往往会因为二者的速度差异而白白去等待造成性能上的浪费

SangDeYG的博客 4908

修改注册表导致开机时电脑显示“无法登陆到你的账户”的问题解决方案

1.问题描述:开机电脑显示“无法登陆到你的账户:通常可以通过从你的账户注销,然后重新登陆来解决问题,如果不立即注销,你创建的任何文件或进行的任何更改都将会丢失。” 2.问题原因:想要修改cmd中的用户名(红色部分),修改了注册表,重启时出现问题。 3.问题解决: win+R输入cmd,确定进入注册表界面,将下面的地址复制进地址栏(你也可以自己按目录查找),双击ProfileImage...

qq_33835957的博客 7万+

音视频入门:H264、H265概念总结

添加链接描述 什么是H.264与H.265 H.264与H.265都是视频压缩格式,由于视频本身的码流太大,所以需要经过压缩然后再通过网络进行传输。H.264是目前比较主流的压缩算法,像视频会议设备一般都采用这个编码格式。基础的H.264可以支持在1M带宽下传输720P30帧/秒的图像;H.264 HIGH PROFILE支持在512K带宽下传输720P30帧/秒的图像。 H.265是比较新的压缩算法,可以更一步提高压缩比,随着我们现在生活中出现的视频格式越来越大(比如现在基本都是1080P甚至4K的显示器

weixin_40673765的博客 8937

C6678共享存储器问题

MSMC默认配置为L2,根据用户需要能配置成L3。由于配置为L3只是做了地址映射,所以物理上的访问时间应该还是一个数量级的,相差不大。这里的L2和L3的区别应该是指L2只能被L1D和L1P Cache, L3能被L2、L1D和L1P Cache。一般来说,默认使用L2的配置。用户根据自己的应用来决定是否配置为L3。最常见的需要设置MSMC为L3的场景为:需要MSMC内存为non-cacheable

Skylar 4024

智能车竞赛新手必看:用AD21从零画一块英飞凌TC264核心板(附开源PCB文件)

本文详细介绍了使用Altium Designer 21(AD21)从零开始设计英飞凌TC264核心板的完整流程,涵盖原理图绘制、PCB布线到最终DRC检查的全过程。针对智能车竞赛新手,提供了实用的硬件设计技巧和开源PCB文件,帮助快速掌握TC264核心板开发。

weixin_27017211的博客 246

DSP28335学习笔记1

DSP学习笔记 一、28335资源 1.28335实际上不是DSP而是DSC 2.28335集成了DSP和微控制器的长处,主要用在控制,DSP是数字信号处理,能够在一个周期内完成3232位的乘法累加运算,而普通的单片机需要4个周期以上 3.DSP具有快速的中断响应 4.28335为32位浮点DSP,主频是150Mhz有epwm的设备,Flash256k16位,SRAM34k*16位,ADC12位,80ns转换时间,0-3V输入,注意ADC最大电压3V!!!转换频率可达到12.5M 5.SCI-串口,有三个串

yezhuoheng的博客 1万+

爬虫-Playwright逆向小红书

【代码】爬虫-Playwright逆向小红书。

weixin_44201223的博客 2430

基于Python的MOOC课程评价爬取与分析系统设计与实现

本文详细介绍了如何使用Python最新技术栈构建一个高效的MOOC课程评价爬取与分析系统。系统采用Scrapy框架结合Selenium实现动态页面抓取,利用PyMySQL进行数据存储,并通过Pandas和Matplotlib实现数据可视化分析。文章从爬虫原理、技术选型、系统设计到代码实现进行全面讲解,为教育工作者改进教学质量提供数据支持。关键词:Python爬虫、MOOC评价分析、Scrapy框架、数据可视化、教学改进。

2201_76125261的博客 1103

DSP EPWM学习笔记1 - EPWM定时中断

DSP EPWM学习笔记1 - EPWM定时中断 彭会锋 1 EPWM模块组成 EPWM有7个子模块组成:时间基准 TB、比较功能 CC、动作限定 AQ、死区产生 DB、斩波控制 PC、故障捕获 TZ、事件触发 ET,具体组成如下图2、3所示: 为了完成EPWM定时中断功能,我们主要使用时间基准 TB、比较功能 CC和事件触发(ET) 这三个...

weixin_30502157的博客 3827

AI测试入门:基于 RAG 的 LLM 应用程序的测试方法「详细介绍」

一个典型的 RAG 架构包括一个检索器(对知识库进行矢量搜索检索上下文的组件)和一个生成器(从检索器中获取检索上下文以构建提示并生成自定义 LLM 响应作为最终输出的组件)。在大多数情况下, 知识库”由存储在向量数据库(如 ChromaDB)中的向量嵌入组成。

blues_C的博客 1870

DSP学习笔记(1)——F28335基础知识

❤ 2019.3.6 今天开始学习DSP,over。 我用的版本是德州仪器的TMS320F28335,用的开发板是研旭的TMS320F28335至尊开发板,到底有多至尊我也不知道,不过看起来教材和资料挺全的。 〇 基础知识 ● DSP的历史 略(自己看书百度去) ● 数字信号处理特点 ● DSP主要特点 ● TI的...

ooorczgc的博客 1万+

python实现MACD策略背离点的判断 (附完整源码)

python实现MACD策略背离点的判断 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 666

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

DSP bootloader学习笔记1

DSP bootloader学习笔记1 彭会锋 参考: 1 TMS320F28xx DSP中内部Flash的应用研究 http://wenku.baidu.com/view/83e9837931b765ce050814fd.html 1 关于_c_int00问题 从代码注释可以看到 : _c_int00 is branch to start of boot.as...

weixin_30567471的博客 590

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

DSP28335学习笔记-1

本系列学习笔记仅仅针对日常使用,而非全面讲解,希望读者针对自己需求来观看,针对网上很多内容有所删减。

myjy1992的博客 850

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

STM32F4学习笔记1——如何使用DSP库

配置 1、 安装DSP库文件 2、 配置编译环境, 上述添加是在project→options→C/C++→Define中添加,并且分割用逗号,即__FPU_PRESENT=1,__FPU_USED=1,ARM_MATH_CM4,__CC_ARM3、 在需要调用DSP函数的文件中加上#include "arm_math.h" 4、

积跬步以至千里 1万+

DSP/BIOS学习笔记——1.LOG

DSP/BIOS学习笔记——1.LOGyanhc软件环境CCS2.20.0 C6000操作步骤:1.Setup CCS里选择C64xx Cycle Accurate Sim2.打开CCS,在Myprojects目录下,新建一个工程,名字为LOGtest3.新建File->New->DSP/BIOS Configuration,选择C64xx.CDB,使用这个作为模块4.在DSP/BIOS图

yanhc519的专栏 1826

DSP28335数据手册学习笔记 1

一、DSP28333x的特点 1、频率 150 MHZ 2、工作电压 3.3V 3、可以进行浮点数运算 4、256k的flash,34K的SARAM 5、128位的密码保护flash 和 SARAM,防止别人逆向工程读取代码 6、18路PWM输出,很适合电机控制 7、8个32位的定时器,9个16位的定时器,3个CPU定时器 8、支持串口:2个can,3个SCI,2个McBSP 9、12位的ADC,...

weixin_44913038的博客 2431

TI DSP TMS320C66x学习笔记之DSP优化经验(八-1)

为了实现循环的pipeline。我们需要把循环体进行拆分,拆分时要考虑以下几点: (1)、拆分成几个循环比较合适?在各个循环能pipeline的前提下,拆开的循环个数越少越好。这就要求尽可能让各个循环的运算量接近。 (2)考虑在什么地方把程序拆开比较合适?循环体里的数据流往往并不是单一的,在拆开的断点处势必要用中间变量保存上次的循环运算结果,供以后的循环用。适当的拆开循环体,使所需的中间变量越少越好。 (3)循环体中的函数调用必须定义成内嵌形式,含有函数调用的循环系统是无法使之pipeline的

Mars_WH的专栏 1万+

DSP学习笔记(1)

DSP学习感悟 1、由周期性定义可知,w需要为Π的分数倍,所以我们可以在平时做题中可以检查,若题目中的信号是周期的,但是我们算出的频率不含Π,则算错了。 2、对于为什么Π是离散时间信号的最高频的问题的理解: 由周期性定义,若信号周期,则w为Π的分数倍,所以我们可以把w写作MN×π\frac{M}{N}\times\pi NM​×π 若M>N,我们可以将其化为带分数的形式,并且若带分数的整数部分大于1,可以进行模2操作。 所以我们可以确定其频率必然在0到2Π之间,而且其周期仅仅却决于N的值和M的奇偶性。

m0_46482248的博客 501

鸿翔dsp开发板学习笔记(1)

在成都永腾电子买了块鸿翔dsp学习板,和仿真器xds100,这块开发板可以不用仿真器直接把程序下载到单片机中,单片机作为5402的外存。 不过这样比较麻烦,而且最烦的是,这块开发板单片机程序下载需要接计算机串口。 现在有几台笔记本还有串口呢? 我用了一根usb转串口来试了一下,结果单片机下载程序时计算机蓝屏。 看来我花180元买个仿真器也还是明智的。 不过这个仿真器支持c...

355

DSP28379学习笔记-时钟相关(1)

默认情况下,ePWM(增强型脉宽调制)、EMIF1(外部存储器接口1)和EMIF2(外部存储器接口2)时钟都有一个额外的/2分频器。中有提到,EPWM模块的时钟最大为100MHz,所以在主频为200MHz时,默认将会对其2分频之后生成EPWMCLK,然后再进一步地通过HSPCLKDIV和CLKDIV二次分频,得到波形的实际频率。但需要注意的是,这两个分频系数作用的频率并不是DSP的主频,而是EPWM的主频EPWMCLK,在这篇。在设置EPWM的波形频率的时候,需要设置两个分频系数。

weixin_47097939的博客 775
上一篇: 【LwIP源码学习6】UDP部分源码分析
下一篇: DSP学习笔记2
inputA
博客等级 码龄7年 297粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值