會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





PIC12F1822可不可以藉由I2c來接收hex檔,然後寫錄至它的Program Memory,達到燒錄新hex的效果呢?
新會員
註冊日期:
2016/12/27 11:40
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 1
離線
大家好,我目前遇到一個案子

這個專案有一個主IC,並且使用I2C與pic12F1822相連接
因此主IC可以透過I2C讓pic12F1822進行一些工作。

對於燒錄hex進去pic12F1822的方法
一般來說,我是使用pickit 3配合MPLAB IPE來將hex檔燒錄至pic12F1822
(電路板上有拉接腳出來配合pickit 3皆口)
這個方法應該是通用的In Circuit Serial Programming方式

不過我們想要讓主ic也有能力更新/升級 pic12F1822
具體來說:
我想要從主IC藉由I2c傳送hex檔,讓pic12F1822收到hex資料後,寫錄至它的Program Memory
來達到更新/升級 pic12F1822的效果

我有個想法是:
收到一點hex檔的小片段,立即寫進去Program Memory,寫進去Program Memory的函式是使用
FLASH_READ(addr)
FLASH_WRITE(addr,data)
FLASH_ERASE(addr)
(資料來源 http://www.microchip.com/forums/m664176.aspx )

不知道做不做得到呢?
如果這個思路是對的,我該繼續研讀或是注意什麼呢?
還是說要寫新hex檔案給Program Memory,只能乖乖地走In Circuit Serial Programming呢?
懇請大家指導


另外,我還有個小問題想要請教:
pic12F1822的Program Memory是3.5KB
(資料來源 http://www.microchip.com/wwwproducts/en/PIC12F1822)

但是我編出來的hex檔大約是12.0 KB左右 (使用XIDE配合xc8編譯器)
12.0 KB明明大於3.5KB ,那為什麼總是可以正確燒進去,並且正常工作呢?
Open in new window


學藝不精,問了這些粗淺的問題
還請大家見諒
感恩大家撥冗回答

2016/12/27 14:57
轉換PDF檔 列印


Re: PIC12F1822可不可以藉由I2c來接收hex檔,然後寫錄至它的Program Memory,達到燒錄新hex的效果呢?
初級會員
註冊日期:
2013/01/08 14:46
所屬群組:
註冊會員
文章: 26
等級: 3; EXP: 83
HP : 0 / 70
MP : 8 / 1022
離線

2016/12/27 15:17
轉換PDF檔 列印


Re: PIC12F1822可不可以藉由I2c來接收hex檔,然後寫錄至它的Program Memory,達到燒錄新hex的效果呢?
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14184
等級: 72; EXP: 56
HP : 1073 / 1789
MP : 4728 / 71265
離線
1. 回答 10.2KB 為何可以燒進 3.5kB 的 Falsh Memory:

因為 10.2KB 所用的是 HEX 格式,而 Flash 燒錄用的 BIN 的碼。Hex 轉換成 Bin 後大約為 30% 的有效碼。所以 10.2KB 的 Hex 轉成 Bin 後剩下 3.1KB 所以可以裝的下。

2. Microchip 有供 I2C Bootloader 的方案,可以即時下載更新韌體的動作。

2016/12/27 17:42
轉換PDF檔 列印


Re: PIC12F1822可不可以藉由I2c來接收hex檔,然後寫錄至它的Program Memory,達到燒錄新hex的效果呢?
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14184
等級: 72; EXP: 56
HP : 1073 / 1789
MP : 4728 / 71265
離線
PIC12F1822 雖只有 8-pin 但裡面有 UART 的周邊,可以用 UART 做Bootloader,這樣會比用 I2C 簡單,Bootloader 的程式碼會更小。

2016/12/28 14:54
轉換PDF檔 列印


Re: PIC12F1822可不可以藉由I2c來接收hex檔,然後寫錄至它的Program Memory,達到燒錄新hex的效果呢?
資深會員
註冊日期:
2007/11/05 08:29
所屬群組:
註冊會員
文章: 204
等級: 13; EXP: 32
HP : 0 / 308
MP : 68 / 9104
離線
UART Bootloader 很方便 如果用某些藍芽模組 如 HC-06 就可以做無線模式的更新 推!

2016/12/29 16:11
轉換PDF檔 列印


Re: PIC12F1822可不可以藉由I2c來接收hex檔,然後寫錄至它的Program Memory,達到燒錄新hex的效果呢?
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14184
等級: 72; EXP: 56
HP : 1073 / 1789
MP : 4728 / 71265
離線
順手翻到一個 I2C Bootloader 的應用筆記。

Application Note : AN1302 An I2C Bootloader for the PIC16F1XXX Enhanced Core 可以參考一下:
http://www.microchip.com/wwwAppNotes/ ... tes.aspx?appnote=en546181

1月06日 12:16:56
轉換PDF檔 列印


Re: PIC12F1822可不可以藉由I2c來接收hex檔,然後寫錄至它的Program Memory,達到燒錄新hex的效果呢?
新會員
註冊日期:
2016/12/27 11:40
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 1
離線
非常感謝Alex_cai,timijk與版主Ryang的指點
我會在好好深入研究Bootloader這一塊的用法

感恩

1月10日 18:48:26
轉換PDF檔 列印






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

[進階搜尋]


搜尋
Microchip連結

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