會員登陸
帳號:

密碼:

記住我



忘記密碼?

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



(1) 2 3 4 ... 7284 »


指定 ROM區 變數的位址
初級會員
註冊日期:
1月13日 17:42:39
所屬群組:
註冊會員
文章: 21
等級: 3; EXP: 31
HP : 0 / 57
MP : 7 / 84
離線
您好.

請問 在ROM區 能指定變數在絕對的位址嗎??

今天 14:38:25
轉換PDF檔 列印


EEPROM access
初級會員
註冊日期:
1月13日 17:42:39
所屬群組:
註冊會員
文章: 21
等級: 3; EXP: 31
HP : 0 / 57
MP : 7 / 84
離線
請問
EEPROM 只能由內部access??
能直接由外部access EEPROM 嗎??

今天 10:23:34
轉換PDF檔 列印


Re: 燒錄時 可以指定只燒EEPROM 嗎??
初級會員
註冊日期:
1月13日 17:42:39
所屬群組:
註冊會員
文章: 21
等級: 3; EXP: 31
HP : 0 / 57
MP : 7 / 84
離線
再請問..
要指定燒 EEPROM 的內容 要怎麼做?
要準備HEX?
可用bin 檔或 在code 裡直接加?

昨天 15:48:01
轉換PDF檔 列印


Re: 燒錄時 可以指定只燒EEPROM 嗎??
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15083
等級: 73; EXP: 95
HP : 1094 / 1823
MP : 5027 / 86364
離線
可以的,參考一下貼圖中的選項:

附加檔案:



jpg  擷取.JPG (71.83 KB)
16_5f0bfacf5224c.jpg 897X399 px

昨天 14:10:23
轉換PDF檔 列印


燒錄時 可以指定只燒EEPROM 嗎??
初級會員
註冊日期:
1月13日 17:42:39
所屬群組:
註冊會員
文章: 21
等級: 3; EXP: 31
HP : 0 / 57
MP : 7 / 84
離線
燒錄時 可以指定只燒EEPROM 嗎??

昨天 14:01:25
轉換PDF檔 列印


Re: Bootloader編譯問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15083
等級: 73; EXP: 95
HP : 1094 / 1823
MP : 5027 / 86364
離線
1. Application 程式適用 C 寫的,所以一定要有完整的 C 啟動程式來做初始化的設定,所以可以是 Application 是一個完整的專案。只要在 Linker 的設定項裡宣告此 Application 的起始位址從哪開始。圖例為設定 Application 從 0x1000 開始編譯。

2. 假設組語的 0x0004 中斷進入點是置放 goto 0x1004 的話,你可以在 0x1004 的位址用嵌入式組語的方式寫入 #asm goto ISR #endasm 區塊式的嵌入式組語或 asm(“goto ISR”) 單行的嵌入式組語,將中斷的執行轉給 ISR()的中斷函數。當然還是要宣告一下 goto ISR 是放在 0x1004 的位址。

附加檔案:



jpg  擷取.JPG (52.08 KB)
16_5f0be5750ffb3.jpg 900X319 px

昨天 12:36:32
轉換PDF檔 列印


Re: Bootloader編譯問題
高級會員
註冊日期:
2006/06/06 08:38
所屬群組:
註冊會員
文章: 112
等級: 9; EXP: 60
HP : 0 / 215
MP : 37 / 8866
離線
謝謝Ryang提供的資訊
如你所說,將Bootloader與App分開,是比較單純的~
我現在的想法是
Bootloader是一個專案(組合語言)
Application是另一個專案(c語言)
然後在Application專案中編譯前使用"loadabler"-->"Add Loadable Project" 加入Bootloader專案
再進行編譯,這樣子想法對嗎?

昨天 10:52:09
轉換PDF檔 列印


Re: Bootloader編譯問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15083
等級: 73; EXP: 95
HP : 1094 / 1823
MP : 5027 / 86364
離線
引用:
Bootloader的一般用法我知道,只是我不要把Bootloader放在前面與影響中斷向量位址與設定,
我要規劃Bootloader在程式容量的後半部


