Re: 請教 C18 程式寫法問題
|
||||
---|---|---|---|---|
高級會員
|
找到問題了...真的是宣告錯誤..><
const far rom unsigned char *rom BAR_NULL[] = { BE_01,BE_02,BE_03,BE_04,BE_05,BE_06,BE_07 }; 這樣就沒問題了 謝謝版大~
發表於: 2006/11/3 1:46
|
|||
|
Re: About Boot loader??
|
||||
---|---|---|---|---|
高級會員
|
有聽過很多種目的...
有要更新table資料的 有要把程式載到ram執行的 有要更新程式碼的.. 就我的目的而言... 我是想提供一個簡單的方式可以讓客戶或使用者去更新程式..
發表於: 2006/11/2 15:25
|
|||
|
Re: 請教.一直解決不了的問題.
|
||||
---|---|---|---|---|
高級會員
|
MOVWF TRISD ; BANKSEL TRISD //??? BANKSEL PORTD? ; MOVLW 0 ; BSF INTCON,T0IE BSF INTCON,GIE BANK 沒切回來??
發表於: 2006/11/2 12:15
|
|||
|
Re: 請教 C18 程式寫法問題
|
||||
---|---|---|---|---|
高級會員
|
有...之前有加入宣告...結果還是一樣
看了一下map檔...是data耶? BAR_NULL 0x000100 "data" extern D:\My Works\TEST\SOURCE\graph.dat 我要宣告一個指標陣列, 是宣告方式不對嗎??
發表於: 2006/11/2 12:01
|
|||
|
Re: 請教.一直解決不了的問題.
|
||||
---|---|---|---|---|
高級會員
|
Watchdog -> Enabled
但是沒看到有clrwdt的指令? 會不會是watchdog重置cup造成的
發表於: 2006/11/2 10:57
|
|||
|
Re: 請教開發單晶片程式時這樣的架構可以嗎?
|
||||
---|---|---|---|---|
高級會員
|
ORG 0
GOTO MAIN ORG 0x004 INTERRUPT: PUSHR 接下來是判斷中斷,並執行中斷中的程式 如ADC、按鍵、時間 ///GOTO MAINLOOP ---> 會出問題 POPR RETFIE ------------------------------------------------- MAIN: 系統的初始化 ///GOTO MAINLOOP ---> 可以不用 ------------------------------------------------- MAINLOOP: 相關計算程式,優先權比較不高的計算, 如訊號轉換計算等等 GOTO MAINLOOP
發表於: 2006/11/2 10:00
|
|||
|
請教 C18 程式寫法問題
|
||||
---|---|---|---|---|
高級會員
|
以下是table資料...
far rom unsigned char BE_01[] = {......................}; far rom unsigned char BE_02[] ={......................}; .. .. 我宣告了一個TABLE索引陣列... const far rom unsigned char *BAR_NULL[] = { BE_01,BE_02,BE_03,BE_04,BE_05,BE_06,BE_07 }; 當我用這樣的方式宣告>n個陣列後.. complier後..會出現下面的錯誤訊息? 但只要拿掉幾個table索引陣列後程式執行也沒發生問題? 請問這樣的寫法是否有什麼問題??? MPLINK 4.03, Linker Copyright (c) 2006 Microchip Technology Inc. Error - section '.idata_TEST.o' can not fit the section. Section '.idata_TEST.o' length=0x00000136 Errors : 1
發表於: 2006/11/2 9:52
|
|||
|
Re: 想請問bootloader跟使用者程式是不是會衝突呢?
|
||||
---|---|---|---|---|
高級會員
|
金的吶~GOTO 果然是絕對定址
org 0x0000 goto 0x1a --> 0DEF,00F0 org 0x0002 goto 0x1a --> 0DEF,00F0 這樣子感覺起來.... 要嘛..程式一開始就必須偏移... 不然bootloader程式就要針對某些指令做偏移的動作.. 還是有其它的方式..++?
發表於: 2006/10/23 8:52
|
|||
|
Re: 想請問bootloader跟使用者程式是不是會衝突呢?
|
||||
---|---|---|---|---|
高級會員
|
我也想了解一下..
我覺得是指令組譯出來的定址方式 goto 0x30 ... complier 出來後 0x30 如果是pc相對定址... 那goto 0x30...實際上是偏移pc 值 0x30的位址.. 而不是跳到程式0x30的位址... 這樣如果程式是從0x200開始.. goto 0x30...實際上就是偏移到0x230的位址.. 所以程式還是能執行... 如果bootloader程式..把沒有設定偏移的程式.. 從0x200開始燒錄..應該也不會影響程式的執行 不知道我這樣想對不對??..
發表於: 2006/10/21 15:50
|
|||
|