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

[Rozwiązano] Automatyzacja programowania ATTINY25 z numerem seryjnym - możliwości i narzędzia

kiatamoro 29 Mar 2021 10:40 936 6
REKLAMA
  • #1 19348112
    kiatamoro
    Poziom 10  
    Witajcie,
    otóż mam pytanie odnośnie programowania ATTINY25 - krótki opis sprawy:
    Muszę zaprogramować hurtowo ( czyli przeszło 300sztuk) powyższych układów, wygenerowanym jako kolejny numer seryjny plikiem hex, na chwile obecna wyglada to tak ze utworzyłem sobie bat w którym mam podane wszystkie istotne wytyczne takie jak:
    port,fusbity,lockbit,odnośnik do hex czyli ie%1 itd.

    Programowanie odbywa sie poprzez Far Menager (ponieważ idzie troszeczkę płynniej/szybciej niż oprogramowaniem Atmela) czyli standardowo plik bat, plik hex spacja i enter itd.
    Po zaprogramowaniu kilkudziesięciu Attiny zacząłem sie zastanawiać jak możnaby ten proces jeszcze bardziej ułatwić, tzn napisać mały programik z tymi wszystkimi danymi co w pliku bat ktory po uruchomieniu pytałby ktory plik hex zaprogramować jako następny i jednocześnie oznaczając lub przenosząc do archiwum plik juz użyty z informacja jaki był to numer seryjny - czy jest to możliwe do zrealizowania małym nakładem czasu i kosztów.


    Pozdrawiam i z góry dziękuje za każda pomoc.
  • REKLAMA
  • Pomocny post
    #2 19352475
    excray
    Poziom 41  
    Najszybciej, to chyba zrobić własną nakładkę na avrdude. O ile rozumiem, to każdy kolejny uC ma własny serial zapisany w pamięci flash i tylko tym różnią się pliki hex? Jeśli tak to lepiej od razu zrealizować to w programie nagrywarki zamiast generować 300 różnych wsadów.
  • REKLAMA
  • #3 19352648
    kiatamoro
    Poziom 10  
    excray napisał:
    Najszybciej, to chyba zrobić własną nakładkę na avrdude. O ile rozumiem, to każdy kolejny uC ma własny serial zapisany w pamięci flash i tylko tym różnią się pliki hex? Jeśli tak to lepiej od razu zrealizować to w programie nagrywarki zamiast generować 300 różnych wsadów.


    Właśnie chciałbym to realizować ale małym krokami, ponieważ podjąłem pracę w nowej firmie gdzie są "wypróbowane i działające metody" co z tego ze troche archaistyczne tzn. odnośnie powyższego przykładu to te układy są tam programowane od lat w następujący sposób:
    Numery seryjne sa generowane - jako kolejny numer - za pomocą autorskiego generatora, do pliku bin, następnie za pomocą bin2hex przekonwektorowywane do pliku hex.Kolejnym krokiem jest programowanie w Nortonie tudzież w Far Menager - jak za starych dobrych czasów - czyli wybieramy przygotowany plik bat, do tego numer seryjny w postaci owego hex, i enter itd - z tego co mi tu mówią od ładnych kilkunastu lat tak sie to odbywa - i chcialbym coś w tym sposobie zmienić, nie tylko dla samego faktu zmiany, ale poprostu żeby sobie ułatwić prace, a jako ze z mikrokontrolerami nie miałem za dużo doświadczenia - to jednocześnie jest kolejny plus dla mnie samego ze sam sie również uczę.
  • REKLAMA
  • Pomocny post
    #4 19352829
    krzysiek_krm
    Poziom 40  
    Ja na przykład poszedłbym w inną stronę. Zmodyfikowałbym firmware tak, żeby dało się z zewnątrz gmerać w pamięci flash, na przykład za pomocą portu szeregowego lub jakkolwiek inaczej. Wszystkie kości programowałbym tym samym hexem, z pustym numerem seryjnym. Napisałbym jakiś prosty program na komputer, na przykład w VS, który generowałby seryjne numery, kolejne albo losowe albo jeszcze inaczej, pamiętając te, które zostały wykorzystane. Ten program mógłby wpisywać numery do układu, czytać, kasować i co tam jeszcze.
  • REKLAMA
  • Pomocny post
    #5 19353089
    tmf
    VIP Zasłużony dla elektroda
    Proponuję nie bawić się hexami, tylko plikiem elf, który ma w sobie zawartość FLASH, EEPROM, FUSE i LOCKbitów. Do gmerania w pliku elf są gotowe narzędzia np. objcopy.Zamiast henerować jakieś hexy z numerem seryjnym, po prostu wpisz ten numer seryjny w odpowiednią sekcję i sprawa załatwiona. Oczywiście ma to sens jeśli się zintegruje ten autorski program do generowania numerów seryjnych z resztą.
  • #6 19364926
    kiatamoro
    Poziom 10  
    Dziekuje wam wszystkim za odpowiedzi i propozycje, niestety nie mam dostępu do kodu żródłowego tego programu do generowania numerów seryjnych wiec chcąc coś zmieniać musiałbym napisać nowy generator - generujący owe numery, a nie mam teraz ani czasu ani doświadczenia w pisaniu programów na mikrokontrolery.
    Czy macie może pomysł jak zrobić krótki/prosty program lub nawet plik bat który miałby wpisane stałe znane mi teraz dane, takie jak: fus i lockbity oraz zapis hex do flesha itd. - a który po uruchomieniu pytałby tylko o to żeby wskazać mu ten plik hex z kolejnym numerem seryjnym - czyli chodzi mi o jakieś rozwiązanie na szybko, a w przyszłości jak będe miał juz wiedzę i potrzebny czas "zmajstruje" coś samemu.
  • #7 19402232
    kiatamoro
    Poziom 10  
    Dzieki wszystkim za pomoc - wiec podjelem decyzje ze musze sie jeszcze sporo podszkolic, a na chwile obecna moze zlece wykonanie jakiegos programiku w dziale zlecenia.
REKLAMA