DSP程序变量存储问题

来源:本站
导读:目前正在解读《DSP程序变量存储问题》的相关信息,《DSP程序变量存储问题》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《DSP程序变量存储问题》的详细说明。
简介:今天介绍DSP程序变量存储问题,大家一起来看看。

1)已初始化的段:.text,.cinit,.const,.econst,..pinit和.switch.. 每个小段里面存储的量说明如下:

.text:所有可以执行的代码和常量

cinit:全局变量和静态变量的C初始化记录

.const:包含字符串常量和初始化的全局变量和静态变量(由const)的初始化和说明

.econst:包含字符串常量和初始化的全局变量和静态变量(由far const)的初始化和说明

.pinit:全局构造器(C++)程序列表 .switch:包含转换语气声明的列表

2)非初始化段只是保留变量的地址空间,在程序运行过程中才像变量内写数据进去,所以非初始化段必须链接到易失性存储器中如RAM。

.bss: 为全局变量和局部变量保留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.bss空间中。

.ebss:为使用大寄存器模式时的全局变量和静态变量预留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.ebss中。

.stack:为系统堆栈保留的空间,主要用于和函数传递变量或为局部变量分配空间。

.sysmem:为动态存储分配保留的空间。如果有宏函数,此空间被宏函数占用,如果没有的话,此空间保留为0

.esysmem:为动态存储分配保留的空间。如果有far函数,此空间被相应的占用,如果没有的话,此空间保留为0.

这里确定了我们在定义全局变量的时候,不能定义太多,会导致ebss放不下,虽然可以映射到其他区间,总之,变量的存储是有限的。

因为它的SRAM只有32k*16,确实不大。对于一些需要大量数据存取的运算是不可以做的。这是我目前学到的。

如果有那位朋友有其他好的解决办法,欢迎交流。

提醒:《DSP程序变量存储问题》最后刷新时间 2024-03-14 00:56:08,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《DSP程序变量存储问题》该内容的真实性请自行鉴别。