解答:
默認(rèn)情況下, MPLAB C18 假設(shè)對(duì)象不超過(guò)存儲(chǔ)區(qū)邊界。 要安全使用大于256 字節(jié)的對(duì)象,需要執(zhí)行下列步驟:
1)必須使用 #pragma idata 或#pragma udata 偽指令將對(duì)象分配到恰當(dāng)?shù)亩沃校?br />
#pragma udata buffer_scn
static char buffer[0x180];
#pragma udata
2)必須通過(guò)指針訪問(wèn)對(duì)象:
char * buf_ptr = &buffer[0];
...
// examples of use
buf_ptr[5] = 10;
if (buf_ptr[275] > 127)
...
3)必須在鏈接描述文件中創(chuàng)建一個(gè)跨越多個(gè)存儲(chǔ)區(qū)的區(qū)域:
- 修改前的鏈接描述文件:
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)必須通過(guò)在鏈接描述文件中添加SECTION偽指令,將對(duì)象所在的段(在第1步中創(chuàng)建)分配到新的區(qū)域(在第3 步中創(chuàng)建):
SECTION NAME=buffer_scn RAM=big
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7530瀏覽量
164403 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7168瀏覽量
89692
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)的區(qū)別
![隨機(jī)訪問(wèn)<b class='flag-5'>存儲(chǔ)器</b>(RAM)和只讀<b class='flag-5'>存儲(chǔ)器</b>(ROM)的區(qū)別](https://file1.elecfans.com/web2/M00/B4/71/wKgZomVu1VuAIOSxAABmehB2mjA834.jpg)
SQL存儲(chǔ)過(guò)程在.NET數(shù)據(jù)庫(kù)中的應(yīng)用
求助 數(shù)據(jù)存儲(chǔ)器 FLASH程序存儲(chǔ)器 FLASH數(shù)據(jù)存儲(chǔ)器的區(qū)別
為什么單片機(jī)定義的數(shù)組是存放在數(shù)據(jù)存儲(chǔ)器中
相變存儲(chǔ)器(PCM) :新的存儲(chǔ)器技術(shù)創(chuàng)建 新的存儲(chǔ)器使用模式
基于DDR3存儲(chǔ)器的數(shù)據(jù)處理應(yīng)用
如何在塊存儲(chǔ)器中寫入和讀取矩陣?
存儲(chǔ)器的編碼方法
利用XILINX解決方案快速創(chuàng)建存儲(chǔ)器接口設(shè)計(jì)
USB傳感器與存儲(chǔ)器在數(shù)據(jù)記錄中的應(yīng)用
存儲(chǔ)器分類及各自特點(diǎn)有哪些
![<b class='flag-5'>存儲(chǔ)器</b>分類及各自特點(diǎn)有哪些](https://file1.elecfans.com//web2/M00/A7/08/wKgZomUMQfGAfxw1AAAs3ywlsfo997.png)
評(píng)論