會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





dsPIC33EV256GM106 自動Reset 跟 .hex檔的編譯大小
新會員
註冊日期:
2015/05/18 10:05
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 101
離線
版主 各位 大家好 ,

首先是我的mcu型號跟IDE平台

MCU : dsPIC33EV256GM106
IDE : X IDE v3.35 +
Compiler : XC16 v1.26

小弟還是個新手 , 想請教2個問題 如下 :

Q1. MCU會自動Reset
當程式執行時, 跑一段時間後會自動被reset, 約20~60秒 (每次都不一定)
我為了測試這個問題 , 我把大部分中斷(AD,CN,Timer)關掉, 動作流程 僅用UART RX中斷控制 LED亮燈.

作法上: 我先讓 LED1恆亮 (表示 程式有在跑),
透過UART控制 LED2亮燈(恆亮) , 如果程式有被Reset的話 LED2應該會滅掉, 不會自己亮起來.

實際執行時, LED2果然自動滅掉 , LED1有閃了一下 (應可推論程式被Reset吧?)


請問這是因為BOR的Reset嗎? 還是其他Reset可能被觸發到?

我的mcu每隻VDD電源腳都接 2.2u並0.1uF, AVDD則是10u並0.1uF, 5V電壓power電容是220u

-----------------------------------我是分隔線-------------------------------------

Q2. hex檔的編譯大小
因為X IDE 中可以看到程式編寫的記憶體用量 ,
Data used: 4982 bytes(約30%) , Program used: 23472 words(約13%)
但最後IDE compile出來的 hex檔 卻是131Kbytes.

若程式中, 多include1組矩陣(const int, 大小4096) , 光這個矩陣的增減 ,
hex檔就差了40Kbyte, 為什麼會有這個落差?
int佔2個byte, 大小4096共佔8192bytes

是沒最佳化呢? IDE設定有錯? 還是 我程式寫得太差了? (加一加有2000多行)

2016/09/25 17:06

cctsai1984 於 2016年09月25日 17:30:35
轉換PDF檔 列印


Re: dsPIC33EV256GM106 自動Reset 跟 .hex檔的編譯大小
資深會員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
文章: 1577
等級: 33; EXP: 70
HP : 163 / 817
MP : 525 / 18685
離線
1.查看看是不是Trap發生,
2.hex檔案大小, 是根據檔案配置表的設定而來,
跟實際的韌體大小沒有關係.

2016/09/26 12:15
轉換PDF檔 列印


Re: dsPIC33EV256GM106 自動Reset 跟 .hex檔的編譯大小
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14270
等級: 72; EXP: 70
HP : 1075 / 1792
MP : 4756 / 73279
離線
Q1: Watch-Dog Timer 有關掉嗎?

2016/09/26 13:52
轉換PDF檔 列印


Re: dsPIC33EV256GM106 自動Reset 跟 .hex檔的編譯大小
新會員
註冊日期:
2015/05/18 10:05
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 101
離線
Ryang 您好,

我一開始就用下列指令把Watch Dog Timer 關掉了 :
_FWDT( FWDTEN_OFF);
應該是這樣對吧!?

另外, 暫存器 RCON 的 bit4 - WDTO 一直都是 0
引用:

Ryang 寫道:
Q1: Watch-Dog Timer 有關掉嗎?

2016/09/26 14:09
轉換PDF檔 列印


Re: dsPIC33EV256GM106 自動Reset 跟 .hex檔的編譯大小
新會員
註冊日期:
2015/05/18 10:05
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 101
離線
引用:

AdamSyu 寫道:
1.查看看是不是Trap發生,
2.hex檔案大小, 是根據檔案配置表的設定而來,
跟實際的韌體大小沒有關係.



AdamSyu 您好 :

1 . 請問 Trap 是指 addr. 為0740 的RCON<bit14>嗎!?
TRAPR 一直都是 0 , RCON的值為 0x0083

另外 , debugger 有回傳訊息 :
No source code lines were found at current PC 0x2e0

我看到
Program Memory 的 addr. 0x2e0 , Opcode為DA4000, DisAssy 為 BREAK

2. 檔案配置表是指 gld檔 嗎!? 我要怎麼配置它的大小,
是像做Bootloader之前去改 gld的 __CODE_BASE 跟 __CODE_LENGTH
還有 program (xr) : ORIGIN 跟LENGTH
嗎!?

2016/09/26 14:20
轉換PDF檔 列印


Re: dsPIC33EV256GM106 自動Reset 跟 .hex檔的編譯大小
新會員
註冊日期:
2015/05/18 10:05
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 101
離線
大家好 ,

針對Q1的部分,
後來我查到 Deadman Timer event 會reset mcu, 所以我直接把DMT Disable 掉就沒被reset了,
雖然目前還不知道是甚麼原因觸發DMT event , 但能 不被reset就很高興了
附帶一提 , 這個是跟WDT一樣嗎? (不摸摸牠就咬人)

2016/09/27 08:56
轉換PDF檔 列印






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

[進階搜尋]


搜尋
Microchip連結

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