軟件模擬NT68661升級

軟件模擬NT68661升級

平臺: RK3288_SWH5184 ARM [email protected]處理器
概述:之前NT68661是通過廠商提供的升級工具升級,不過該升級方式很麻煩,需要安裝驅動,禁用系統的簽名等等。所以想了一個辦法,通過RK3288板卡模擬升級波形給NT68661升級。即:RK3288板卡與NT68661使用I2c總線連接,通過發送I2c數據,對NT68661的flash進行讀寫操作。
1.問題:編寫簡單的測試模塊,向nt68661發送設備地址時,得不到響應。
方法:抓波形查看手冊,發現升級工具在升級前需要發生一段同步波形,使MCU進行ISP RESET之後才能,進行i2c傳輸。

2.問題:想法一修改驅動,先將i2c4總線複用成gpio功能,發同步波形,然後再複用成i2c功能,給mcu發送升級數據,但是操作gpio模擬需要的波形時,發現無法在i2c總線已經創建後,將其複用成gpio;
方法:準備用兩個gpio直接模擬i2c總線,不走i2c總線控制器。 linux已經有了gpio模擬i2c的驅動,只需要修改一下dts,配置一下gpio和延遲就可以使用。驅動位置:drivers/i2c/busses/i2c-gpio.c;驅動賦值的傳輸函數和功能函數位置:drivers/i2c/algos/i2c-algo-bit.c。

3.問題:編程時,每次編程512字節數據,發現每次都會在512字節數據後邊多一個字節,懷疑是類似於校驗的字節;
方法:mcu的flash是以512字節扇區爲單位編程的,但是需要每次編譯是513字節,第513字節爲前面字節的異或校驗(前面所有字節包括設備地址和寄存器地址)。
這裏寫圖片描述

4.問題:程序編寫完成後,無法測試是否擦除或者編程完成;
方法:編譯兩個bin文件,一個bin文件將某一個GPIO上拉,某一個BIN文件將GPIO下拉,通過燒寫不同的bin文件,可以判斷是否編程成功。(比較經典好用的是,拉屏幕的背光腳,當然前提是屏幕的背光腳在NT68661上)

5.問題+方法: flash編程時,編程命令中有一字節是fileops,編程到flash中的位置參數。命令每次編程512字節,而我的編程bin文件是256k字節,要編程512次。 而辨識位置只有一個字節,最多表示256個位置; 所以,在編程時,有命令可以使fileops爲1時,編程的是第257的位置。
這裏寫圖片描述

6.問題: flash編程時,編程命令中有一字節是fileops,編程到flash中的位置參數。命令每次編程512字節,而我的編程bin文件是256k字節,要編程512次。 而辨識位置只有一個字節,最多表示256個位置; 所以,在編程時,有命令可以使fileops爲1時,編程的時第257的位置。
flash以64k字節bank爲單位存儲,每bank都沒存滿,需要跳過每個bank沒有存放數據的部分。
這裏寫圖片描述

7.問題:測試,發現可以進入isp模式,拉高flash寫保護腳,也可以編程數據,但是編程之後,再從flash讀取出來,發現數據不對。懷疑是擦除有問題。理由如下:
拿flash的前3個字節數據爲例,編程之前flash數據爲02.34.3e,我編程的bin文件前3字節爲02.34.6b,最後編程後,flash數據爲02.34.2a。發現是編程成功了,但結果不對,現象好像是擦除沒有成功,因爲在flash數據爲0x3e時,直接寫入6b剛好爲2a。再次抓燒錄器波形,發現擦除時,不僅有i2c波形,還有一段3秒的其他波形。感覺像是硬件識別到這樣的波形才能擦除成功,明天繼續研究。
方法:使用燒錄器和程序,交叉測試,即編程器去進行isp on,我的程序進行擦除和編程時,發現可以正確編程,所以是我的程序的isp on有問題。

8.問題: 如何解決我的ISP ON有問題導致的燒錄失敗?
對比燒錄器的ISP ON的數據和我的程序的數據: 發現有個別數據在68661裏的bin文件不同時,數據不同,最後此變化無影響。
對比燒錄器的ISP ON的波形和我的程序的波形:發現ISP ON之後會有發送0xE0,0xE0,0xE0,0xE0的波形, 將該波形使用燒錄器模擬後,編程成功。
說白了就是對比數據和波形,只要模擬的夠準確,絕對可以編程!

兩個說明:
1.I2C總線讀取數據時,單獨發送一條讀數據命令,是可以正確讀取出數據的。
即使有的I2c總線最後出來的波形是,start,0x6f,restart,0x6f,0x1,0x87,0xe9,stop
這裏寫圖片描述
2.i2c總線每次寫完一個字節數據後,i2c的SCL會拉低延遲拉高,這個操作不會影響I2c總線。但是這個操作也沒有任何別的意義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章