logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Konwersja HEX na BIN z offsetem 0x80000 – jak uniknąć wypełnienia FF w pliku?

michh 21 Lis 2007 21:45 2039 5
REKLAMA
  • #1 4506567
    michh
    Poziom 12  
    Posty: 70
    Pomógł: 3
    Ocena: 22
    Jakiej modyfikacji należy dokonać po konwersji hex na bin(w pliku bin) aby po ponownej konwersji bin na hex otrzymać to samo. Ponieważ plik hex który konwertuje, zaczyna się od adresu 0x80000 a nie od 0x00, i po konwersji edytor dodaje adresy od 0x00 do 0x80000, i wpisuje dane FF. Dlatego po ponownej konwersji otrzymuje inny plik.
  • REKLAMA
  • #2 4507049
    DriverMSG
    VIP Zasłużony dla elektroda
    Posty: 44094
    Pomógł: 3984
    Ocena: 4858
    Nie wiem dlaczego plik zaczyna się od adresu 0x80000 , ale skoro masz tam potem same FF to zamień je na zera.

    Lub dokładniej opisz do czego zmierzasz .
  • REKLAMA
  • #3 4507366
    michh
    Poziom 12  
    Posty: 70
    Pomógł: 3
    Ocena: 22
    Zczytuje dane z pamięci eeprom podłączonej do procesora, która zaczyna się od adresu 0x80000. Program zapisuje mi te dane w postaci pliku bin, później chce to zmienić na hex i wczytać do następnego układu. Ponieważ botloader w procesorze ma załadować dane do pamięci zewnętrznej adres w pliku hex musi się zaczynać od 0x80000. Jeszcze śmieszniej pierwsza dana w pliku hex jest podzielona i część jest w pamięci procesora a część w pamięci zewnętrznej.
  • REKLAMA
  • #4 4507536
    Gienek
    Poziom 37  
    Posty: 2776
    Pomógł: 393
    Ocena: 352
    Konwerter bintohex (bin2hex), który jest dostępny w sieci powinien rozwiązać sprawę.
  • REKLAMA
  • #5 4507577
    DriverMSG
    VIP Zasłużony dla elektroda
    Posty: 44094
    Pomógł: 3984
    Ocena: 4858
    Jeśli znasz pełną adresacje pamięci , czyli początek i koniec zakresu pamięci którą chcesz kopiować , to może zrób to programem WinHex ,bezpośrednio zapisując same hexy , po za tym program ten ma też inne możliwości ingerencji w pamięć .
    Nie wiem czy sama konwersja pliku załatwia problem .
  • #6 4523757
    michh
    Poziom 12  
    Posty: 70
    Pomógł: 3
    Ocena: 22
    Okazało się że problem jest w tym, że programy które ściągnąłem zapisują pliki w intelhex32. A ja potrzebowałem zapisu intelhex16, oraz dzielenie pliku na segmenty adresowane od 0x000 do 0xFFF, ponieważ pamięć Flash jest podzielona. Dlatego musiałem napisać własny program konwersji.
REKLAMA