aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/appl/avr-build.xml
blob: daacf9d0b8f71111d47c46e370dfe5e10b44d843 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!-- make multiple targets with antelope -->
<project name="Amforth for AVR8 Tools" basedir="." default="Help">
    <import file="common-build.xml"/>
    <macrodef name="avrasm2">
	<attribute name="binary"       default="wine" />
	<attribute name="avrasm"       default="../../avr8/Atmel/avrasm2.exe"/>
	<attribute name="includes"     default="../../avr8/Atmel/Appnotes2" />
	<attribute name="projectname"  default="undefined"/>
	<attribute name="mcu"          default="undefined"/>
	<attribute name="amforth.core" default="../.."/>
	<sequential>
		<echo>Producing Hexfiles for @{mcu}</echo>
		<exec executable="@{binary}" spawn="false" failonerror="true">
		    <arg line="@{avrasm}"/>
		    <arg line="-I @{includes}"/>
		    <arg line="-I @{amforth.core}/avr8/devices/@{mcu}"/>
		    <arg line="-I @{amforth.core}/avr8"/>
		    <arg line="-I @{amforth.core}/common"/>
		    <arg line="-I @{amforth.core}"/>
		    <arg line="-fI -v0"/>
		    <arg line="-e @{projectname}.eep.hex"/>
		    <arg line="-l @{projectname}.lst"/>
		    <arg line="-m @{projectname}.map"/>
		    <arg line="-o @{projectname}.hex"/>
		    <arg line="@{projectname}.asm"/>
		</exec>
	</sequential>
    </macrodef>

    <macrodef name="avrdude">
	<attribute name="binary"      default="avrdude" />
	<attribute name="type"        default="avr910"/>
	<attribute name="port"        default="${avr.programmer.@{type}port}" />
	<attribute name="programmer"  default="${avr.programmer.@{type}}" />
	<attribute name="mcu"         default="m8"/>

	<attribute name="flashfile"   default=""/>
	<attribute name="eepromfile"  default=""/>
	<sequential>
	    <exec executable="@{binary}" spawn="false" failonerror="true">
	    <arg line="-c @{programmer}"/>
		<arg line="-p @{mcu}"/>
		<arg line="-P @{port}"/>
		<arg line="-e"/> 
		<arg line="-U flash:w:@{flashfile}"/>
		<arg line="-U eeprom:w:@{eepromfile}"/>
	    </exec>
	</sequential>
    </macrodef>

    <macrodef name="avrdude-back">
	<attribute name="binary"      default="avrdude" />
	<attribute name="type"        default="avr910"/>
	<attribute name="port"        default="${avr.programmer.@{type}port}" />
	<attribute name="programmer"  default="${avr.programmer.@{type}}" />
	<attribute name="mcu"         default="m8"/>

	<attribute name="flashfile"   default=""/>
	<attribute name="eepromfile"  default=""/>
	<sequential>
	    <exec executable="@{binary}" spawn="false" failonerror="true">
	    <arg line="-c @{programmer}"/>
		<arg line="-p @{mcu}"/>
		<arg line="-P @{port}"/>
		<arg line="-U flash:r:@{flashfile}:i"/>
		<arg line="-U eeprom:r:@{eepromfile}:i"/>
	    </exec>
	</sequential>
    </macrodef>

    <macrodef name="avrdude-2fuses">
	<attribute name="binary"      default="avrdude" />
	<attribute name="type"        default="avr910"/>
	<attribute name="port"        default="${avr.programmer.@{type}port}" />
	<attribute name="programmer"  default="${avr.programmer.@{type}}" />

	<attribute name="mcu"         default="m8"/>
	<attribute name="hfuse"       default="0xnn"/>
	<attribute name="lfuse"       default="0xnn"/>
	<sequential>
	    <exec executable="@{binary}" spawn="false" failonerror="true">
	    <arg line="-c @{programmer}"/>
		<arg line="-p @{mcu}"/>
		<arg line="-P @{port}"/>
		<!-- $(AVRDUDE) $(USB) -p $(MCU) -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m -->
		<arg line="-U hfuse:w:@{hfuse}:m"/>
		<arg line="-U lfuse:w:@{lfuse}:m"/>
	    </exec>
	</sequential>
    </macrodef>

    <macrodef name="avrdude-3fuses">
	<attribute name="binary"      default="avrdude" />
	<attribute name="type"        default="avr910"/>
	<attribute name="port"        default="${avr.programmer.@{type}port}" />
	<attribute name="programmer"  default="${avr.programmer.@{type}}" />

	<attribute name="mcu"         default="m88"/>
	<attribute name="efuse"       default="0xnn"/>
	<attribute name="hfuse"       default="0xnn"/>
	<attribute name="lfuse"       default="0xnn"/>
	<sequential>
	    <exec executable="@{binary}" spawn="false" failonerror="true">
	    <arg line="-c @{programmer}"/>
		<arg line="-p @{mcu}"/>
		<arg line="-P @{port}"/>
		<arg line="-U hfuse:w:@{hfuse}:m"/>
		<arg line="-U lfuse:w:@{lfuse}:m"/>
		<arg line="-U efuse:w:@{efuse}:m"/>
	    </exec>
	</sequential>
    </macrodef>
</project>