问题描述: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提供,所以仍然报错,有大佬了解吗?

附上进行程序移植的代码

  1. 在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相关推荐

  1. DSP外扩SRAM的应用测试心得体会

    原文地址:[http://www.51hei.com/bbs/dpj-32468-1.html] DSP的硬件测试说明: 平台说明: 图1-1  Code Composer Studio 6.0.0. ...

  2. 在MM32F5微控制器上使用外扩SRAM作为主内存

    在MM32F5微控制器上使用外扩SRAM作为主内存 苏勇,2022年8月 文章目录 在MM32F5微控制器上使用外扩SRAM作为主内存 引言 硬件电路 软件设计 使用bootloader初始化硬件环境 ...

  3. 物联网ARM开发- 5协议 FSMC控制器外扩SRAM存储器

    前言:STM32F407ZGT6 自带了 192K 字节的 SRAM,对一般应用来说,已经足够了,不过在一 些对内存要求高的场合,STM32F4 自带的这些内存就不够用了.比如跑算法或者跑 GUI 等 ...

  4. FSMC外设接口来外扩SRAM芯片、flash芯片

    1.STM32学习笔记-FSMC外扩SRAM_行之无边的博客-CSDN博客_stm32外扩sram STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和 ...

  5. STM32F407 HAL库外扩SRAM作为默认RAM使用

    项目使用STM32F407ZET6开发,但自带的RAM空间不够,所以需要外扩SRAM作为默认的RAM来使用,使用的SRAM是IS62WV51216BLL,19条地址线,16条数据线,使用的库为HAL库 ...

  6. 32位MCU外扩SRAM芯片VTI7064MSME

    32位单片机为用户提供了丰富的选择,可适用于工业控制.智能家电.建筑安防.医疗设备以及消费类电子产品等多方位嵌入式系统设计.MCU通常是基于SRAM和闪存的混合使用,MCU一般情况下配置有1~2MB双 ...

  7. 可作为MCU外扩SRAM芯片的型号推荐

    世界上最早的全电子化存储器是1947年诞生的,其原理是用阴极射线管在屏幕表面上留下记录数据的"点".从那时起,计算机内存开始使用磁存储技术并经历了数代演变,相关系统包括磁鼓存储器. ...

  8. STM32外扩SRAM芯片IS62wv51216兼容替换

    STM32MCU一般情况下配置有1~2MB双块Flash存储器和256KB SRAM,在某些应用设计中会出现内置RAM不足的情况,需要对STM32单片机进行外扩RAM的处理,可以选择更换更高RAM容量 ...

  9. STM32F407外扩SRAM国产EMI7064

    现在的电子系统应用,对SRAM要求越来越高,单片机或ARM内部的RAM越来越不够用.当电脑运行比较卡的时候,我们可以通过给电脑加装内存条来改善电脑的性能.我们可以给单片机外加和内存条效果一样的SRAM ...

最新文章

  1. 出现module ‘xgboost‘ has no attribute ‘DMatrix‘的临时解决方法
  2. java面试-深入理解JVM(一)——JVM内存模型
  3. Oracle 快速插入1000万条数据的实现方式
  4. python接口自动化测试书籍_skPython接口自动化测试 自动化测试教程书籍 用Python实现UI自动化测试 轻松入门Python语法 MySQL数据库 Python基础教程书籍...
  5. 你得学会并且学得会的Socket编程基础知识
  6. 【Spring MVC学习】详解spring mvc 3.0常用注解
  7. 如何写一篇合格的论文(清华大学刘知远)
  8. ASP.NET中Server.MapPath() 和Request.MapPath()使用
  9. 帆软报表设计器菜单栏介绍之二文件菜单
  10. hdu 4283 You Are the One ( dp 2012 ACM/ICPC Asia Regional Tianjin Online )
  11. NPAPI插件无法加载,有可能跟JDK相关
  12. 【C++】关于strlen函数使用的坑(与socket sendto函数配合使用)
  13. Deep Voice 论文
  14. 2022-2027年中国家用清洁产品行业发展监测及投资战略研究报告
  15. android 手机 投影,100吋1080p 看Android双核手机连投影
  16. 门户通专访爱思网创始人韩笑:SNS网站必然走向实用化!
  17. linux 工具——终端分屏与vim分屏
  18. 也谈把程序写好 —— 一点初级程序员的鄙见
  19. 考研报名时,需要准备哪些信息?
  20. ####好好好#####知识图谱上的双塔召回:阿里的IntentGC模型

热门文章

  1. 回拨电话该怎样分析和治理
  2. HDMI无线图传、低延时无线视频传输、wifi视频传输、H265无线视频传输
  3. 什么是效果器以及效果器的简单分类
  4. 结束SAP的生涯,像tony一样,选择退役
  5. java解析Epub,按照1级目录拆分epub文件
  6. Python介绍及编程环境搭建
  7. Win10右键邮件收件人没反应
  8. 题目10.2 项目团队采访
  9. coreldraw x4如何出血_CorelDraw x4精确图框 X4拉文字间距总死原因 主版页的问题 出血裁切...
  10. 2016年WINLIN研发和团队计划