Goto page 1, 2 Next
sundayman
Guest
Wed Oct 09, 2024 2:47 am
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 ?
jp
Guest
Wed Oct 09, 2024 2:47 am
sundayman <sundayman@poczta.onet.pl> Wrote in message:r
Quote:
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 ?
Avrdude, 2 linijki; ot cały skrypt.
No chyba, że coś źle zrozumiałem
--
----Android NewsGroup Reader----
https://piaohong.s3-us-west-2.amazonaws.com/usenet/index.html
Arnold Ziffel
Guest
Wed Oct 09, 2024 3:28 pm
sundayman <sundayman@poczta.onet.pl> wrote:
Quote:
Czyli trzeba najpierw rcznie na 125kHz zaprogramowa fusy, przestawi
prdko i dopiero wtedy programowa reszt.
No to jest do dupy.
Jest jakie narzdzie proste eby mi najpierw zaprogramowao fusy a
potem na wikszej szybkoci reszt ( czyli flash + lock ) ?
ebym si nie musia doktoryzowa z tego piszc jakie skrypty ?
Uyj avrdude. Przykad z gowy:
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 wartoci fusebitów, za 0xcc wartoci lockbitów, za
file.hex plik do zaprogramowania. Za usbasp podstaw swój programator,
moesz te potrzebowa -p (port) lub -i zamiast -B (jeli programator to
jaki bitbang, parametrem -i jest opónienie w mikrosekundach midzy kad
zmian bitu.
Jak nie zadziaa, to dodaj jakiego sleepa midzy tymi komendami (np.
sleep .1 eby poczeka 100 ms).
--
Po operacji chirurg pyta pacjenta:
- Czy jest pan przesdny?
- Nie, panie doktorze...
- To dobrze, bo od jutra bdzie pan wstawa z óka tylko lew nog.
sundayman
Guest
Wed Oct 09, 2024 10:40 pm
Quote:
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.zip
Ktoś ma ?
heby
Guest
Thu Oct 10, 2024 11:47 am
On 09/10/2024 22:40, sundayman wrote:
Quote:
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ć.
Arnold Ziffel
Guest
Thu Oct 10, 2024 2:00 pm
sundayman <sundayman@poczta.onet.pl> wrote:
Quote:
Avrdude, 2 linijki; ot cay skrypt. No chyba, e co le zrozumiaem
panowie, ja nie mam czasu na eksperymenty - potrzebne mi rozwizanie dla
debila. Klikam i dziaa.
Przecie dostae praktycznie gotowca. Jak si tak upierasz, to podaj:
- nazw programatora
- ciek do pliku hex
- wartoci fusebitów
- wartoci lockbitów
A podam ci zawarto pliku .bat z poleceniami avrdude. Klikasz .bat i masz
zaprogramowany AVR. Nie sdz, eby dao si prociej.
--
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?
sundayman
Guest
Thu Oct 10, 2024 11:56 pm
Quote:
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
sundayman
Guest
Sat Oct 12, 2024 3:04 am
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ć...
sundayman
Guest
Sat Oct 12, 2024 5:25 am
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
sundayman
Guest
Sat Oct 12, 2024 5:55 am
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
Pixel
Guest
Sat Oct 12, 2024 10:35 am
W dniu 12.10.2024 o 05:55, sundayman pisze:
Quote:
echo ===================== KURWA DZIALA !! =====================
pause
exit /b 0
Fiu, fiu, 05:55 dobry czas :D
--
Pixel
jp
Guest
Sat Oct 12, 2024 5:04 pm
sundayman <sundayman@poczta.onet.pl> wrote:
Quote:
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)"
A tak się z ciekawości zapytam; czy z poziomu powershell można jakie GUI
robić, jakieś proste, coś ala dialog/xdialog z basha?
--
jp
sundayman
Guest
Sat Oct 12, 2024 11:20 pm
Quote:
Fiu, fiu, 05:55 dobry czas
Łoo panie, ile razy ja wychodzę z roboty o 7 rano...
Inna rzecz, że czasem wstaję o 18 :)
No dom wariatów literalnie.
sundayman
Guest
Sat Oct 12, 2024 11:30 pm
Quote:
A tak się z ciekawości zapytam; czy z poziomu powershell można jakie GUI
robić, jakieś proste, coś ala dialog/xdialog z basha?
też mnie to zainteresowało ( znaczy zmusiliście mnie w sumie ) i wyszło
mi , że cinszko bedzie (
https://www.youtube.com/watch?v=9nq-TPvmccU&t=35s ) ale coś ponoć da się
zrobić.
Podobno wykorzystuje się biblioteki .NET dostępne w PowerShell ( Windows
Forms lub WPF) ). Przy ich użyciu można podobno stworzyć okno z
przyciskami, polami tekstowymi itp.
Ale mnie się nie udało na szybko. Pewnie docelowo zrobię jakieś GUI w
VB.NET bo tak mi będzie najłatwiej.
Arnold Ziffel
Guest
Sun Oct 13, 2024 12:34 am
sundayman <sundayman@poczta.onet.pl> wrote:
Quote:
No spróbujmy.
Programator to Atmel ICE na USB rzecz jasna. Kkuter z WIN7 jeli to ma
jakie znaczenie.
cd c:\folder
avrdude -B 125kHz -p ATmega2561 -c atmelice_isp -e -U efuse:w:0xfc:m -U hfuse:w:0xd8:m -U lfuse:w:0xff:m
avrdude -B 3MHz -p ATmega2561 -c atmelice_isp -U flash:w:plik.hex -U lock:w:0xfc:m
Nigdy nie uywaem Atmel ICE, widz e avrdude obsuguje takie:
atmelice
atmelice_pdi
atmelice_updi
atmelice_dw
atmelice_isp
atmelice_tpi
Czyli atmelice w rónych trybach. Jak nie zadziaa z atmelice_isp to
spróbuj moe samo atmelice.
--
Spotkanie w lesie - lew zbiera towarzystwo i mówi:
- A teraz podzielimy si: mdre zwierzaki na prawo, a adne na lewo.
I tak sowa biegnie na prawo, inne zwierzaki za ni, inne na lewo,
a aba zostaa na rodku
- No i co ty aba robisz???
- No przecie si nie rozerw!!!
Goto page 1, 2 Next