Bezpłatna biblioteka techniczna ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ Jak sprawdzić plik HEX. Encyklopedia elektroniki radiowej i elektrotechniki Encyklopedia radioelektroniki i elektrotechniki / Mikrokontrolery Wielu radioamatorów, próbujących powtórzyć to lub inne urządzenie na mikrokontrolerze, zgodnie z publikacją w czasopiśmie, często napotyka trudności, które na pierwszy rzut oka są niewytłumaczalne. Wydawać by się mogło, że stan mikrokontrolera nie budzi żadnych wątpliwości, a programator jest w idealnym porządku, a urządzenie jest złożone dokładnie według schematu, ale nie chce działać tak, jak powinno. W takiej sytuacji skargi na autora opracowania nie należą do rzadkości - przedstawił podobno niedziałający program! W rzeczywistości w zdecydowanej większości przypadków jest inaczej. Winne są błędy popełnione podczas ręcznego wprowadzania pliku HEX programu do komputera poprzez jego „drukowanie” na stronach wydania drukowanego. Znacznie rzadziej zdarzają się awarie podczas kopiowania plików z dyskietek lub „pobierania” ich z Internetu. Jak sprawdzić plik HEX? Odpowiedź na to pytanie znajduje się w opublikowanym artykule. Każda na pierwszy rzut oka najbardziej niegroźna na pierwszy rzut oka literówka w pliku HEX prowadzi do wykonania błędnego polecenia przez mikrokontroler (MC), często całkowicie wypacza zadany algorytm jego działania i może doprowadzić do zupełnie nieprzewidywalnego zachowania produkowanego urządzenia. Żaden najbardziej wykwalifikowany specjalista w tej sytuacji nie będzie w stanie dokładnie wskazać lokalizacji błędu za pomocą znaków zewnętrznych. Pozostaje bardzo dokładnie i wielokrotnie sprawdzić plik HEX z oryginałem. Osobliwością naszej psychiki jest to, że sprawdzając coś raz, jesteśmy podświadomie przekonani o własnej nieomylności, a podczas wielokrotnych kontroli często umyka nam to, czego nie zauważyliśmy za pierwszym razem. Dlatego warto mieć asystenta, który nawet nie zagłębiając się w istotę pracy, przeprowadzi „niezależną kontrolę”. W żadnym wypadku nie należy wychodzić bez sprawdzania tekstów programów czytanych przez skaner z późniejszym rozpoznaniem za pomocą programu FineReader i tym podobnych. Praktyka pokazuje, że błędy rozpoznawania znaków są nieuniknione nawet przy bardzo wysokiej jakości drukowanego tekstu. Podczas ręcznego (z klawiatury) wprowadzania plików HEX lub ich elektronicznych wersji uzyskanych przez skanowanie najczęściej dzieje się tak:
Najbardziej nieszkodliwą z tych wad jest ostatnia. W przeciwieństwie do innych nie wpływa na wydajność programu. To samo w większości przypadków można powiedzieć o naruszeniu kolejności linii. Jednak programiści, którzy zapewniają ścisłą kontrolę nad poprawnością danych wejściowych, nadal mogą odrzucić plik z takimi błędami. Trzeba powiedzieć, że kontrola poprawności struktury pliku HEX w procesie odczytu go z dysku jest wykonywana przez oprogramowanie bardzo wielu programistów. Pewne możliwości tego tkwią w samej strukturze takiego pliku, co można przeczytać na przykład w artykule autora „Rozwój i debugowanie urządzeń na MK” („Radio”, 2001, nr 5, s. 19). Problem polega na tym, że programista często zgłasza tylko fakt wykrycia błędu bez żadnych szczegółów, pozostawiając użytkownikowi samodzielne rozeznanie. W takim przypadku często okazuje się, że wadliwy plik jest całkowicie lub częściowo załadowany do programatora, a jeśli nieuważnie wydasz polecenie „Programowanie”, błędne dane zostaną przeniesione do pamięci MK. Po tym weryfikacja zakończy się sukcesem (weryfikacja zawartości pamięci MK i programatora) i użytkownik odniesie wrażenie, że wszystko jest w porządku. Pod tym względem program PonyProg (wersja 2.05 i wcześniejsze) zachowuje się bardzo niebezpiecznie. Oprócz HEX udostępnia kilka innych formatów plików wejściowych, a podczas ładowania sam próbuje wybrać właściwy. Nie rozpoznając poprawnie formatu pliku z błędami, nadal wprowadza go jako binarny. na ryc. 1 przedstawia widok okna programatora PonyProg po takim wprowadzeniu. Pamięć nie zawiera kodów poleceń maszynowych, lecz kody ASCI liter i cyfr, które składają się na tekstowy plik HEX. Oczywiście zgodnie z takim „programem” MK nie będzie działać. Widok tego samego okna po wprowadzeniu bezbłędnego pliku identycznego z pierwszym pokazano na rys. 2. Zauważ, że programator w obu przypadkach nie podał żadnych komunikatów o błędach ani o automatycznie ustalonym formacie pliku. Program będzie w stanie pomóc znaleźć i poprawić błędy w pliku HEX przed wprowadzeniem go do programatora. SprawdźHEX. Za jego pomocą można utworzyć nowy plik HEX, wpisując jego zawartość na klawiaturze komputera. W tym drugim przypadku weryfikacja odbywa się jednocześnie z wprowadzeniem danych. Okno danych programu CheckHEX po wprowadzeniu pliku HEX zawierającego kilka błędów pokazano na rys. 3. W jego górnej części po lewej stronie wyświetlane są aktualne współrzędne kursora, pokazujące gdzie znak zostanie wprowadzony po naciśnięciu klawisza. Po prawej stronie znajduje się okienko, klikając na nie „myszką”, możesz w każdej chwili anulować lub ponownie włączyć sprawdzanie błędów. Kontrola blokowania może być przydatna na czas ręcznego wprowadzania danych, w przeciwnym razie każdej niepełnej linii towarzyszy wiele komunikatów, które tylko odwracają uwagę. Okno ostrzeżenia i komunikatu o błędzie (Rys. 4) znajduje się poniżej okna głównego. Komunikaty zaczynające się od słowa „Informacje” wskazują tylko specjalny status niektórych wierszy pliku HEX. W tym przypadku są dwie takie linie. Pierwszy z nich jest opcjonalny, ponieważ w przypadku jego braku zliczanie adresów rozpocznie się od zera. Takie linie (może ich być kilka w różnych miejscach pliku) pozwalają zaadresować więcej niż 64 KB (32 Kwords) pamięci. To właśnie ich obecność odróżnia pliki HEX formatu INX32 od plików formatu INX8M. Linia 25 oznacza koniec pliku HEX. Jeżeli po nim (linia 26) znajdują się jakiekolwiek dane, to nie zostaną one zaakceptowane przez programistę. Można to wykorzystać na przykład do umieszczenia komentarza tekstowego w pliku HEX. W przykładzie wiersz 20 pliku źródłowego został po prostu przeniesiony tutaj, który pozostał pusty. W zasadzie obecność pustych linii w pliku HEX jest dopuszczalna, ale niektórzy programiści mogą nadal uważać je za błędy. Program CheckHEX na wszelki wypadek o tym ostrzega. Zwróć uwagę na komunikat o błędzie sumy kontrolnej w wierszu 3. Może to być wynikiem błędnego wpisania dowolnego znaku (z wyjątkiem dwukropka) w łańcuchu, co należy bardzo dokładnie sprawdzić. „Prawidłowa” suma kontrolna podana w nawiasach jest przydatna, jeśli jeden lub więcej znaków ciągu znaków zostało celowo zmienionych (na przykład w celu poprawienia rzeczywistego błędu programu). W tym przypadku błąd jest wynikiem wpisania cyfry 8 zamiast litery B. Charakter błędu w piątym znaku czwartego wiersza jest jasny. Zwracamy tylko uwagę, że aby ułatwić wizualne wyszukiwanie błędów, czcionka tekstu w oknie głównym nie zawiera znaków cyrylicy, ich miejsce zajmują znaki, które nie mają nic wspólnego z poprawnymi. Jednak rosyjskie litery są wyświetlane w komunikatach o błędach. Po prawej stronie okna danych znajduje się okno przedstawiające obraz zapełniania pamięci MC kodami z analizowanego pliku. Fragment tego okna pokazano na ryc. 5. Biały kolor odpowiada wolnym komórkom, niebieski lub czerwony - zajętym. Wyjaśniające napisy na rysunku (nie ma ich w prawdziwym oknie) odnoszą się do typowego rozkładu pamięci dla kontrolerów RIS, dla innych MK i EPROM może być zupełnie inny. Przesuwając kursor myszy wewnątrz okna, możesz określić adres dowolnej z wyświetlanych tam komórek. W tym przypadku kursor (krzyżyk w prawej górnej części okna) wskazuje na bajt pod adresem OOSON - junior w słowie dwubajtowym pod adresem 0060H. Oczywiście użytkownik, który nie opracował programu do pobrania i nie przeanalizował go dokładnie, z reguły nie wie, które komórki powinny być zajęte, a które nie. Mimo to warto zwrócić uwagę na luki w ciągłej sekwencji zajętych komórek i jeszcze raz upewnić się, że nie powstały one w wyniku błędów, jak w rozpatrywanym przypadku. Czerwony segment wskazuje, że kody wprowadzone pod tymi adresami zostały napotkane w pliku więcej niż jeden raz. W przykładzie (patrz ryc. 3) siódmy i ósmy wiersz są identyczne. Jeśli zduplikowany wiersz jest wynikiem nieuwagi podczas ręcznego wprowadzania danych, można go usunąć. Ale częściej winny jest błąd popełniony w adresowej części wiersza (znaki od czwartego do siódmego). W takim przypadku nie tylko kody pod błędnymi adresami zostaną zniekształcone, ale również obszar pamięci, do którego pierwotnie należała dana linia, pozostanie niezdefiniowany. Wszystko to trzeba wielokrotnie sprawdzać. Podsumowując, zauważamy, że w oknie programu CheckHEX znajdują się trzy przyciski kontrolne: - utwórz nowy plik HEX; - otwórz i sprawdź istniejące; - zapisz utworzony lub edytowany plik. Gdy próbujesz przesłać lub utworzyć inny plik bez uprzedniego zapisania zmodyfikowanej wersji starego, program zawsze przypomina o konieczności wykonania tej czynności. To samo dzieje się przed zakończeniem programu. Autor: A. Dołgij, Moskwa Zobacz inne artykuły Sekcja Mikrokontrolery. Czytaj i pisz przydatne komentarze do tego artykułu. Najnowsze wiadomości o nauce i technologii, nowa elektronika: Hałas drogowy opóźnia rozwój piskląt
06.05.2024 Bezprzewodowy głośnik Samsung Music Frame HW-LS60D
06.05.2024 Nowy sposób kontrolowania i manipulowania sygnałami optycznymi
05.05.2024
Inne ciekawe wiadomości: ▪ MPC17C724 - układ sterownika silnika ▪ Zasilacze zewnętrzne Mean Well LPV-150 Wiadomości o nauce i technologii, nowa elektronika
Ciekawe materiały z bezpłatnej biblioteki technicznej: ▪ sekcja serwisu Cywilna komunikacja radiowa. Wybór artykułów ▪ artykuł Korespondencja modeli i obudów telewizorów BLAUPUNKT. Informator ▪ artykuł Jak pszczoły robią miód? Szczegółowa odpowiedź ▪ artykuł Menedżer konta specjalnego. Opis pracy ▪ artykuł Luty i topniki. Nieruchomości. Encyklopedia elektroniki radiowej i elektrotechniki ▪ artykuł Tańczący szalik. Sekret ostrości
Zostaw swój komentarz do tego artykułu: Wszystkie języki tej strony Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn www.diagram.com.ua |