# #le contenu de la memoire flash et de l'eeprom sont visibles #avec la commande uisp --download --segment=xxxx # #le format de sortie est le S record format de motorola #decrit dans le reperoire DOC ATMEL sformat.txt # #Attention, la fonction --erase efface la flash et l'eeprom # #exemple pour lire la flash #uisp -dprog=dapa -dlpt=/dev/parport0 --download --segment=flash -dpart=atmega32 -dno-poll > contenu_flash.txt # #exemple pour lire l'eeprom #uisp -dprog=dapa -dlpt=/dev/parport0 --download --segment=eeprom -dpart=atmega32 -dno-poll > contenu_eeprom.txt # # # #pour lire et programmer les fusibles (ici horloge externe 16 MHz) #uisp -dprog=dapa -dlpt=/dev/parport0 --rd_fuses #uisp -dlpt=/dev/parport0 -dprog=dapa --wr_fuse_l=0xff #uisp -dlpt=/dev/parport0 -dprog=dapa --wr_fuse_h=0xc9 #DEFINITIONS POUR LA COMPILATION CC = avr-gcc CFLAGS = -g -Os -Wall -mcall-prologues -mmcu=atmega32 OBJ2HEX = avr-objcopy UISP = uisp LIB0 = -lm LIB1 = -lphil_can LIB2 = -lphil_rs232 LIB = $(LIB0) $(LIB1) $(LIB2) PATHLIB = /home/phil/ATMEL/PRGM/PROJET/LIB/lib/ TARGET = base #charge le fichier hexa dans la memoire flash du microcontroleur program : $(TARGET).hex #lecture memoire eeprom #$(UISP) -dprog=dapa -dlpt=/dev/parport0 --download --segment=eeprom -dpart=atmega32 -dno-poll of=memo_eeprom.txt #effacement memoire flash $(UISP) -dprog=dapa -dlpt=/dev/parport0 --erase -dpart=atmega32 -dno-poll #ecriture memoire flash $(UISP) -dprog=dapa -dlpt=/dev/parport0 --upload -dpart=atmega32 -dno-poll\ if=$(TARGET).hex -v=2 #ecriture memoire eeprom #$(UISP) -dprog=dapa -dlpt=/dev/parport0 --upload --segment=eeprom -dpart=atmega32 -dno-poll if=memo_eeprom.txt #transforme l'objet en fichier hexadecimal $(TARGET).hex : $(TARGET).obj $(OBJ2HEX) -R .eeprom -O ihex $(TARGET).obj $(TARGET).hex #compile le source pour former le point o $(TARGET).obj : $(TARGET).c $(TARGET).h $(CC) $(CFLAGS) $(TARGET).c $(TARGET).h $(LIB) -L $(PATHLIB) -o $(TARGET).obj assembleur: rm -f desassemble.txt avr-objdump -h -S $(TARGET).obj >> desassemble.txt zero : ./set_parport0 00000000 clean : rm -f *.hex *.obj *~ *.o gaz: clear make clean make zero make program make zero make assembleur