:::

論壇索引


Board index » All Posts (GodBlessU)




Re: MPLAB IPE, command line
#1
資深會員
資深會員


原本我是使用PICKit 3做測試, 為了要跟您一樣, 我這次換了PICKit 4.

兩者的差異在於, PICKit 3是使用HID class, 速度64K/sec. PICKit 4是使用WinUSB driver, 速度可以到1.2MByte/sec.

下面是我測試燒錄PIC18F26K20 (64KByte)的數據.

1. IPE : 1秒
2. IPE Command line 呼叫 IPE : 扣除開啟IPE的時間後, 也是1秒

我們兩個的IPE command line時間差很多(你的10秒, 我的一樣是1秒)~ 兩個應該一樣, 不應該差這麼多, 這不make sense.

請問您的MPLAB X IPE版本?

發表於: 今天 16:18
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
頂部


Re: MPLAB IPE, command line
#2
資深會員
資深會員


因為我手上沒有PIC16F18345(28KByte), 所以我使用PIC18F26K20(64Kbyte)來做測試.

下面是我的測試結果(PICKit 3)

1. IPE 燒錄時間: 扣掉開啟IPE的時間, 大約18秒
2. IPE Command line: 扣掉開啟IPE的時間, 大約14秒.

雖然每次使用IPE command line都會啟動MPLAB X IPE, 但是以Erase/Program/Verify的時間, command line還是快一點.

以下是美國論壇的相關討論

https://www.microchip.com/forums/m948727.aspx

之前您有提到過MPLAB X IDE/IPE是否有相關的Dll可以透過您們自己的寫程式呼叫調用來做燒錄. 是有的, 叫做mdbCOR.

您可以參考一下下面MPLAB X SDK網站來下載.

http://www.opensource4pic.org/content ... t/mplab-x-sdk-mplab-x-ide

這部分我沒有測試過, 您可以參考一下~

Attach file:



jpg  PIC18F26K20_Flash_64KB_Prgramming_Time_18sec_IPE.jpg (82.53 KB)
5477_5f642c4c69ab9.jpg 747X605 px

發表於: 今天 11:39
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
頂部


Re: MPLAB IPE, command line
#3
資深會員
資深會員


請問您使用的MCU是哪一顆? 跟flash的大小有關係.

發表於: 昨天 22:29
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
頂部


Re: MPLAB IPE, command line
#4
資深會員
資深會員


請問您用command line燒錄hex的時間要多久?

或者是先把IPE開啟, 之後用command line燒也縮短開啟時間.

發表於: 昨天 13:03
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
頂部


Re: MPLAB IPE, command line
#5
資深會員
資深會員


您可以參考一下 MPLAB X IDE 5.40安裝路徑下的CommandLineReadmes.htm檔案 -> Release Notes for IPE Command Line Interface.

小弟之前使用的範例如下: (燒錄器PICKit 4 , MCU: PIC18F26K20)

java -jar ipecmd.jar -P18F26K20 -TPPK4 -F"c:/PIC18F26K20_APP_Demo.hex" -M

Attach file:



jpg  IPE_Command_Line_Interface_PIC18F26K20.jpg (82.88 KB)
5477_5f583d86b42fa.jpg 753X421 px

發表於: 9/9 10:27
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
頂部


Re: 指定 ROM區 變數的位址
#6
資深會員
資深會員


const int status __at(0x2F);

發表於: 7/15 15:22
頂部


Re: 用MCC gen 出的 bootloader code 無法進入 __interrupt() INTERRUPT_InterruptManager () 問題
#7
資深會員
資深會員


1. MCC Generate出來的I2C slave default是使用中斷.
2. PIC16F系列只有一個中斷向量, 只能給Bootloader或是Application其中一個使用
3. 問題3, 在MCC generate的Bootloader code就有了~ 看一下附圖. 我剛剛測試是可以的~ 您試一下!

Attach file:



jpg  (0.00 KB)


發表於: 6/4 17:07
頂部


Re: codeoffset 問題
#8
資深會員
資深會員


如果您只單純將Application做code offset到0x600, 也不和Bootloader Project combine在一起的話, 那就要在您的Application自行remap Reset Vector到0x600.

請問您是怎麼Remap中斷的?

發表於: 6/4 17:00
頂部


Re: 用MCC gen 出的 bootloader code 無法進入 __interrupt() INTERRUPT_InterruptManager () 問題
#9
資深會員
資深會員


MCC所產生的UART Bootloader並沒有使用Interrupt mode, 而是使用polling的方式, MCC已經將Reset Vector與Interrupt Vector幫您Remap到Application的起始位址(0x700)了.

所以您在Bootloader FW無法使用中斷. 因為開中斷的風險是當Flash在做Erase或是Write時, 萬一中斷發生了, 會導致Flash操作異常. 所以UART Bootloader才使用polling mode, 再者也不佔用Application會使用到PIC16的唯一中斷向量.

除非您的Application code沒有使用到中斷, 就可以再Bootloader使用中斷.(但記得把那段Remapped Reset Vector & Interrupt Vector的code註解掉)

檢查一下GIE 與 PIE是否有Enable.

發表於: 6/4 12:16
頂部


Re: codeoffset 問題
#10
資深會員
資深會員


您先根據Bootloader User Guide的說明, 將Bootloader和Application透過MPLAB X IDE的loadables功能合併再一起後, 透過燒錄器燒錄.

先測試看看有沒有正確從Bootloader jump到 Application.

可以用燒錄器同時debug兩個project.

發表於: 6/4 10:38
頂部



(1) 2 3 4 ... 36 »



:::

Microchip連結

http://elearning.microchip.com.tw/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源