<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=8&amp;t=20253&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-02-19T08:45:43+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=20253&amp;mode</id>
<entry>
<author><name><![CDATA[gizmo5418]]></name></author>
<updated>2018-02-19T08:45:43+01:00</updated>
<published>2018-02-19T08:45:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204192#p204192</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204192#p204192"/>
<title type="html"><![CDATA[Re: Błąd kompilacji na atmega328p z avr-toolchain]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204192#p204192"><![CDATA[
<div class="quotetitle">tokirium napisał(a):</div><div class="quotecontent"><br />Co trzeba było zmienić w tych plikach usbdrv.c oraz usbdrv.h? Niestety dalej nie działa.<br /></div><br /><br />Przecież wyraźnie napisałem, że brakuje specyfikatora <strong>const</strong> przy makrach <strong>PROGMEM</strong>. A żebyś nie musiał szukać w jakich liniach,<br />to w załączniku masz poprawione pliki. Wystarczy je rozpakować i zastąpić nimi, te, które masz.<br /><br />Co to znaczy &quot;...dalej nie działa...&quot; ?? To nic mi nie mówi. Logi z kompilacji jakieś byś pokazał....<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Wydaje mi się, że wszystko co jest potrzebne powinno być,<br /></div><br />Ja natomiast wiem, że za bardzo kombinujesz.....<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />... ale gdzieś przeczytałem, że w repozytorium są starsze wersje,...<br /></div><br />Właśnie, gdzieś, coś ale nie wiesz gdzie i co. I takie są efekty. Sprawdziłeś w ogóle jaką wersję narzędzi dla AVR masz w repozytorium ? Jestem niemal pewien, że nie.<br /><br />Komunikat<br />[syntax=c]make: *** &#91;usbdrv/usbdrv.o&#93;: Naruszenie ochrony pamięci[/syntax]<br />mówi, że kompilator / make się &quot;wysypał&quot; - masz coś skopane. Jak widziałeś w załączonym logu, u mnie się kompiluje beż zająknięcia.<br /><br />Z jakiego miejsca pobierałeś ten kompilator ?<br /><br /><br />Kolego, rób tak, jak się powinno. Czyli:<br /> - Zainstaluj z repozytorium pakiety dla AVR ( binutils-avr, avr-libc oraz gcc-avr )<br />- pobierz archiwum które zamieściłem z poprawionymi plikami usbdrv.c oraz usbdrv.h<br />-  Rozpakuj źródła Usbasp z archiwum do jakiegoś katalogu<br />- Zastąp oryginalne pliki usbdrv.h i usbdrv.c tymi z pobranego archiwum<br />- Ustaw w pliku Makefile procek, pod jaki będziesz chciał skompilować Usbasp<br />- uruchom kompilację.<br /><br />Tyle i tylko tyle trzeba do pełni szczęścia,  bez zbędnego kombinowania....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1967">gizmo5418</a> — 19 lut 2018, o 08:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tokirium]]></name></author>
<updated>2018-02-19T01:17:05+01:00</updated>
<published>2018-02-19T01:17:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204179#p204179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204179#p204179"/>
<title type="html"><![CDATA[Re: Błąd kompilacji na atmega328p z avr-toolchain]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204179#p204179"><![CDATA[
Debian testing. Wydaje mi się, że wszystko co jest potrzebne powinno być, bo wcześniej już kompilowałem, tylko że używałem innego makefile, w którym było zdefiniowanych więcej narzędzi [syntax=c]CC = $(TOOLCHAIN_DIR)avr-gcc<br />OBJCOPY = $(TOOLCHAIN_DIR)avr-objcopy<br />OBJDUMP = $(TOOLCHAIN_DIR)avr-objdump<br />SIZE = $(TOOLCHAIN_DIR)avr-size<br />AR = $(TOOLCHAIN_DIR)avr-ar rcs<br />NM = $(TOOLCHAIN_DIR)avr-nm[/syntax]. Kiedyś instalowałem wszystko z repozytorium razem z kompilatorem, ale gdzieś przeczytałem, że w repozytorium są starsze wersje, może chodziło nawet o wyeliminowanie jakiegoś błędu.<br />Co trzeba było zmienić w tych plikach usbdrv.c oraz usbdrv.h? Niestety dalej nie działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15668">tokirium</a> — 19 lut 2018, o 01:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gizmo5418]]></name></author>
<updated>2018-02-18T21:59:29+01:00</updated>
<published>2018-02-18T21:59:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204173#p204173</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204173#p204173"/>
<title type="html"><![CDATA[Re: Błąd kompilacji na atmega328p z avr-toolchain]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204173#p204173"><![CDATA[
Witaj,<br /><br />Jakiej dystrybucji używasz ?<br />Sam kompilator nie wystarczy. Brakuje Ci jeszcze prawdopodobnie pakietów binutils-avr oraz avr-libc.<br /><br />Najlepiej jak zainstalujesz sobie wszystko z repozytorium. Dla dystrybucji opartych o debiana będą to binutils-avr, avr-libc oraz gcc-avr.<br /><br />Ponadto należy zmodyfikować pliki usbdrv.c  oraz usbdrv.h w katalogu <strong>usbdrv</strong>. Przy wszystkich makrach <strong>PROGMEM</strong> brakuje specyfikatora <strong>const</strong>.<br /><br />W załączniku poprawione w/w pliki oraz wynik kompilacji<br /><a href="https://obrazkiforum.atnel.pl/1967/7abccc5a571a7a2d9625ffad2ed360c8.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/1967/7abccc5a571a7a2d9625ffad2ed360c8.png" alt="Obrazek" /></a><br />usbdrv_c_h.tar.gz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1967">gizmo5418</a> — 18 lut 2018, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tokirium]]></name></author>
<updated>2018-02-18T21:15:32+01:00</updated>
<published>2018-02-18T21:15:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204169#p204169</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204169#p204169"/>
<title type="html"><![CDATA[Błąd kompilacji na atmega328p z avr-toolchain]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20253&amp;p=204169#p204169"><![CDATA[
Witam. Chciałem złożyć sobie programator USBasp. Atmega8a którą mam nie działa, więc próbuję skompilować program na mikrokontroler Atmega328p. Po rozpakowaniu paczki pobranej ze strony projektu USBasp <!-- m --><a class="postlink" href="http://www.fischl.de/usbasp/" >http://www.fischl.de/usbasp/</a><!-- m --> edytowałem plik Makefile w folderze /usbasp.2011-05-28/firmware. Mam pobrany toolchain avr8-gnu-toolchain-linux_x86_64, więc w Makefile podoklejałem odnośniki przed avr-gcc, avr-objdump i avr-objcopy, mam nadzieję że nic nie przeoczyłem. Tak wygląda cały Makefile: [syntax=c]#<br />#   Makefile for bascom<br />#   20061119   Thomas Fischl        original<br />#   20061120   Hanns-Konrad Unger   help: and TARGET=atmega48 added<br />#ZMODYFIKOWANY <br /><br /># TARGET=atmega8    HFUSE=0xc9  LFUSE=0xef<br /># TARGET=atmega48   HFUSE=0xdd  LFUSE=0xff<br /># TARGET=at90s2313<br />TARGET=atmega328p<br />#HFUSE=0xc9<br />#LFUSE=0xef<br /><br /><br /># ISP=bsd      PORT=/dev/parport0<br /># ISP=ponyser  PORT=/dev/ttyS1<br /># ISP=stk500   PORT=/dev/ttyS1<br /># ISP=usbasp   PORT=/dev/usb/ttyUSB0<br /># ISP=stk500v2 PORT=/dev/ttyUSB0<br />ISP=bascom<br />#PORT=/dev/usb/ttyUSB0<br />PORT=/dev/parport0<br /><br />TOOLCHAIN_DIR = /home/krzysztof/Mikrokontrolery/avr8-gnu-toolchain-linux_x86_64/bin/<br /><br />help:<br />@echo &quot;Usage: make                same as make help&quot;<br />@echo &quot;       make help           same as make&quot;<br />@echo &quot;       make main.hex       create main.hex&quot;<br />@echo &quot;       make clean          remove redundant data&quot;<br />@echo &quot;       make disasm         disasm main&quot;<br />@echo &quot;       make flash          upload main.hex into flash&quot;<br />@echo &quot;       make fuses          program fuses&quot;<br />@echo &quot;       make avrdude        test avrdude&quot;<br />@echo &quot;Current values:&quot;<br />@echo &quot;       TARGET=${TARGET}&quot;<br />@echo &quot;       LFUSE=${LFUSE}&quot;<br />@echo &quot;       HFUSE=${HFUSE}&quot;<br />@echo &quot;       CLOCK=12000000&quot;<br />@echo &quot;       ISP=${ISP}&quot;<br />@echo &quot;       PORT=${PORT}&quot;<br /><br />COMPILE = $(TOOLCHAIN_DIR)avr-gcc -Wall -O2 -Iusbdrv -I. -mmcu=$(TARGET) # -DDEBUG_LEVEL=2<br /><br />OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o isp.o clock.o tpi.o main.o<br /><br />.c.o:<br />$(COMPILE) -c $&lt; -o $@<br />#-Wa,-ahlms=$&lt;.lst<br /><br />.S.o:<br />$(COMPILE) -x assembler-with-cpp -c $&lt; -o $@<br /># &quot;-x assembler-with-cpp&quot; should not be necessary since this is the default<br /># file type for the .S (with capital S) extension. However, upper case<br /># characters are not always preserved on Windows. To ensure WinAVR<br /># compatibility define the file type manually.<br /><br />.c.s:<br />$(COMPILE) -S $&lt; -o $@<br /><br />clean:<br />rm -f main.hex main.lst main.obj main.cof main.list main.map main.eep.hex main.bin *.o main.s usbdrv/*.o<br /><br /># file targets:<br />main.bin:$(OBJECTS)<br />$(COMPILE) -o main.bin $(OBJECTS) -Wl,-Map,main.map<br /><br />main.hex:main.bin<br />rm -f main.hex main.eep.hex<br />$(TOOLCHAIN_DIR)avr-objcopy -j .text -j .data -O ihex main.bin main.hex<br />#./checksize main.bin<br /># do the checksize script as our last action to allow successful compilation<br /># on Windows with WinAVR where the Unix commands will fail.<br /><br />disasm:main.bin<br />$(TOOLCHAIN_DIR)avr-objdump -d main.bin<br /><br />cpp:<br />$(COMPILE) -E main.c<br /><br />flash:<br />avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -U flash:w:main.hex<br /><br />#fuses:<br />#avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -u -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m<br /><br />avrdude:<br />avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -v<br /><br /># Fuse atmega8 high byte HFUSE:<br /># 0xc9 = 1 1 0 0   1 0 0 1 &lt;-- BOOTRST (boot reset vector at 0x0000)<br />#        ^ ^ ^ ^   ^ ^ ^------ BOOTSZ0<br />#        | | | |   | +-------- BOOTSZ1<br />#        | | | |   + --------- EESAVE (don't preserve EEPROM over chip erase)<br />#        | | | +-------------- CKOPT (full output swing)<br />#        | | +---------------- SPIEN (allow serial programming)<br />#        | +------------------ WDTON (WDT not always on)<br />#        +-------------------- RSTDISBL (reset pin is enabled)<br /># Fuse atmega8 low byte LFUSE:<br /># 0x9f = 1 0 0 1   1 1 1 1<br />#        ^ ^ \ /   \--+--/<br />#        | |  |       +------- CKSEL 3..0 (external &gt;8M crystal)<br />#        | |  +--------------- SUT 1..0 (crystal osc, BOD enabled)<br />#        | +------------------ BODEN (BrownOut Detector enabled)<br />#        +-------------------- BODLEVEL (2.7V)<br />#<br /># Fuse atmega48 high byte hfuse:<br /># 0xdf = 1 1 0 1   1 1 1 1     factory setting<br />#        ^ ^ ^ ^   ^ \-+-/<br />#        | | | |   |   +------ BODLEVEL (Brown out disabled)<br />#        | | | |   + --------- EESAVE (don't preserve EEPROM over chip erase)<br />#        | | | +-------------- WDTON (WDT not always on)<br />#        | | +---------------- SPIEN (allow serial programming)<br />#        | +------------------ DWEN (debug wire is disabled)<br />#        +-------------------- RSTDISBL (reset pin is enabled)<br /># 0xdd = ext.reset, no DW, SPI, no watchdog, no save eeprom, BOD 2.7V<br /># Fuse atmega48 low byte lfuse:<br /># 0x62 = 0 1 1 0   0 0 1 0     factory setting<br />#        ^ ^ \ /   \--+--/<br />#        | |  |       +------- CKSEL 3..0 (internal 8Mhz Oszillator)<br />#        | |  +--------------- SUT 1..0 (start-up time)<br />#        | +------------------ CKOUT (no clock output)<br />#        +-------------------- CKDIV8 (divide clock by 8)<br /># 0xdc = divide/1,no clock output,fast raising power,low Pw Oszil. 3..8 Mhz<br /># 0xe0 = divide/1,no clock output,fast raising power,external Oszil.<br /># 0xff = divide/1,no clock output,slow raising power,low Pw Oszil 8..  Mhz<br /><br /><br />SERIAL = `echo /dev/tty.USA19QI*`<br />UISP = uisp -dprog=$S -dserial=$(SERIAL) -dpart=auto<br /># The two lines above are for &quot;uisp&quot; and the AVR910 serial programmer connected<br /># to a Keyspan USB to serial converter to a Mac running Mac OS X.<br /># Choose your favorite programmer and interface.<br /><br />uisp:all<br />$(UISP) --erase<br />$(UISP) --upload --verify if=main.hex[/syntax]Niestety po uruchomieniu make main.hex w konsoli mam taki komunikat: [syntax=c]~/Pobrane/usbasp.2011-05-28/firmware$ make main.hex<br />/home/krzysztof/Mikrokontrolery/avr8-gnu-toolchain-linux_x86_64/bin/avr-gcc -Wall -O2 -Iusbdrv -I. -mmcu=atmega328p  -c usbdrv/usbdrv.c -o usbdrv/usbdrv.o<br />Makefile:48: polecenia dla obiektu 'usbdrv/usbdrv.o' nie powiodły się<br />make: *** &#91;usbdrv/usbdrv.o&#93;: Naruszenie ochrony pamięci[/syntax]Z czego ten błąd wynika i jak to naprawić?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15668">tokirium</a> — 18 lut 2018, o 21:15</p><hr />
]]></content>
</entry>
</feed>