eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikamasowe programowanie AVR
Ilość wypowiedzi w tym wątku: 16

  • 1. Data: 2024-10-09 02:47:03
    Temat: masowe programowanie AVR
    Od: sundayman <s...@p...onet.pl>

    Rozmnaża się toto po kątach i muszę programować coraz więcej AVR. A
    dokładniej M2561. No i mam pytanie :

    Używam Atmel Studio 6.2 z Atmel ICE na ISP. Wszystko fajnie. Tyle, że
    program zajmuje cały flash i przy domyślnej prędkości ISP 125 kHz trwa
    to wieczność. A bez wcześniejszego przeprogramowania fusów szybciej nie
    pójdzie.

    Jak przestawię fusy na docelowe to mogę programować np. na 3MHz i
    gitara. Tyle, że jak to robię "jednoklikowo" korzystając z production
    file no to tak się nie da bo oczywiście nie wpadli na to, żeby móc
    ustawić prędkość po zaprogramowaniu fusów.

    Czyli trzeba najpierw ręcznie na 125kHz zaprogramować fusy, przestawić
    prędkość i dopiero wtedy programować resztę.

    No to jest do dupy.

    Jest jakieś narzędzie proste żeby mi najpierw zaprogramowało fusy a
    potem na większej szybkości resztę ( czyli flash + lock ) ?
    Żebym się nie musiał doktoryzować z tego pisząc jakieś skrypty ?



  • 2. Data: 2024-10-09 15:28:05
    Temat: Re: masowe programowanie AVR
    Od: a...@h...invalid (Arnold Ziffel)

    sundayman <s...@p...onet.pl> wrote:

    > Czyli trzeba najpierw ręcznie na 125kHz zaprogramować fusy, przestawić
    > prędkość i dopiero wtedy programować resztę.
    >
    > No to jest do dupy.
    >
    > Jest jakieś narzędzie proste żeby mi najpierw zaprogramowało fusy a
    > potem na większej szybkości resztę ( czyli flash + lock ) ?
    > Żebym się nie musiał doktoryzować z tego pisząc jakieś skrypty ?

    Użyj avrdude. Przykład z głowy:

    avrdude -B 125kHz -p atmega2561 -c usbasp -e -U lfuse:w:0xaa:m -U hfuse:w:0xbb:m
    avrdude -B 3MHz -p atmega2561 -c usbasp -U flash:w:file.hex -U lock:w:0xcc:m

    Za 0xaa i 0xbb podstaw wartości fusebitów, za 0xcc wartości lockbitów, za
    file.hex plik do zaprogramowania. Za usbasp podstaw swój programator,
    możesz też potrzebować -p (port) lub -i zamiast -B (jeśli programator to
    jakiś bitbang, parametrem -i jest opóźnienie w mikrosekundach między każdą
    zmianą bitu.

    Jak nie zadziała, to dodaj jakiegoś sleepa między tymi komendami (np.
    sleep .1 żeby poczekać 100 ms).

    --
    Po operacji chirurg pyta pacjenta:
    - Czy jest pan przesądny?
    - Nie, panie doktorze...
    - To dobrze, bo od jutra będzie pan wstawał z łóżka tylko lewą nogą.


  • 3. Data: 2024-10-09 22:40:44
    Temat: Re: Re:masowe programowanie AVR
    Od: sundayman <s...@p...onet.pl>


    > Avrdude, 2 linijki; ot cały skrypt.
    > No chyba, że coś źle zrozumiałem

    panowie, ja nie mam czasu na eksperymenty - potrzebne mi rozwiązanie dla
    debila. Klikam i działa.

    Ponoć było GUI dla atprogram do ściągnięcia od microchipa. Ale nie mogę
    znaleźć.

    Toto się nazywało AVR_massproduction_programming_tool_with_atmelice.zi
    p

    Ktoś ma ?


  • 4. Data: 2024-10-10 11:47:11
    Temat: Re: Re:masowe programowanie AVR
    Od: heby <h...@p...onet.pl>

    On 09/10/2024 22:40, sundayman wrote:
    >> Avrdude, 2 linijki; ot cały skrypt.
    >> No chyba, że coś źle zrozumiałem
    > panowie, ja nie mam czasu na eksperymenty

    To nie są eksperymenty tylko poprawne, proste i działajace rozwiązanie.

    Jesli jesteś na windowsie, możesz sobie plik bat z tymi poleceniam też
    2x kliknąć i masz automat. A potem dodać pętlę w środku, która czeka na
    pacnięcie klawisza i programuje nastepny.

    Nie da się nic prostszego, w szczególniości jeśli potrzebujesz dla
    debili, zrobić.

    W czasie kiedy szukałes jakeigoś bezuzytecznego programu z GUI, mogłeś
    stworzyć plik bat, wkleić, co dostałeś na grupie i używać.


  • 5. Data: 2024-10-10 14:00:30
    Temat: Re: Re:masowe programowanie AVR
    Od: a...@h...invalid (Arnold Ziffel)

    sundayman <s...@p...onet.pl> wrote:

    >> Avrdude, 2 linijki; ot cały skrypt. No chyba, że coś źle zrozumiałem
    >
    > panowie, ja nie mam czasu na eksperymenty - potrzebne mi rozwiązanie dla
    > debila. Klikam i działa.

    Przecież dostałeś praktycznie gotowca. Jak się tak upierasz, to podaj:

    - nazwę programatora
    - ścieżkę do pliku hex
    - wartości fusebitów
    - wartości lockbitów

    A podam ci zawartość pliku .bat z poleceniami avrdude. Klikasz .bat i masz
    zaprogramowany AVR. Nie sądzę, żeby dało się prościej.

    --
    Profesor przerywa wyklad i zwraca się do studentow siedzacy w ostatnim
    rzedzie:
    - Kategorycznie zabraniam rozwiazywania krzyzowek podczas moich
    wykladow!!
    Na to ktos z sali:
    - Czy na tle rebusow ma pan podobne kompleksy?


  • 6. Data: 2024-10-10 23:56:36
    Temat: Re: Re:masowe programowanie AVR
    Od: sundayman <s...@p...onet.pl>


    > Przecież dostałeś praktycznie gotowca. Jak się tak upierasz, to podaj:
    >
    > - nazwę programatora
    > - ścieżkę do pliku hex
    > - wartości fusebitów
    > - wartości lockbitów
    >
    > A podam ci zawartość pliku .bat z poleceniami avrdude. Klikasz .bat i masz
    > zaprogramowany AVR. Nie sądzę, żeby dało się prościej.

    No spróbujmy.
    Programator to Atmel ICE na USB rzecz jasna. Kąkuter z WIN7 jeśli to ma
    jakieś znaczenie.

    Fusy :
    EXT : FC
    HI : D8
    LO : FF
    Lock : FC

    ścieżka niech będzie C:\FOLDER
    to sobie zmienię

    szybkość programowania fusów 125kHz
    szybkość programowania flash 3MHz

    Poproszę ślicznie :)


  • 7. Data: 2024-10-12 03:04:32
    Temat: Re: Re:masowe programowanie AVR
    Od: sundayman <s...@p...onet.pl>

    wziąłem tego AVRDUDE. Oczywiście zaczyna się zabawa : ani Dragon ani
    AtmelICE nie jest widoczny.

    Pamiętam tą walkę, że jak programator jest widoczny pod AS to nie ma go
    pod avrdude i odwrotnie. I to jest właśnie to o co mi chodziło - trzeba
    spędzać godziny nad tym.

    Oczywiście już nie pamiętam teraz, muszę odkopywać...


  • 8. Data: 2024-10-12 05:25:18
    Temat: Re: Re:masowe programowanie AVR
    Od: sundayman <s...@p...onet.pl>

    No dobra, zwalczyłem. Niestety jak przewidywałem największy problem z
    drajwerami do programatora żeby go AVRDUDE widział...

    A sam skrypt to jednak ciut więcej niż 2 linijki, żeby toto sensownie
    działało i żeby mieć sygnalizację błędów, bo śledzenie tego czy coś tam
    się nie wykrzaczyło to nie jest dobra rzecz przy 100 procesorach

    Wrzucam ku pamięci potomnych :


    @echo off

    REM Ustawienie ścieżki do AVRDUDE
    set AVRDUDE_PATH=C:\AVRDUDE_6

    REM Funkcja sprawdzająca kod błędu i przerywająca skrypt w razie błędu
    setlocal enabledelayedexpansion

    REM Programowanie fuse bitów z prędkością 125 kHz
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 8 -U
    lfuse:w:0xFF:m -U hfuse:w:0xD8:m -U

    efuse:w:0xFC:m
    IF ERRORLEVEL 1 (
    echo ****************** FUSE PROGRAMMING ERROR *****************
    pause
    exit /b 1
    )

    REM Odczekaj pół sekundy
    timeout /T 1 >nul

    REM Programowanie pamięci flash z prędkością 3 MHz bez wstępnego
    kasowania pamięci
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 0.33 -D -U
    flash:w:C:\HEX\program.hex:i
    IF ERRORLEVEL 1 (
    echo ****************** FLASH PROGRAMMING ERROR *****************
    pause
    exit /b 1
    )

    REM Programowanie pamięci EEPROM
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 0.33 -U
    eeprom:w:C:\HEX\eeprom.eep:i
    IF ERRORLEVEL 1 (
    echo ****************** EEPROM PROGRAMMING ERROR *****************
    pause
    exit /b 1
    )

    REM Ustawienie Lock bit na FC
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 0.33 -U
    lock:w:0xFC:m
    IF ERRORLEVEL 1 (
    echo ****************** LOCK PROGRAMMING ERROR *****************
    pause
    exit /b 1
    )

    echo >>>>>>>>> SUCCESS ! <<<<<<<<
    pause
    exit /b 0



  • 9. Data: 2024-10-12 05:55:06
    Temat: Re: Re:masowe programowanie AVR
    Od: sundayman <s...@p...onet.pl>

    zobaczcie, do czego mnie doprowadziliście...
    dodałem jeszcze melodyjkę w przypadku błędu, żeby nie przeoczyć.
    Kurła mać.



    @echo off

    REM Ustawienie ścieżki do AVRDUDE
    set AVRDUDE_PATH=C:\AVRDUDE_6

    REM Funkcja sprawdzająca kod błędu i przerywająca skrypt w razie błędu
    setlocal enabledelayedexpansion

    REM Funkcja do generowania melodyjki w przypadku błędu
    set playMelody=powershell -c "[console]::beep(659,300); Start-Sleep
    -Milliseconds 100; [console]::beep(523,300); Start-Sleep -Milliseconds
    100; [console]::beep(587,300); Start-Sleep -Milliseconds 100;
    [console]::beep(784,500)"

    REM Programowanie fuse bitów z prędkością 125 kHz
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 8 -U
    lfuse:w:0xFF:m -U hfuse:w:0xD8:m -U efuse:w:0xFC:m
    IF ERRORLEVEL 1 (
    echo **************** FUSE ERROR ! ****************
    FOR /L %%i IN (1,1,10) DO (%playMelody%)
    pause
    exit /b 1
    )

    REM Odczekaj pół sekundy
    timeout /T 1 >nul

    REM Programowanie pamięci flash z prędkością 3 MHz bez wstępnego
    kasowania pamięci
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 0.33 -D -U
    flash:w:C:\HEX\program.hex:i
    IF ERRORLEVEL 1 (
    echo **************** FLASH ERROR ! ****************
    FOR /L %%i IN (1,1,10) DO (%playMelody%)
    pause
    exit /b 1
    )


    REM Programowanie pamięci EEPROM
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 0.33 -U
    eeprom:w:C:\HEX\eeprom.eep:i
    IF ERRORLEVEL 1 (
    echo **************** EEPROM ERROR ! ****************
    FOR /L %%i IN (1,1,10) DO (%playMelody%)
    pause
    exit /b 1
    )

    REM Ustawienie Lock bit na FC
    %AVRDUDE_PATH%\avrdude -c atmelice_isp -P usb -p m2561 -B 0.33 -U
    lock:w:0xFC:m
    IF ERRORLEVEL 1 (
    echo **************** LOCK ERROR ! ****************
    FOR /L %%i IN (1,1,10) DO (%playMelody%)
    pause
    exit /b 1
    )

    echo ===================== PROGRAMMING SUCCESS !! =====================
    pause
    exit /b 0


  • 10. Data: 2024-10-12 10:35:06
    Temat: Re: Re:masowe programowanie AVR
    Od: Pixel(R)?? <m...@p...onet.pl>

    W dniu 12.10.2024 o 05:55, sundayman pisze:

    > echo ===================== KURWA DZIALA !! =====================
    > pause
    > exit /b 0

    Fiu, fiu, 05:55 dobry czas :D

    --
    Pixel(R)??

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: