會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





XC32如何指定絕對位址
新會員
註冊日期:
2012/12/04 09:55
所屬群組:
註冊會員
文章: 12
等級: 2; EXP: 25
HP : 0 / 31
MP : 4 / 608
離線
我想指定一個程式空間放置序號
讓PM3燒錄時可以順便燒序號

有看到XC32的USER GUIDE 是加__at()
const unsigned char SN[2] __at(123) = { 0x27,0x56 };

但這樣加之後編譯會出錯

error: expected '=', ',', ';', 'asm' or '__attribute__' before '__at'

請問這邊我需要怎麼改??

環境
XIDE V3.61
XC32 V2.15
PIC32MX450F256H

3月27日 00:53:54
轉換PDF檔 列印


Re: XC32如何指定絕對位址
管理員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
文章: 1627
等級: 34; EXP: 11
HP : 0 / 827
MP : 542 / 21924
離線
__at()要開啟CCI才能用喔,
如果不想開CCI, 也可以用之前的語法
__attribute__((address())).

附加檔案:



jpg  En CCI.jpg (108.61 KB)
7103_5c9af47ef1eeb.jpg 902X592 px

3月27日 11:56:49
轉換PDF檔 列印


Re: XC32如何指定絕對位址
新會員
註冊日期:
2012/12/04 09:55
所屬群組:
註冊會員
文章: 12
等級: 2; EXP: 25
HP : 0 / 31
MP : 4 / 608
離線
AdamSyu 你好

用__attribute__((address(0x1000)))
會出現
error: Physical-memory address used with address attribute. Use a virtual-memory address for SN

請問這是哪邊有問題呢
是我的位置不能這樣定義嗎?

3月29日 00:09:51
轉換PDF檔 列印


Re: XC32如何指定絕對位址
管理員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
文章: 1627
等級: 34; EXP: 11
HP : 0 / 827
MP : 542 / 21924
離線
PIC32的記憶體存取, 從CPU角度看出去, 必須是虛擬記憶體位置.
請參考MCU4101教材.
http://www.microchip.com.tw/Data_CD/W ... -Bits/MCU4101T%20v2.0.zip

附加檔案:



jpg  01.jpg (264.01 KB)
7103_5c9d77a264eab.jpg 1629X1125 px

3月29日 09:40:52
轉換PDF檔 列印


Re: XC32如何指定絕對位址
新會員
註冊日期:
2012/12/04 09:55
所屬群組:
註冊會員
文章: 12
等級: 2; EXP: 25
HP : 0 / 31
MP : 4 / 608
離線
unsigned char const SN[2] __attribute__((address(0x9D000100))) = { 0x31,0x32 };

程式位置設定0x9D000100

在PM3位置設定為0x1D000100

但這樣還是無法使用
讀到的值 還是0x31 0x32

請問這是哪邊理解錯了??

4月01日 22:41:55
轉換PDF檔 列印


Re: XC32如何指定絕對位址
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 1027
等級: 28; EXP: 31
HP : 0 / 682
MP : 342 / 24199
離線
老哥,那個flash Program memory可是compiler地盤...
不是想放就能放的...

1.申請(要設定)保留區 --- 標準做法
"通知"主人(comiler),要一塊"保留地"...

2.不申請(借用/偷偷用) --- 放在未使用區(尾端)
這次成功(偷用),下次不一定會成功...

一來沒申請,二來也不知找空曠區來"借用"...
這很難達到所要目地...

4月02日 05:43:18
轉換PDF檔 列印


Re: XC32如何指定絕對位址
管理員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
文章: 1627
等級: 34; EXP: 11
HP : 0 / 827
MP : 542 / 21924
離線
試試看吧

#include <xc.h>

unsigned int Valx = 0x22;
unsigned int Valy __attribute__((address(0xA0001000))) = 0x33;
unsigned int Valz __at(0xA0001100) = 0x44; // Enable CCI to use it
const unsigned int ConstValx __attribute__((address(0xBD001000))) = 0x55aa;

void main(void)
{
    while (
1);
}

附加檔案:



jpg  const val.jpg (194.73 KB)
7103_5ca31da568644.jpg 650X571 px

jpg  val.jpg (184.52 KB)
7103_5ca31dac113b3.jpg 650X571 px

4月02日 16:30:38
轉換PDF檔 列印


Re: XC32如何指定絕對位址
新會員
註冊日期:
2012/12/04 09:55
所屬群組:
註冊會員
文章: 12
等級: 2; EXP: 25
HP : 0 / 31
MP : 4 / 608
離線
還是不行
位置都有改到
就不知道是哪邊有問題

附加檔案:



jpg  1554459711251.jpg (115.97 KB)
10892_5ca7281eef410.jpg 801X304 px

jpg  1554459694571.jpg (113.68 KB)
10892_5ca728259f0f8.jpg 792X195 px

jpg  1554459246392.jpg (283.00 KB)
10892_5ca7282cbd2e8.jpg 537X410 px

4月05日 18:04:53
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2019 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project