Bootloader 放在最前面是會占掉中斷向量位址的。如果你在 Linker 下設定 Application 的 Code Offset 位址是 0x1000 的話,那基本上 Application 的中斷就設定在 0x1004 的位址,只要在 Bootloader 的程式裡用 code [Section name] = 0x0004 的宣告放入 goto 0x1004 的指令即可。這時發生中斷就會跳到 0x1004 的 ISR 函數執行。ISR 這函數只要宣告成 : void interrupt isr (void) 即可。

引用:
當然這需要考慮到如何進入(例UART)與如何防止寫入錯誤變成磚的問題
上述的功能我已經用組合語言寫好了,已試驗成功,可正常執行
只是目前要改成C語言,遇到編譯Bootloader位址的問題


如過你的 Bootloader 已用組合語言完成了,那會比用 C 來的精簡。其實Bootloader及Application 分開來看會比較單純好設計。建議你把這組語寫的 Bootloader 獨立起來,讓它跟 Application 的 C 程式僅量無瓜葛。

引用:
我知道可以用合併的方式來做,只是作法想單純一點,看可不可以一個project就處理掉
我知道可以用強制定位址 @0xnnnn來做,只是副程式很多,要定址比較麻煩


如果你用強制定位址 @0xnnnn 的方式訂定函數的位址後,那麼在此函數以後的程式都會依序的放在此強定位址的後面,不後亂擺其位址的。

昨天 09:57:46
轉換PDF檔 列印


Re: Bootloader編譯問題
高級會員
註冊日期:
2006/06/06 08:38
所屬群組:
註冊會員
文章: 112
等級: 9; EXP: 60
HP : 0 / 215
MP : 37 / 8866
離線
謝謝Ryang回覆
Bootloader的一般用法我知道,只是我不要把Bootloader放在前面與影響中斷向量位址與設定,
我要規劃Bootloader在程式容量的後半部

當然這需要考慮到如何進入(例UART)與如何防止寫入錯誤變成磚的問題
上述的功能我已經用組合語言寫好了,已試驗成功,可正常執行
只是目前要改成C語言,遇到編譯Bootloader位址的問題

我知道可以用合併的方式來做,只是作法想單純一點,看可不可以一個project就處理掉
我知道可以用強制定位址 @0xnnnn來做,只是副程式很多,要定址比較麻煩
才來尋問各位有沒有不同的看法與方式

昨天 09:07:50
轉換PDF檔 列印


Re: Bootloader編譯問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15083
等級: 73; EXP: 95
HP : 1094 / 1823
MP : 5027 / 86364
離線
Bootloader 一般都會與 Reset Vector 位址 0x0000 一起使用。開機重置時 (Reset) 都會先到 0x0000 來執行。如果你的 Bootloader 沒有放在這裡,那要怎樣開機後執行 Bootloader 呢?

函數及變數是可以透過強制定位址 @0xnnnn 的方式來訂定位址的。但這些 Bootloader 所使用到的函數沒有集中與 Bootloader 同在一起的話,是比較不建議這樣的使用,當然所產生的 Bootloader Hex Code 一樣是可以燒錄的。只要確認所執行的 Bootloader 不會將 Application 所使用到記憶體區塊到最底記憶區塊做清除的動作。

一般 Bootloader 都是使用 ISCP 燒錄器是先燒到 PIC 做開機的執行,而應用程式是可以和 Bootloader 整合成一個 Hex 檔ㄧ次就燒錄完成。事後的要更動應用程式時在啟用 Bootloader 來覆蓋舊的應用程式。

使用 Bootloader 是有很多的限制,像 Configuration Bits 的震盪選擇就不可以更動,一些固定的位址也需要特別的設定,如中斷向量位址等。

7月10日 15:12:03
轉換PDF檔 列印



(1) 2 3 4 ... 7284 »




搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project