解答:
默认情况下, MPLAB C18 假设对象不超过存储区边界。 要安全使用大于256 字节的对象,需要执行下列步骤:
1)必须使用 #pragma idata 或#pragma udata 伪指令将对象分配到恰当的段中:
#pragma udata buffer_scn
static char buffer[0x180];
#pragma udata
2)必须通过指针访问对象:
char * buf_ptr = &buffer[0];
...
// examples of use
buf_ptr[5] = 10;
if (buf_ptr[275] > 127)
...
3)必须在链接描述文件中创建一个跨越多个存储区的区域:
- 修改前的链接描述文件:
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
- 修改后的链接描述文件:
DATABANK NAME=big START=0x200 END=0x37F PROTECTED
DATABANK NAME=gpr3 START=0x380 END=0x3FF
4)必须通过在链接描述文件中添加SECTION伪指令,将对象所在的段(在第1步中创建)分配到新的区域(在第3 步中创建):
SECTION NAME=buffer_scn RAM=big
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
在数字电子设备中,存储器是至关重要的部分。它负责存储和检索数据,以支持各种计算和数据处理任务。在
发表于 12-05 15:46
•2273次阅读
的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
发表于 12-31 16:54
数据存储器 FLASH程序存储器 FLASH数据存储器 片内RAM数据
发表于 11-29 09:50
为什么单片机定义的数组是存放在数据存储器中,而不是存放在程序存储器中,这样断电,那数组里面的数据
发表于 08-14 16:41
4Gb到100Gb的密度.谈及循环及数据保留间的强相关性,使用N削D来获得高写入性能的系统经常面对一个困难即在长时间的休止状态下如何保证足够的数据保留。变相
发表于 05-17 09:45
。为了充分利用和发挥DDR3存储器的优点,使用一个高效且易于使用的DDR3存储器接口控制器是非常重要的。视屏处理应用就是
发表于 05-27 05:00
/383681#M3607我要将数据矩阵存储在fpga而不是LUT的块存储器中作为内存!因为基于我编写的代码中的上述链接,它使用LUT作为内
发表于 11-07 07:30
取数据。因此,上述第二操作时机可以优先于第一操作时机。在一种可能的实现方式中,当存储器的剩余带宽大于第二阈值时,例如大于100M/S,此时
发表于 11-15 15:44
利用XILINX解决方案快速创建存储器接口设计
发表于 01-08 23:05
•39次下载
USB传感器与存储器在数据记录中的应用
目前市场上有很多种数据采集设备可用于在PC上记录数据,
发表于 04-22 18:32
•498次阅读
存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在
发表于 12-06 15:00
•1.8w次阅读
了解如何使用Vivado存储器接口生成器(MIG)创建UltraScale存储器接口设计。
本视频将向您展示如何为UltraScale器件配置MIG IP内核,包括MIG IP I / O的I / O Bank规划。
发表于 11-22 07:13
•2869次阅读
存储器是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路
发表于 09-18 11:02
•5346次阅读
在删除和重新加载块后,可能会在用户存储器(装入和工作存储器)中产生间隔,从而减少可使用的存储器区域。使用压缩功能,可将现有块在用户存储器中无
发表于 03-02 15:15
•1907次阅读
半导体存储器在数据中心中的应用是极其重要且广泛的,它们不仅是数据中心存储系统的核心组件,还直接关系到数据处理的效率、可靠性和安全性。以下将详细阐述半导体
发表于 08-20 10:17
•516次阅读
评论