DSP实现外扩SRAM
问题描述:DSP在物理上将程序空间和数据空间整合成4M*16位的空间,但是在其上实现FFT算法时,运算数据量太大,内部RAM不够,这时需要通过外扩SRAM的方法来实现。
注意: 在nonBIOS情况下,CMD文件不外乎就三个:28335_RAM_lnk.cmd(用于仿真调试) 、 DSP2833x_Headers_nonBIOS.cmd 、 F28335.cmd(用于flash烧写)。仿真调试时只用前两个,用于flash烧写时只用后两个,且不管在何种方式下28335_RAM_lnk.cmd和F28335.cmd不能同时用,也不能代替用。
通常我们添加的时28335_RAM_lnk.cmd和DSP28335x_headers_nonBIOS.cmd这2个CMD文件。
红字部分不太懂:程序烧进FLASH后,程序在FLASH中的运行速度由FLASH的读取速度决定。如果没有FLASH的加速技术,一般需要设置等待时间(XBANK.bit.BCYC?)。要想使程序高速运行,一般要至少外扩一个SRAM来高速运行DSP算法
以下是外扩SRAM的具体过程(测试过):
ps: 未外扩前FFT的采样点数N为256,外扩后FFT的采样点数N可以为2048。
一开始我在CMD文件中将外扩到ZONE7的语句注释掉,debug报错: error #10099-D: program will not fit into available memory. run placement with alignment/blocking fails for section ".ebss" size 0x5064 page 1. Available memory ranges:,即RAML4中的内存不够。
然后去掉注释,并且在main文件中添加下图红框中的语句,将内存较大的数组编译到CMD中定义的段中,debug后程序不报错,只有一个warning,此时的数据点数N=2048。
后记:上面写的有点简单,其实一开始我尝试将倒位序函数Rander()和蝶形运算函数Iterative_FFT()移植到Zone7,即进行代码移植而非数据移植,但是尝试结果失败,仍然报错RAML4中的内存不够,我想了半天考虑可能是虽然两个函数移植到Zone7中了,但是main中调用两个函数产生的数据内存开销仍然由RAML4提供,所以仍然报错,有大佬了解吗?
附上进行程序移植的代码:
- 在CMD文件的SECTION中首先创建一个段:
xintffuncs : LOAD RAML4,RUN ZONE7A,LOAD_START(_XintffuncsLoadStart),LOAD_END(_XintffuncsLoadEnd),RUN_START(_XinffuncsRunStart),PAGE = 0
2.在main文件里声明:
#pragam CODE_SECTION(Rander,"xintffuncs");#pragma CODE_SECTION(Iterative,"xintffuncs");
参考操作:https://blog.csdn.net/cuiweitju/article/details/38141385?utm_source=blogxgwz7
DSP实现外扩SRAM相关推荐
- DSP外扩SRAM的应用测试心得体会
原文地址:[http://www.51hei.com/bbs/dpj-32468-1.html] DSP的硬件测试说明: 平台说明: 图1-1 Code Composer Studio 6.0.0. ...
- 在MM32F5微控制器上使用外扩SRAM作为主内存
在MM32F5微控制器上使用外扩SRAM作为主内存 苏勇,2022年8月 文章目录 在MM32F5微控制器上使用外扩SRAM作为主内存 引言 硬件电路 软件设计 使用bootloader初始化硬件环境 ...
- 物联网ARM开发- 5协议 FSMC控制器外扩SRAM存储器
前言:STM32F407ZGT6 自带了 192K 字节的 SRAM,对一般应用来说,已经足够了,不过在一 些对内存要求高的场合,STM32F4 自带的这些内存就不够用了.比如跑算法或者跑 GUI 等 ...
- FSMC外设接口来外扩SRAM芯片、flash芯片
1.STM32学习笔记-FSMC外扩SRAM_行之无边的博客-CSDN博客_stm32外扩sram STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和 ...
- STM32F407 HAL库外扩SRAM作为默认RAM使用
项目使用STM32F407ZET6开发,但自带的RAM空间不够,所以需要外扩SRAM作为默认的RAM来使用,使用的SRAM是IS62WV51216BLL,19条地址线,16条数据线,使用的库为HAL库 ...
- 32位MCU外扩SRAM芯片VTI7064MSME
32位单片机为用户提供了丰富的选择,可适用于工业控制.智能家电.建筑安防.医疗设备以及消费类电子产品等多方位嵌入式系统设计.MCU通常是基于SRAM和闪存的混合使用,MCU一般情况下配置有1~2MB双 ...
- 可作为MCU外扩SRAM芯片的型号推荐
世界上最早的全电子化存储器是1947年诞生的,其原理是用阴极射线管在屏幕表面上留下记录数据的"点".从那时起,计算机内存开始使用磁存储技术并经历了数代演变,相关系统包括磁鼓存储器. ...
- STM32外扩SRAM芯片IS62wv51216兼容替换
STM32MCU一般情况下配置有1~2MB双块Flash存储器和256KB SRAM,在某些应用设计中会出现内置RAM不足的情况,需要对STM32单片机进行外扩RAM的处理,可以选择更换更高RAM容量 ...
- STM32F407外扩SRAM国产EMI7064
现在的电子系统应用,对SRAM要求越来越高,单片机或ARM内部的RAM越来越不够用.当电脑运行比较卡的时候,我们可以通过给电脑加装内存条来改善电脑的性能.我们可以给单片机外加和内存条效果一样的SRAM ...
最新文章
- 出现module ‘xgboost‘ has no attribute ‘DMatrix‘的临时解决方法
- java面试-深入理解JVM(一)——JVM内存模型
- Oracle 快速插入1000万条数据的实现方式
- python接口自动化测试书籍_skPython接口自动化测试 自动化测试教程书籍 用Python实现UI自动化测试 轻松入门Python语法 MySQL数据库 Python基础教程书籍...
- 你得学会并且学得会的Socket编程基础知识
- 【Spring MVC学习】详解spring mvc 3.0常用注解
- 如何写一篇合格的论文(清华大学刘知远)
- ASP.NET中Server.MapPath() 和Request.MapPath()使用
- 帆软报表设计器菜单栏介绍之二文件菜单
- hdu 4283 You Are the One ( dp 2012 ACM/ICPC Asia Regional Tianjin Online )
- NPAPI插件无法加载,有可能跟JDK相关
- 【C++】关于strlen函数使用的坑(与socket sendto函数配合使用)
- Deep Voice 论文
- 2022-2027年中国家用清洁产品行业发展监测及投资战略研究报告
- android 手机 投影,100吋1080p 看Android双核手机连投影
- 门户通专访爱思网创始人韩笑:SNS网站必然走向实用化!
- linux 工具——终端分屏与vim分屏
- 也谈把程序写好 —— 一点初级程序员的鄙见
- 考研报名时,需要准备哪些信息?
- ####好好好#####知识图谱上的双塔召回:阿里的IntentGC模型