Re: codeoffset 問題
|
||||
---|---|---|---|---|
初級會員
|
先回到我初始的問題, 先不要和 bootloader 挷一起問好了
單純的application(無bootloader), 有用到中斷 設定了 codeoffset (如0x600)後, 中斷就不能用了 在沒設offset 前 中斷是OK的 有無什麼方法 讓offset 後, 中斷能正常使用???
發表於: 2020/6/4 15:34
|
|||
|
用MCC gen 出的 bootloader code 無法進入 __interrupt() INTERRUPT_InterruptManager () 問題
|
||||
---|---|---|---|---|
初級會員
|
MCU: PIC16F18345
用MCC gen 出的 bootloader code 是接受UART CMD, 我想修改接收 I2C CMD 的方式, (因此再由MCC gen 出 I2C 的 code) 但bootloader 的code , 當 PIC16F18345 接收到I2C 時, 沒跑進 __interrupt() INTERRUPT_InterruptManager () { }.. 請問 1. MCC bootloader code 是不是將 INTERRUPT_VECTOR 移到其他位置? 2. 若要將 MCC bootloader code 能接I2C 且進到__interrupt() INTERRUPT_InterruptManager () { }.. 要如何修改??
發表於: 2020/6/4 11:56
|
|||
|
Re: 請問用MCC 產生的 Write_Config() 可Write Config word 嗎????
|
||||
---|---|---|---|---|
初級會員
|
OK.. 謝謝您的說明
發表於: 2020/6/4 9:56
|
|||
|
Re: codeoffset 問題
|
||||
---|---|---|---|---|
初級會員
|
Bootloader project 有設定 ROM Range: 0-6FF 嗎? => 有
已有參考 該文件的做法了 你意思是要 1. 先將Bootloader project 有設定 ROM Range: 0-6FF 2. APPLICATION 設OFFSET 到0x700 3. 將Bootloader 及 APPLICATION 燒進 PIC16F18345 當程式 跑在 APPLICATION 時, 在APPLICATION 的 void __interrupt() INTERRUPT_InterruptManager (void) 就能使用... 有I2C 的中斷, 就可以跑到這段CODE 嗎???
發表於: 2020/6/4 9:35
|
|||
|
codeoffset 問題
|
||||
---|---|---|---|---|
初級會員
|
MCU: PIC16F18345
我設定 CODEODDSET=0x700 之後 下I2c 就跑不到 這裡.. void __interrupt() INTERRUPT_InterruptManager (void) { // interrupt handler if(INTCONbits.PEIE == 1) { if(PIE1bits.BCL1IE == 1 && PIR1bits.BCL1IF == 1) { MSSP1_InterruptHandler(); } else if(PIE1bits.SSP1IE == 1 && PIR1bits.SSP1IF == 1) { MSSP1_InterruptHandler(); if (1==SSP1STATbits.D_nA && 0==SSP1STATbits.R_nW ) { if (i2c1RdData==0xAA) { enterBootLoader=1; } 請問 設定完 codeoffset 後, Reset_Vector 就移到 0x700?? Interrupt_Vector 也會同步移到 0x704 ?? 若是的話.. 是不是還需什麼設定, 才能讓 "void __interrupt() INTERRUPT_InterruptManager (void)" 工作正常???
發表於: 2020/6/3 17:47
|
|||
|
X IDE 使用問題
|
||||
---|---|---|---|---|
初級會員
|
請問
MPLAB X IDE 在 BUILD CODE 時, 能指定特定的位址為特定的值嗎?? (如0x1FFF=0x55) 嗎?
發表於: 2020/6/3 15:20
|
|||
|
Re: 請問用MCC 產生的 Write_Config() 可Write Config word 嗎????
|
||||
---|---|---|---|---|
初級會員
|
我用的是PIC16F18345.
用MCC 的bootloader... 其中有看到 Write_Config () function. 我用我自己寫的UBHA (Unified Bootloader Host Application) GUI 發出 WRITE_CONFIG 命令 給PIC16F18345, 在debug 的模式下, 可以看到MCU 程式有正確跑完Write_Config () for (uint8_t i = 0; i < frame.data_length; i += 2) { NVMDATL = frame.data[i]; NVMDATH = frame.data[i+1]; StartWrite(); if ((++ NVMADRL) == 0x00) { ++ NVMADRH; } } frame.data[0] = COMMAND_SUCCESS; 並回覆 COMMAND_SUCCESS.. 但讀回 CONFIG WORD... 並無改變.. 想請問 CONFIG WORD 是可被Write 嗎?? 還是 READ ONLY??
發表於: 2020/6/3 14:57
|
|||
|
請問用MCC 產生的 Write_Config() 可Write Config word 嗎????
|
||||
---|---|---|---|---|
初級會員
|
請問用MCC 產生的 Write_Config() 可Write Config word 嗎????
發表於: 2020/6/3 8:54
|
|||
|