<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=AVR-batch</id>
	<title>AVR-batch - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=AVR-batch"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=AVR-batch&amp;action=history"/>
	<updated>2026-06-10T22:00:22Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=AVR-batch&amp;diff=4605&amp;oldid=prev</id>
		<title>Bar: /* set fuse-batch-job */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=AVR-batch&amp;diff=4605&amp;oldid=prev"/>
		<updated>2022-11-05T10:44:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;set fuse-batch-job&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 5. nov. 2022, 12:44&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l64&quot;&gt;Linje 64:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 64:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der er specielt en fuse man skal passe på med at rette - det er Reset benet. Hvis man ønsker at anvende det til f.x. input, så skal man have fjernet den eksterne reset (det gør man med et 0 det rette sted i fuses). Konsekvensen er at man så kun kan brænde microcontrolleren med high-voltage programming (12,5V) som arduinoen IKKE er i stand til.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der er specielt en fuse man skal passe på med at rette - det er Reset benet. Hvis man ønsker at anvende det til f.x. input, så skal man have fjernet den eksterne reset (det gør man med et 0 det rette sted i fuses). Konsekvensen er at man så kun kan brænde microcontrolleren med high-voltage programming (12,5V) som arduinoen IKKE er i stand til.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Atmel Microcontroller}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Atmel udviklingsmiljø]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Atmel udviklingsmiljø]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=AVR-batch&amp;diff=3637&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=AVR-batch&amp;diff=3637&amp;oldid=prev"/>
		<updated>2022-10-25T20:02:12Z</updated>

		<summary type="html">&lt;p&gt;1 version importeret&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 25. okt. 2022, 22:02&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;da&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskel)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=AVR-batch&amp;diff=3636&amp;oldid=prev</id>
		<title>htx_&gt;Bar: /* set fuse-batch-job */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=AVR-batch&amp;diff=3636&amp;oldid=prev"/>
		<updated>2014-11-05T12:20:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;set fuse-batch-job&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Test af udviklings-miljøet==&lt;br /&gt;
