0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应该如何在数据存储器中创建一个大对象

麦辣鸡腿堡 来源:Microchip微芯 作者:Microchip微芯 2023-01-22 17:45 次阅读

解答:

默认情况下, 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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7231

    浏览量

    162549
  • 数据
    +关注

    关注

    8

    文章

    6559

    浏览量

    87933
收藏 人收藏

    评论

    相关推荐

    如何使用SCR XRAM作为程序存储器数据存储器

    1) 允许物理内存(即 XRAM) 可同时作为程序存储器数据存储器进行访问 如何使用 SCR XRAM 作为程序
    发表于 01-30 08:18

    SQL存储过程在.NET数据的应用

    的SQL语句集,经编译后存储在数据。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
    发表于 12-31 16:54

    求助 数据存储器 FLASH程序存储器 FLASH数据存储器的区别

    数据存储器 FLASH程序存储器 FLASH数据存储器 片内RAM数据
    发表于 11-29 09:50

    为什么单片机定义的数组是存放在数据存储器

    为什么单片机定义的数组是存放在数据存储器,而不是存放在程序存储器,这样断电,那数组里面的数据
    发表于 08-14 16:41

    相变存储器(PCM) :新的存储器技术创建 新的存储器使用模式

    4Gb到100Gb的密度.谈及循环及数据保留间的强相关性,使用N削D来获得高写入性能的系统经常面对困难即在长时间的休止状态下如何保证足够的数据保留。变相
    发表于 05-17 09:45

    基于NIOS II的SOPC存储器型外设接口的设计

    Nios II系统的紧耦合存储器是旁路缓存的片上存储器,该存储器具有最好的存储器访问性能,能采用与其它
    发表于 12-07 10:27

    DDR3存储器接口控制IP助力数据处理应用

    。为了充分利用和发挥DDR3存储器的优点,使用高效且易于使用的DDR3存储器接口控制是非常重要的。视屏处理应用就是
    发表于 05-24 05:00

    基于DDR3存储器数据处理应用

    。为了充分利用和发挥DDR3存储器的优点,使用高效且易于使用的DDR3存储器接口控制是非常重要的。视屏处理应用就是
    发表于 05-27 05:00

    将EDATA移动到可在数据存储器任何位置的探地雷达的正确方法是什么?

    因此,随着程序的发展,链接将我的变量重新定位到不同的内存位置。这会导致数据损坏。将EDATA移动到可在数据存储器任何位置的探地雷达的正确
    发表于 05-31 08:28

    何在存储器写入和读取矩阵?

    /383681#M3607我要将数据矩阵存储在fpga而不是LUT的块存储器作为内存!因为基于我编写的代码的上述链接,它使用LUT作为内
    发表于 11-07 07:30

    存储器的编码方法

    数据。因此,上述第二操作时机可以优先于第操作时机。在种可能的实现方式,当存储器的剩余带宽大于第二阈值时,例如大于100M/S,此时
    发表于 11-15 15:44

    为什么块存储器没有Din的原始输出寄存或核心输出寄存

    嗨,我是FPGA设计的初学者。在我的设计,我应该实时地连接我的设计和Block内存。正如我在数据表中看到的那样,vivado的Block ram有
    发表于 05-25 07:51

    对象存储与传统网络存储有什么区别?

    系统的客户端):    对象存储架构  1、对象  对象是系统数据
    发表于 09-01 16:27

    存储器和总线架构

    /SRAM 或通过 FSMC 的外部存储器)。D总线:此总线用于将 Cortex™-M4F 数据总线和 64 KB CCM 数据 RAM 连接到总线矩阵。内核通过此总线进行立即数加载和调试访问。此总线访问的
    发表于 08-05 07:41

    如何制作磁带数据存储器

    如何制作磁带数据存储器
    发表于 11-11 07:43