Cześć, właśnie próbowałem sflashować firmware OpenBK na module CB2S z chipem BK7231N przez Easy Uart Flasher, ale niestety się nie udało.
Użyłem Easy Uart Flasher v50 i firmware OpenBK7231N_QIO_1.18.156.
Zdjęcie
Udało mi się zrobić backup flasha i chyba został poprawnie odczytany, bo programowi udało się wyodrębnić OBK. Ale kiedy kliknąłem zapisz, program zaczął flashować firmware i zawiódł pod adresem 0xE3000:
Log
Po tym próbowałem wycofać, narzędzie python, zmienić prędkości lub pominąć sprawdzanie klucza, ale nic z tego. Po prostu nie udaje się zapisać pod jakimś, ale specyficznym dla wybranego pliku adresem.
Czy jest jakiś sposób, aby to naprawić, czy jednostkę można uznać za martwy?
AI: Czy możesz podać szczegóły dotyczące konfiguracji okablowania UART - w szczególności, jakiego adaptera USB do szeregowego używasz, jak podłączyłeś go do modułu CB2S (w tym poziomy napięcia) i czy potwierdziłeś, że połączenia są prawidłowe?
UART: adapter FTDI FT232RL z poziomem napięcia 3,3V. Podłączony do TX,RX modułu.
AI: Na jakim systemie operacyjnym i wersji uruchamiasz Easy UART Flasher i czy zainstalowałeś jakieś specjalne sterowniki lub dokonałeś zmian w środowisku systemowym dla procesu flashowania?
System: Win11, żadne specjalne sterowniki nie były instalowane.
Użyłem Easy Uart Flasher v50 i firmware OpenBK7231N_QIO_1.18.156.
Zdjęcie
Udało mi się zrobić backup flasha i chyba został poprawnie odczytany, bo programowi udało się wyodrębnić OBK. Ale kiedy kliknąłem zapisz, program zaczął flashować firmware i zawiódł pod adresem 0xE3000:
Easy Uart Flasher napisał:Writing sector 0xE0000... ok! failed with serial.BytesToRead 0 (expected 15)
Początek bufora w UART zawiera dane.
Zapis sektora 0xE1000... Zapis sektora 921600 nie powiódł się!
Zapis danych pliku do układu nie powiódł się.
Log
Spoiler:
.
Uzyskanie magistrali powiodło się!
Zamierzam ustawić szybkość transmisji (921600)!
Spróbuję odczytać MID flash urządzenia (dla unprotect N):
Flash MID załadowany: 1560EB
Teraz wyszukuje Flash Def w naszej bazie danych...
Flash def znaleziony! Dla: 1560EB
Informacje flash: mid: 1560EB, icName: TH25Q16HB, producent: TH, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
Wprowadzanie SetProtectState(True)...
sr: 80
sr: 680
final sr: 680
msk: 407c
cw: 0, sb: 2, lb: 5
bfd: 0
SetProtectState(True) powiodło się!
Przechodzimy do odczytu klucza szyfrowania...
Odczyt klucza szyfrowania zakończony!
Klucz szyfrowania: 510fb093 a3cbeadc 5993a17e c7adeb03
Odczyt pliku firmware/OpenBK7231N_QIO_1.18.156.bin...
Załadowano 1220464 bajtów z pliku firmwares/OpenBK7231N_QIO_1.18.156.bin...
Używając hacka do napisania QIO - po prostu pomiń bootloader...
... więc bootloader nie zostanie nadpisany!
Przygotowanie do zapisu pliku danych do układu - resetowanie magistrali i szybkości transmisji...
Uzyskanie magistrali... (teraz należy wykonać restart przez CEN lub przez wyłączenie/włączenie zasilania)
Uzyskanie magistrali powiodło się!
Przechodzimy do ustawienia szybkości transmisji (921600)!
Spróbuję odczytać MID flash urządzenia (dla unprotect N):
Flash MID załadowany: 1560EB
Teraz wyszukuje Flash Def w naszej bazie danych...
Flash def znaleziony! Dla: 1560EB
Informacje flash: mid: 1560EB, icName: TH25Q16HB, producent: TH, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
Wprowadzanie SetProtectState(True)...
sr: 80
sr: 680
final sr: 680
msk: 407c
cw: 0, sb: 2, lb: 5
bfd: 0
SetProtectState(True) powiodło się!
Rozpoczynam wymazywanie, start 69632, liczba sekund 281!
Kasowanie sektora 69632... ok! Kasowanie sektora 73728... ok! Kasowanie sektora 77824... ok! Kasowanie sektora 81920... ok! Kasowanie sektora 86016... ok! Kasowanie sektora 90112... ok! Kasowanie ....
Wszystkie wybrane sektory skasowane!
Zapis sektora 0x11000... ok! Zapis sektora 0x12000... ok! Zapis sektora 0x13000... ok! Zapis sektora 0x14000... ok! Zapis sektora 0x15000... ok!
...
Zapis sektora 0xDD000... ok! Zapis sektora 0xDE000... ok! Zapis sektora 0xDF000... ok! Zapis sektora 0xE0000... ok! nie powiodło się z serial.BytesToRead 0 (oczekiwano 15)
Początek bufora w UART zawiera dane.
Zapis sektora 0xE1000.... Zapis sektora 921600 nie powiódł się!
Zapis danych pliku do układu nie powiódł się.
Zamierzam ustawić szybkość transmisji (921600)!
Spróbuję odczytać MID flash urządzenia (dla unprotect N):
Flash MID załadowany: 1560EB
Teraz wyszukuje Flash Def w naszej bazie danych...
Flash def znaleziony! Dla: 1560EB
Informacje flash: mid: 1560EB, icName: TH25Q16HB, producent: TH, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
Wprowadzanie SetProtectState(True)...
sr: 80
sr: 680
final sr: 680
msk: 407c
cw: 0, sb: 2, lb: 5
bfd: 0
SetProtectState(True) powiodło się!
Przechodzimy do odczytu klucza szyfrowania...
Odczyt klucza szyfrowania zakończony!
Klucz szyfrowania: 510fb093 a3cbeadc 5993a17e c7adeb03
Odczyt pliku firmware/OpenBK7231N_QIO_1.18.156.bin...
Załadowano 1220464 bajtów z pliku firmwares/OpenBK7231N_QIO_1.18.156.bin...
Używając hacka do napisania QIO - po prostu pomiń bootloader...
... więc bootloader nie zostanie nadpisany!
Przygotowanie do zapisu pliku danych do układu - resetowanie magistrali i szybkości transmisji...
Uzyskanie magistrali... (teraz należy wykonać restart przez CEN lub przez wyłączenie/włączenie zasilania)
Uzyskanie magistrali powiodło się!
Przechodzimy do ustawienia szybkości transmisji (921600)!
Spróbuję odczytać MID flash urządzenia (dla unprotect N):
Flash MID załadowany: 1560EB
Teraz wyszukuje Flash Def w naszej bazie danych...
Flash def znaleziony! Dla: 1560EB
Informacje flash: mid: 1560EB, icName: TH25Q16HB, producent: TH, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
Wprowadzanie SetProtectState(True)...
sr: 80
sr: 680
final sr: 680
msk: 407c
cw: 0, sb: 2, lb: 5
bfd: 0
SetProtectState(True) powiodło się!
Rozpoczynam wymazywanie, start 69632, liczba sekund 281!
Kasowanie sektora 69632... ok! Kasowanie sektora 73728... ok! Kasowanie sektora 77824... ok! Kasowanie sektora 81920... ok! Kasowanie sektora 86016... ok! Kasowanie sektora 90112... ok! Kasowanie ....
Wszystkie wybrane sektory skasowane!
Zapis sektora 0x11000... ok! Zapis sektora 0x12000... ok! Zapis sektora 0x13000... ok! Zapis sektora 0x14000... ok! Zapis sektora 0x15000... ok!
...
Zapis sektora 0xDD000... ok! Zapis sektora 0xDE000... ok! Zapis sektora 0xDF000... ok! Zapis sektora 0xE0000... ok! nie powiodło się z serial.BytesToRead 0 (oczekiwano 15)
Początek bufora w UART zawiera dane.
Zapis sektora 0xE1000.... Zapis sektora 921600 nie powiódł się!
Zapis danych pliku do układu nie powiódł się.
Po tym próbowałem wycofać, narzędzie python, zmienić prędkości lub pominąć sprawdzanie klucza, ale nic z tego. Po prostu nie udaje się zapisać pod jakimś, ale specyficznym dla wybranego pliku adresem.
Czy jest jakiś sposób, aby to naprawić, czy jednostkę można uznać za martwy?
AI: Czy możesz podać szczegóły dotyczące konfiguracji okablowania UART - w szczególności, jakiego adaptera USB do szeregowego używasz, jak podłączyłeś go do modułu CB2S (w tym poziomy napięcia) i czy potwierdziłeś, że połączenia są prawidłowe?
UART: adapter FTDI FT232RL z poziomem napięcia 3,3V. Podłączony do TX,RX modułu.
AI: Na jakim systemie operacyjnym i wersji uruchamiasz Easy UART Flasher i czy zainstalowałeś jakieś specjalne sterowniki lub dokonałeś zmian w środowisku systemowym dla procesu flashowania?
System: Win11, żadne specjalne sterowniki nie były instalowane.