Udviklingsmiljøet kræver at [[WinAVR]] er installeret, da det skal compilere og linke koden sammen til en [[HEX-fil]]. Desuden sørger det for forbindelsen til den microcontroller der skal programmeres.&lt;br /&gt;
&lt;br /&gt;
For at kunne teste et udviklingsboard, så kan det være en fordel at smide noget test-kode i microcontrolleren, og koble lidt hardware på, for at se om den rent faktisk fungerer.&lt;br /&gt;
&lt;br /&gt;
===Videre arbejde i test-miljøet===&lt;br /&gt;
Når man har fået testet at hardwaren kan fungere og man kan lægger programmer over i AVR-microcontrolleren, så skal man i gang med sine egne programmer.&lt;br /&gt;
&lt;br /&gt;
Her vil man naturligvis tage en kopi af C-filen og navngive den efter hvilket projekt man skal lave. Her skal man &amp;#039;&amp;#039;&amp;#039;redigere i batch-jobbene&amp;#039;&amp;#039;&amp;#039;, så man får det rigtige filnavn ind i alle batch-job (på nær erase) - man skal også være opmærksom på at navnet står flere gange i nogle batch-job, det skal rettes alle steder.&lt;br /&gt;
&lt;br /&gt;
==Eksempel til ATTiny45==&lt;br /&gt;
&lt;br /&gt;
Der er en [[Media:Blink_45.zip|ZIP-fil]] med et kodeeksempel der løber gennem alle 5 udgange. Man kan teste ved at sætte 5 LED&amp;#039;er med tilhørende begrænsnings-modstande på udgangene.&lt;br /&gt;
&lt;br /&gt;
==Eksempel til ATTiny24A==&lt;br /&gt;
&lt;br /&gt;
Der er en [[Media:Blink_24A.zip|ZIP-fil]] med et kodeeksempel der løber gennem alle 11 udgange. Man kan teste ved at sætte 11 LED&amp;#039;er med tilhørende begrænsnings-modstande på udgangene.&lt;br /&gt;
&lt;br /&gt;
==Generel struktur af batch-job==&lt;br /&gt;
Der er et build-batch-job, som forsøger at oversætte C-koden til relokerbar maskin-kode, hvorefter det linkes sammen til en HEX-fil der kan brændes.&lt;br /&gt;
&lt;br /&gt;
Når man har fået oversat til maskinkode, så er der en burn-fil, der kan foretage selve programmeringen af microcontrolleren.&lt;br /&gt;
&lt;br /&gt;
Man kan slette koden i microcontrolleren med en erase-fil, hvis man ikke ønsker at andre skal kunne bruge microconterolleren med ens egen kode.&lt;br /&gt;
&lt;br /&gt;
For at sikre hvordan microcontrolleren passer til ens hardware, så skal man sætte de rigtige fuses med set fuses filen.&lt;br /&gt;
&lt;br /&gt;
===Build-batch-job===&lt;br /&gt;
Build er det batch-job der oversætter C-koden til maskinkode.&lt;br /&gt;
&lt;br /&gt;
C-koden ligger placeret i underbiblioteket /src og hedder blink.c i eksemplet.&lt;br /&gt;
&lt;br /&gt;
Hvis man ønsker at få batch-jobbet til at oversætte en anden C-fil, så skal man rette navnet i batch-filen - det står der 8 gange.&lt;br /&gt;
&lt;br /&gt;
Oversættelsen foregår ved at oversætte koden først til assemblerkode, der kan gøre det læseligt hvordan compileren tolker C-koden til at blive til maskin-kode. Der dannes ligeledes relokerbar objekt-kode der ikke er læseligt. Ud fra den relokerbare objekt-kode linkes det sammen til en absolut maskinkode. Denne maskinkode oversættes til en HEX-fil der kan kommunikeres over til ISP-programmeren.&lt;br /&gt;
&lt;br /&gt;
Hvis oversættelsen går godt ser det ud som følger:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:build-OK.PNG]]&lt;br /&gt;
&lt;br /&gt;
Hvis oversættelsen fejler kan det se ud som følger:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:build-fejl.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Burn-batch-job===&lt;br /&gt;
Når man skal brænde maskin-koden over i microcontrolleren, så skal man have tilsluttet en [[Arduino]] med en [http://arduino.cc/en/Tutorial/ArduinoISP ArduinoISP] software brændt ned i for at det kan fungere, samt et [[AVR-programmer Shield]] på for på enkel vis at koble over til microcontroller [[udviklingsboard]]et.&lt;br /&gt;
&lt;br /&gt;
Desuden skal man kontrollere at Arduinoen optræder som den &amp;#039;&amp;#039;&amp;#039;rigtige COM-port&amp;#039;&amp;#039;&amp;#039; - det kan man f.x. kontrollere i enhedshåndteringen under COM-porte. Tallet skal svare til den COM-port der er angivet inde i Burn-batch-jobbet.&lt;br /&gt;
&lt;br /&gt;
Man kan desuden rette navnet på den HEX-fil der skal brændes over. Resten burde være standard.&lt;br /&gt;
&lt;br /&gt;
Hvis brændingen går godt får man en skærmbillede som følger:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:burn.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Erase-batch-job===&lt;br /&gt;
Der er ikke så meget at sige til det batch-job, andet end at man igen skal kommunikere med den &amp;#039;&amp;#039;&amp;#039;rigtige COM-port&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===set fuse-batch-job===&lt;br /&gt;
Dette bacth-job kan være specielt farligt - man skal sikre sig at man har den &amp;#039;&amp;#039;&amp;#039;rigtige type&amp;#039;&amp;#039;&amp;#039; microcontroller skrevet ind i batch-jobbet til den aktuelle microcontroller man forsøger at arbejde med, ellers går det galt!!!&lt;br /&gt;
&lt;br /&gt;
Her skal man igen kommunikere med den &amp;#039;&amp;#039;&amp;#039;rigtige COM-port&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Man har også muligheden for at rette på de fuses der sættes i microcontrolleren.&lt;br /&gt;
&lt;br /&gt;
Det er vigtigt at man får sat de fuses der svarer til den hardware man har koblet op omkring microcontrolleren.&lt;br /&gt;
&lt;br /&gt;
Der er specielt en fuse man skal passe på med at rette - det er Reset benet. Hvis man ønsker at anvende det til f.x. input, så skal man have fjernet den eksterne reset (det gør man med et 0 det rette sted i fuses). Konsekvensen er at man så kun kan brænde microcontrolleren med high-voltage programming (12,5V) som arduinoen IKKE er i stand til.&lt;br /&gt;
[[Kategori:Atmel udviklingsmiljø]]&lt;/div&gt;</summary>
		<author><name>htx_&gt;Bar</name></author>
	</entry>
</feed>