Greg974 Napisano Czerwiec 12, 2021 Udostępnij Napisano Czerwiec 12, 2021 (edytowany) Witam wszystkich serdecznie Dostałem do naprawy sterownik oparty o układ STM32F103R8T6 , który okazał się uszkodzony. Po wymianie na nowy i zaprogramowaniu softem z innego sterownika wszystko działa poza jedną rzeczą . Otóż każdy z tych sterowników ma swój unikalny nr seryjny w tej chwili nr seryjny naprawianego sterownika to same FFFFF(24 szt.) Moje pytanie jest następujące czy jest w tym procesorze przestrzeń gdzie można taki nr zaprogramować , czym i jak to zrobić ?Mój programator niestety nie ma takiej opcji p.s W pdfie w rozdziale 30.2 jest informacja że jest w tym układzie rejestr 96 bitowy w którym taki nr można wpisać natomiast nie ma informacji jak to zrobić czy to oznacza że ten nr jest programowany przez producenta układu i można go tylko odczytać?? Pozdrawiam Greg Edytowano Czerwiec 12, 2021 przez Greg974 Link do komentarza Share on other sites More sharing options...
kaworu Czerwiec 14, 2021 Udostępnij Czerwiec 14, 2021 Dnia 12.06.2021 o 10:18, Greg974 napisał: czy to oznacza że ten nr jest programowany przez producenta układu i można go tylko odczytać?? Dokladnie tak. W Twoim przypadku numer seryjny jest najprawdopodobniej zapisany gdzies we flashu, najpewniej pod koniec, ale tak na prawde moze byc gdziekolwiek. Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Czerwiec 14, 2021 Udostępnij Czerwiec 14, 2021 (edytowany) https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf Strona 1077 😉 Edytowano Czerwiec 14, 2021 przez H1M4W4R1 Link do komentarza Share on other sites More sharing options...
kaworu Czerwiec 14, 2021 Udostępnij Czerwiec 14, 2021 9 minut temu, H1M4W4R1 napisał: https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf Strona 1077 No super, ale: Dnia 12.06.2021 o 10:18, Greg974 napisał: W pdfie w rozdziale 30.2 jest informacja że jest w tym układzie To juz sobie autor sam znalazl. 😉 Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
H1M4W4R1 Czerwiec 14, 2021 Udostępnij Czerwiec 14, 2021 51 minut temu, kaworu napisał: To juz sobie autor sam znalazl. Jak już coś znalazł, to mógłby podać link, co by potem inni nie szukali co miał na myśli. [sarkazm] Może patrzył na dokumentację ATMegi i napisał, że jest w PDF'ie? [/sarkazm] Link do komentarza Share on other sites More sharing options...
Greg974 Czerwiec 14, 2021 Autor tematu Udostępnij Czerwiec 14, 2021 Witam Sorry za brak linka . Ale skoro rozmawiamy o konkretnym układzie tj STM32F103R8T6 to wydawało mi się , że wszyscy będą wiedzieli że to nie chodzi o Atmege 😛 Nie będę się tu silił na sarkazmy bo to niczego nie rozwiązuje takie forum już jest po co powielać złe praktyki :) Dokładnie przeglądałem właśnie stronę 1077 w linku który podał H1M4W4R1. We flashu jest tylko program bo jak pisałem wyżej zgrałem soft z innego sterownika i wszystko działa tylko brak jest konkretnego nr seryjnego . Akurat w tym konkretnym przypadku nr seryjny złożony z samych FF jest całkiem porządnym nr i nie wpływa na pracę całości układu złożonego z kilku sterowników natomiast problem może pojawić się gdy padnie procesor w innym sterowniku wtedy pojawi się konflikt . Poza tym po prostu chciałem zgłębić problem czy te 96 bitów można we własnym zakresie jakoś nadpisać i czym to zrobić pozdrawiam Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Czerwiec 14, 2021 Udostępnij Czerwiec 14, 2021 40 minut temu, Greg974 napisał: Sorry za brak linka . Ale skoro rozmawiamy o konkretnym układzie tj STM32F103R8T6 to wydawało mi się , że wszyscy będą wiedzieli że to nie chodzi o Atmege Tyle dziwactw już widziałem, że nawet by mnie to nie zaskoczyło... Ale, że sterownik ma numer seryjny n'h(FF) czy unique ID ma FF. Jakbyś podesłał zdjęcie płytki i zgrany wsad, to może coś więcej by dało radę wykombinować 😉 (np. przeanalizować kod maszynowy by sprawdzić gdzie sterownik szuka numeru seryjnego). Link do komentarza Share on other sites More sharing options...
kaworu Czerwiec 14, 2021 Udostępnij Czerwiec 14, 2021 1 godzinę temu, Greg974 napisał: Poza tym po prostu chciałem zgłębić problem czy te 96 bitów można we własnym zakresie jakoś nadpisać i czym to zrobić Nie można, to jest na stałe wyryte w krzemie na etapie produkcji. A ten Twój numer seryjny jest na 95% we flashu, albo na końcu "legalnej" pamieci, albo w "nielegalnej", bo STM32F103R8 ma tak na prawdę 128k flasha. Link do komentarza Share on other sites More sharing options...
Greg974 Czerwiec 14, 2021 Autor tematu Udostępnij Czerwiec 14, 2021 Gdyby był we flashu to powinien przyjąć nr seryjny sterownika z ktorego zgrałem program a tak się nie stało . czyż nie ?? Nie ma tam też żadnej zew. pamięci dlatego zacząłem się zastanawiać gdzie może być jeszcze taki numer seryjny zapisany. A na pewno jest w procesorze bo podmiana ukladu ze sprawnego sterownika powoduje przeniesienie nr ser. do tego sterownika w którym procesor został zamontowany. Natomiast nowy procesor który udało mi się dostać (a nie jest to w tej chwili prosta sprawa) i do ktorego wgrałem soft ze sprawnego sterownika najwyraźniej nie ma przypisanego żadnego nr seryjnego bo Master widzi DEVICE ID jako FFFFF... To jest grupa sterowników firmy distech modelu w tej chwili nie pamiętam a nie ma mnie w warsztacie ale jak wrócę to uzupełnię Link do komentarza Share on other sites More sharing options...
kaworu Czerwiec 14, 2021 Udostępnij Czerwiec 14, 2021 Przed chwilą, Greg974 napisał: Gdyby był we flashu to powinien przyjąć nr seryjny sterownika z ktorego zgrałem program a tak się nie stało . czyż nie ?? Mógł, nie musiał. Mogłeś skupować tylko obszar faktycznego kodu z pominięciem końca "legalnego" obszaru. Albo skopiować po prostu cały flash "legalny". Ale każdy normalny programator skopiuje wtedy tylko 64k zgodnie ze specyfikacja, a ten CPU ma 128k tak na prawdę. Link do komentarza Share on other sites More sharing options...
Gość Czerwiec 15, 2021 Udostępnij Czerwiec 15, 2021 Jeśli mogę coś poradzić to przeczytaj artykuł na stronie http://www.edwinfairchild.com/2019/03/stm32-tips-unique-device-id-flash-size.html W tym artykule na szczególną uwagę zasługuje następujący fragment artykułu 96-bit Unique Device ID The following magic number we will extract is a 96-bit unique device ID. According to the datasheet "this unique device identifier provides a reference number which is unique for any device in any context. These bits can never be changed by the user". Further more the datasheet states: The unique device identifier is ideally suited: for use as serial numbers for use as security keys in order to increase the security of code in Flash memory while using and combining this unique ID with software cryptographic primitives and protocols before programming the internal Flash memory to activate secure boot processes, etc. The number is spread across three 32-bit registers. Each byte and sometimes word telling us something different about the chip. co w tłumaczeniu mniej więcej brzmi następująco Następną magiczną liczbą, którą wyodrębnimy jest 96-bitowy unikalny identyfikator urządzenia. Zgodnie z datasheetem "ten unikalny identyfikator urządzenia zapewnia numer referencyjny, który jest unikalny dla każdego urządzenia w dowolnym kontekście. Bity te nie mogą być nigdy zmienione przez użytkownika". Dalej w arkuszu danych stwierdza się: Unikalny identyfikator urządzenia idealnie nadaje się: >do stosowania jako numery seryjne > do stosowania jako klucze bezpieczeństwa w celu zwiększenia bezpieczeństwa kodu w pamięci Flash podczas używania i łączenia tego unikalnego identyfikatora z prymitywami kryptograficznymi i protokołami oprogramowania przed zaprogramowaniem wewnętrznej pamięci Flash > do aktywacji bezpiecznych procesów rozruchowych itp. Numer ten jest rozłożony na trzy 32-bitowe rejestry. Każdy bajt, a czasem słowo, mówi nam coś innego o chipie. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »