解答:
	
	默認情況下, MPLAB C18 假設對象不超過存儲區(qū)邊界。 要安全使用大于256 字節(jié)的對象,需要執(zhí)行下列步驟:
	1)必須使用 #pragma idata 或#pragma udata 偽指令將對象分配到恰當?shù)亩沃校?br />
	#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)必須在鏈接描述文件中創(chuàng)建一個跨越多個存儲區(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)必須通過在鏈接描述文件中添加SECTION偽指令,將對象所在的段(在第1步中創(chuàng)建)分配到新的區(qū)域(在第3 步中創(chuàng)建):
	SECTION NAME=buffer_scn RAM=big
- 
                                存儲器
                                +關注
關注
39文章
7700瀏覽量
170510 - 
                                數(shù)據(jù)
                                +關注
關注
8文章
7309瀏覽量
93678 
發(fā)布評論請先 登錄
隨機訪問存儲器(RAM)和只讀存儲器(ROM)的區(qū)別
    
SQL存儲過程在.NET數(shù)據(jù)庫中的應用
求助 數(shù)據(jù)存儲器 FLASH程序存儲器 FLASH數(shù)據(jù)存儲器的區(qū)別
為什么單片機定義的數(shù)組是存放在數(shù)據(jù)存儲器中
相變存儲器(PCM) :新的存儲器技術創(chuàng)建 新的存儲器使用模式
基于DDR3存儲器的數(shù)據(jù)處理應用
如何在塊存儲器中寫入和讀取矩陣?
存儲器的編碼方法
USB傳感器與存儲器在數(shù)據(jù)記錄中的應用
存儲器分類及各自特點有哪些
    
          
        
        
應該如何在數(shù)據(jù)存儲器中創(chuàng)建一個大對象
                
 
           
            
            
                
            
評論