Program feltöltése Atmel Studio 6-tal

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
holex
Biztosítékgyilkos
Hozzászólások: 70
Csatlakozott: 2013. október 29. kedd, 1:35

Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: holex »

Van egy Arduino Mega 2560-am, meg egy egyszerű C programom.

Kód: Egész kijelölése

#include<avr/io.h>
 
int main()
{
	DDRB = 0x00;		//configure portB as input
	DDRC = 0xFF;		//configure portC as output
 
	while(1)
	{
		PORTC = PINB;
	}
	return 0;
}
Hogy lehet ezt a programot az Atmel Studio 6 segítségével feltölteni, ha meg akarom hagyni a bootloadert és egyebeket? Tehát feltöltöm ezt a programot, de utána bármikor egy kattintással az Arduino keretrendszerben visszatölthessem egy már meglévő programomat?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: Robert »

Lefordítod: HEX
Utána Arduino beépített bootloaderével feltöltöd.
Win alatt pl.:
duino2.bat állomány

Kód: Egész kijelölése

@echo off 
title TavIR-Duino
echo. 
echo AVR-Duino/Arduino uploader for Bascom by AVRDuDe 
echo Version: 1.0 alpha for Arduino-NG / Arduino-Diecimila / Arduino-UNO / Wiring-Mega128 / Arduino-Mega1280.2560
echo Contact: csehrobert(at)tavir(dot)hu 
echo http://avr.tavir.hu 
echo (c) 2011-05-01
echo. 
 
set avrdudefile=C:\Program files\arduino-1.0.3\hardware\tools\avr\bin 
set avrdudeconf=C:\Program files\arduino-1.0.3\hardware\tools\avr\etc\avrdude.conf 
set comport=COM6
set chip=168
set debug=1
 
if %debug% == 0 goto next 
echo Param1:%1 
echo Param2:%2 
echo Param3:%3 
echo Param4:%4 
echo Param5:%5 
echo Param6:%6 
echo Param7:%7 
echo Param8:%8 
echo Param9:%9 
echo. 
:next 

if "%1" == "" echo Usage:   duino.bat "flash.hex" "eeprom.hex" ("comx" "chip")
if "%1" == "" echo.  
if "%1" == "" echo Where   flash.hex  - flash file to write to AVR (raw/hex/bin format)
if "%1" == "" echo         eeprom.hex - eeprom file to write to AVR (raw/bin format)
if "%1" == "" echo         comx       - serial, where connected the AVR-Duino (optional)
if "%1" == "" echo         chip       - chip name which in AVR-Duino (optional)
if "%1" == "" echo.  
if "%1" == "" echo There are some optional/default parameter (Com:%comport% and chip:%chip%)
if "%1" == "" echo.
if "%1" == "" echo Chip:    168    - ATMega168  / Arduino 
if "%1" == "" echo          328    - ATMega328  / Arduino
if "%1" == "" echo          8      - ATMega8    / Arduino
if "%1" == "" echo          328UNO - ATMega328  / Arduino UNO
if "%1" == "" echo          128    - ATMega128  / Wiring
if "%1" == "" echo          1280   - ATMega1280 / Arduino Mega
if "%1" == "" echo          2560   - ATMega2560 / Arduino Mega

echo.
echo.
echo Flash   : %1 
echo EEPROM  : %2 
if "%3" == "" echo COM     : %comport% (default) 
if NOT "%3" == "" echo COM     : %3 
if NOT "%3" == "" set comport=%3 
 
if "%4" == "" echo Chip    : %chip% (default) 
if NOT "%4" == "" echo Chip    : %4 
if NOT "%4" == "" set chip=%4 

echo. 

rem cd "%avrdudefile%" 
rem avrdude.exe -C "%avrdudeconf%" -p m168 -c avrisp -P %comport% -b 19200 -U flash:w:%1:a 

if %chip% == 8 "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -patmega8 -c arduino -P %comport% -b 19200 -U flash:w:%1:a 
if %chip% == 168 "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -pm168 -c arduino -P %comport% -b 19200 -U flash:w:%1:a -U eeprom:w:%2:r
if %chip% == 328 "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -F -p m328p -c arduino -P %comport% -b 57600 -U flash:w:%1:a -U eeprom:w:%2:r
if %chip% == 328UNO "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -p M328P -c arduino -P %comport% -b 115200 -U flash:w:%1:a -U eeprom:w:%2:r
if %chip% == 328uno "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -p M328P -c arduino -P %comport% -b 115200 -U flash:w:%1:a -U eeprom:w:%2:r
if %chip% == 128 "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -p m128 -c arduino -P %comport% -b 115200 -U flash:w:%1:a -U eeprom:w:%2:r
if %chip% == 1280 "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -p m1280 -c arduino -P %comport% -b 57600 -U flash:w:%1:a -U eeprom:w:%2:r
if %chip% == 2560 "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -p m2560 -c stk500v2 -P %comport% -b 115200 -U flash:w:%1:a -U eeprom:w:%2:r

if %chip% == 2560uno "%avrdudefile%\avrdude.exe" -C"%avrdudeconf%" -patmega2560 -cwiring -P %comport% -b115200 -U flash:w:%1:a -U eeprom:w:%2:r

pause 


Meghívása:
duino2.bat felmeno.hex m2560 com4
holex
Biztosítékgyilkos
Hozzászólások: 70
Csatlakozott: 2013. október 29. kedd, 1:35

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: holex »

Valami gond van vele. Feltöltöttem róla egy képet.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: Robert »

duino2.bat "{file}" "{eeprom}" com5 328uno
Nálad 2 paraméter volt csak! Kötelező az _összes_ paraméter. file: valami.hex; eeprom: valami.epp.

de csak simán indítod a duino2.bat-t kiírja a paraméterlistát.
holex
Biztosítékgyilkos
Hozzászólások: 70
Csatlakozott: 2013. október 29. kedd, 1:35

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: holex »

Valamiért továbbra sem jó. :(
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: Robert »

2560 helyett 2560uno?

Arduino alatt nálam:
"C:\Program Files\arduino-1.5.2/hardware/tools/avr/bin/avrdude -CC:\Program Files\arduino-1.5.2/hardware/tools/avr/etc/avrdude.conf -q -q -patmega2560 -cwiring -PCOM15 -b115200 -D -Uflash:w:C:\Users\tavir\AppData\Local\Temp\build3511913361607318471.tmp/sketch_nov25a.cpp.hex:i "
holex
Biztosítékgyilkos
Hozzászólások: 70
Csatlakozott: 2013. október 29. kedd, 1:35

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: holex »

2560 helyett 2560Uuno-val jó! Köszönöm!
holex
Biztosítékgyilkos
Hozzászólások: 70
Csatlakozott: 2013. október 29. kedd, 1:35

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: holex »

Annak amúgy mi az oka, hogy az eepromnál hibát talál ellenőrzés közben?
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Program feltöltése Atmel Studio 6-tal

Hozzászólás Szerző: Robert »

UNO esetén _nincs_ eeprom feltöltés.
Válasz küldése