|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
C語(yǔ)言能否將一個(gè)數(shù)組存放在ROM的指定位置?? |
| 作者:lxg_fly 欄目:單片機(jī) |
在匯編里: ORG 2000H TAB: DB 23H,22H,25H,11H,23H,34H,45H,56H ............... 這樣可以將這段數(shù)據(jù)儲(chǔ)存在ROM中的2000H其實(shí)的空間里、這是指定存儲(chǔ)地址。 那么請(qǐng)問(wèn),C51語(yǔ)言里如何實(shí)現(xiàn)呢?是否能做到將一個(gè)數(shù)組存放在指定的區(qū)域? 請(qǐng)C語(yǔ)言大俠指點(diǎn)。,,, * - 本貼最后修改時(shí)間:2006-10-13 17:08:01 修改者:lxg_fly |
| 2樓: | >>參與討論 |
| 作者: lxg_fly 于 2006/10/13 17:10:00 發(fā)布:
頂!~! 例如將一堆數(shù)據(jù)存放在ROM中,在C里是對(duì)數(shù)組的操作 uchar code abc[]={0x12,0x34,...........} 那么怎么把數(shù)組ABC存放在一個(gè)指定的地方?比如2000H起始的ROM中 |
|
| 3樓: | >>參與討論 |
| 作者: fpga2006 于 2006/10/13 17:40:00 發(fā)布:
好像絕對(duì)地址指針可以 |
|
| 4樓: | >>參與討論 |
| 作者: lxg_fly 于 2006/10/13 17:54:00 發(fā)布:
to fpga2006 具體怎么做? 我都把要弄的告訴大家了。如果會(huì)的就把代碼寫(xiě)出來(lái)。謝謝 |
|
| 5樓: | >>參與討論 |
| 作者: IC1008 于 2006/10/13 18:21:00 發(fā)布:
好像要包含某個(gè)特殊的頭文件的 |
|
| 6樓: | >>參與討論 |
| 作者: 王紫豪 于 2006/10/13 21:02:00 發(fā)布:
連接的時(shí)候定位,屬性,bl51 local里設(shè)置! |
|
| 7樓: | >>參與討論 |
| 作者: lxg_fly 于 2006/10/13 22:31:00 發(fā)布:
TO ALL 有具體的不 。 郁悶ING~!! |
|
| 8樓: | >>參與討論 |
| 作者: enbed 于 2006/10/13 22:56:00 發(fā)布:
回復(fù): 如果到了c里面,地址還有用處。恐苯幽脭(shù)組名當(dāng)?shù)刂酚谩?br> 另:51可以用_at_ 好像是這個(gè)類似的宏定位變量地址把 |
|
| 9樓: | >>參與討論 |
| 作者: kuck 于 2006/10/14 7:41:00 發(fā)布:
lp data unsigned CHAR xdata *p; unsigned CHAR code lp[10]={1,2,4,5,3,..............}; p=0x0005; *p=lp[0]; |
|
| 10樓: | >>參與討論 |
| 作者: zgl7903 于 2006/10/14 9:34:00 發(fā)布:
用asm文件和C文件混合編譯 C中如果使用絕對(duì)定址如_at_關(guān)鍵字,則無(wú)法初始化。 在匯編中定義數(shù)據(jù),聲明為全局變量 C中使用extern聲明 |
|
| 11樓: | >>參與討論 |
| 作者: dyidtm 于 2006/10/14 14:25:00 發(fā)布:
看看這個(gè) _GOTOISP 是帶入口參數(shù)的函數(shù)名,ISP是文件名,0xf000是CODE絕對(duì)地址。 * - 本貼最后修改時(shí)間:2006-10-14 14:31:11 修改者:dyidtm |
|
| 12樓: | >>參與討論 |
| 作者: dyidtm 于 2006/10/14 14:38:00 發(fā)布:
是這個(gè)圖片
|
|
| 13樓: | >>參與討論 |
| 作者: yulianzhan 于 2006/10/14 15:56:00 發(fā)布:
KEIL C中有現(xiàn)成的偽指令 具體不記得了。 好象類似@之類的指令可以直接定位絕對(duì)地址包括ROM RAM |
|
| 14樓: | >>參與討論 |
| 作者: kuck 于 2006/10/14 21:04:00 發(fā)布:
lp data unsigned CHAR xdata *p,*q; unsigned CHAR code lp[10]={1,2,4,5,3,..............}; unsigned CHAR i; p=0x0005; q=lp[0]; for(i=0;i<10;i++) { *p=*q; p++; q++; } |
|
| 15樓: | >>參與討論 |
| 作者: lxg_fly 于 2006/10/16 9:44:00 發(fā)布:
謝謝 有些人的方法也許有效,我去看看,不過(guò)還有些朋友也許沒(méi)看懂我的意思。我是往指定的CODE空間里寫(xiě)個(gè)數(shù)組,不是讀。謝謝 to dyidtm 你的那種方法是不是靠連接把某個(gè)數(shù)組放在指定位置?能舉個(gè)例子嘛? 還有用ABSACC.H的朋友:我記得這個(gè)頭文件只能完成絕對(duì)地址訪問(wèn),貌似只能讀吧? |
|
| 16樓: | >>參與討論 |
| 作者: lxg_fly 于 2006/10/16 9:48:00 發(fā)布:
我想知道: 用連接的朋友能給我舉個(gè)具體的例子嘛? 比如我的數(shù)組 uchar code abc[6]={0x01,0x09,0x22,0x33,0x44,0x55}; 要具體吧它放在0X1000起始的地址怎么設(shè)置? 設(shè)置成功編譯后怎么檢驗(yàn)是否成功? |
|
| 17樓: | >>參與討論 |
| 作者: xc_cz 于 2006/10/16 10:04:00 發(fā)布:
C語(yǔ)言里不能這么做 因?yàn)镃生成的代碼存放的空間都是編譯器自動(dòng)完成的,如果認(rèn)為的向某地址寫(xiě)數(shù)據(jù)的話,很容易出錯(cuò)。 |
|
| 18樓: | >>參與討論 |
| 作者: yuands 于 2006/10/25 21:54:00 發(fā)布:
沒(méi)有必要絕對(duì)定位啊 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |