1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-21 15:54:39 +01:00

Updated ARM gcc to 4.7.4. Added native 64 bit version for linux (no more ia32-libs needed).

Fixes #1474
This commit is contained in:
Cristian Maglie 2013-07-28 14:14:04 +02:00
parent b0332f0c36
commit ea804023ef
6 changed files with 41 additions and 43 deletions

View File

@ -11,14 +11,10 @@
<condition property="linux32"><os family="unix" arch="i386" /></condition> <condition property="linux32"><os family="unix" arch="i386" /></condition>
<condition property="linux64"><os family="unix" arch="amd64" /></condition> <condition property="linux64"><os family="unix" arch="amd64" /></condition>
<condition property="platform" <condition property="platform" value="macosx"><os family="mac" /></condition>
value="macosx"><os family="mac" /></condition> <condition property="platform" value="windows"><os family="windows" /></condition>
<condition property="platform" <condition property="platform" value="linux32"><os family="unix" arch="i386" /></condition>
value="windows"><os family="windows" /></condition> <condition property="platform" value="linux64"><os family="unix" arch="amd64" /></condition>
<condition property="platform"
value="linux32"><os family="unix" arch="i386" /></condition>
<condition property="platform"
value="linux64"><os family="unix" arch="amd64" /></condition>
<!-- Libraries required for running arduino --> <!-- Libraries required for running arduino -->
<fileset dir=".." id="runtime.jars"> <fileset dir=".." id="runtime.jars">
@ -440,7 +436,7 @@
<fail message="wrong platform (${os.name})" /> <fail message="wrong platform (${os.name})" />
</target> </target>
<target name="linux-build" depends="revision-check, linux-checkos, subprojects-build, linux-check-arm-toolchain" description="Build linux version"> <target name="linux-build" depends="revision-check, linux-checkos, subprojects-build" description="Build linux version">
<mkdir dir="linux/work" /> <mkdir dir="linux/work" />
<copy todir="linux/work"> <copy todir="linux/work">
@ -475,11 +471,16 @@
<copy todir="linux/work" file="linux/dist/arduino" /> <copy todir="linux/work" file="linux/dist/arduino" />
<chmod perm="755" file="linux/work/arduino" /> <chmod perm="755" file="linux/work/arduino" />
<antcall target="linux-unzip-arm-toolchain" />
</target> </target>
<target name="linux32-build" depends="linux-build" description="Build linux (32-bit) version"> <target name="linux32-build" depends="linux-build" description="Build linux (32-bit) version">
<!-- Unzip ARM tools -->
<antcall target="linux-unzip-arm-toolchain">
<param name="dist_file" value="gcc-arm-none-eabi-4.7.4-2013q2-linux32.tar.gz" />
<param name="dist_url" value="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.7.4-2013q2-linux32.tar.gz" />
<param name="dist_check_file" value="gcc-arm-none-eabi-4.7.4-2013q2" />
</antcall>
<!-- Unzip AVR tools --> <!-- Unzip AVR tools -->
<exec executable="tar" dir="linux/work/hardware"> <exec executable="tar" dir="linux/work/hardware">
<arg value="-xjf"/> <arg value="-xjf"/>
@ -493,6 +494,13 @@
<chmod perm="755" file="linux/work/hardware/tools/avrdude" /> <chmod perm="755" file="linux/work/hardware/tools/avrdude" />
<!-- Unzip ARM tools -->
<antcall target="linux-unzip-arm-toolchain">
<param name="dist_file" value="gcc-arm-none-eabi-4.7.4-2013q2-linux64.tar.gz" />
<param name="dist_url" value="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.7.4-2013q2-linux64.tar.gz" />
<param name="dist_check_file" value="gcc-arm-none-eabi-4.7.4-2013q2" />
</antcall>
<!-- Unzip AVR tools --> <!-- Unzip AVR tools -->
<exec executable="tar" dir="linux/work/hardware"> <exec executable="tar" dir="linux/work/hardware">
<arg value="-xjf"/> <arg value="-xjf"/>
@ -500,60 +508,47 @@
</exec> </exec>
</target> </target>
<target name="linux32-run" depends="linux32-build" <target name="linux32-run" depends="linux32-build" description="Run Linux (32-bit) version">
description="Run Linux (32-bit) version">
<exec executable="./linux/work/arduino" spawn="false"/> <exec executable="./linux/work/arduino" spawn="false"/>
</target> </target>
<target name="linux64-run" depends="linux64-build" <target name="linux64-run" depends="linux64-build" description="Run Linux (64-bit) version">
description="Run Linux (64-bit) version">
<exec executable="./linux/work/arduino" spawn="false"/> <exec executable="./linux/work/arduino" spawn="false"/>
</target> </target>
<target name="linux-check-arm-toolchain-distfile"> <!-- Set 'arm_disfile_available' property if ARM toolchain dist_file is downloaded -->
<available file="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz" property="arm_distfile_available" /> <!-- Set 'arm_toolchain_installed' property if ARM toolchain is installed in working directory -->
</target>
<target name="linux-get-arm-toolchain" depends="linux-check-arm-toolchain-distfile" unless="arm_distfile_available">
<!-- Retrieve ARM toolchain -->
<get
src="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz"
dest="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz"
verbose="true" />
</target>
<target name="linux-check-arm-toolchain"> <target name="linux-check-arm-toolchain">
<available file="linux/work/hardware/tools/g++_arm_none_eabi" property="arm_available" /> <available file="linux/dist/${dist_file}" property="arm_distfile_available" />
<available file="linux/work/hardware/tools/${dist_check_file}" property="arm_toolchain_installed" />
</target> </target>
<target name="linux-unzip-arm-toolchain" depends="linux-get-arm-toolchain, linux-check-arm-toolchain" unless="arm_available"> <!-- Retrieve ARM toolchain -->
<checksum file="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz" algorithm="sha" <target name="linux-get-arm-toolchain" depends="linux-check-arm-toolchain" unless="arm_distfile_available">
<get src="${dist_url}" dest="linux/dist/${dist_file}" verbose="true" />
</target>
<target name="linux-unzip-arm-toolchain" depends="linux-get-arm-toolchain, linux-check-arm-toolchain"
unless="arm_toolchain_installed">
<checksum file="linux/dist/${dist_file}" algorithm="sha"
fileext=".sha" verifyproperty="checksum.matches"/> fileext=".sha" verifyproperty="checksum.matches"/>
<condition property="checksum.matches.fail"> <condition property="checksum.matches.fail">
<equals arg1="${checksum.matches}" arg2="false"/> <equals arg1="${checksum.matches}" arg2="false"/>
</condition> </condition>
<fail if="checksum.matches.fail">Checksum failed. <fail if="checksum.matches.fail">Checksum failed.
File gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz failed checksum. File ${dist_file} failed checksum.
Please remove "linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz" to download it again. Please remove "linux/dist/${dist_file}" to download it again.
</fail> </fail>
<!-- Unzip toolchain to the destination folder --> <!-- Unzip toolchain to the destination folder -->
<exec executable="tar" output="/dev/null" os="Linux"> <exec executable="tar" output="/dev/null" os="Linux">
<arg value="xfz"/> <arg value="xfz"/>
<arg value="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz"/> <arg value="linux/dist/${dist_file}"/>
<arg value="--directory=linux/work/hardware/tools"/> <arg value="--directory=linux/work/hardware/tools"/>
</exec> </exec>
</target> </target>
<target name="linux64-get-arm-toolchain" depends="linux-check-arm-toolchain-distfile" unless="arm_distfile_available">
<antcall target="linux-get-arm-toolchain" />
</target>
<target name="linux64-unzip-arm-toolchain" depends="linux-get-arm-toolchain" unless="arm_available">
<antcall target="linux-unzip-arm-toolchain" />
</target>
<target name="linux-dist" depends="build" <target name="linux-dist" depends="build"
description="Build .tar.gz of linux version"> description="Build .tar.gz of linux version">

View File

@ -1 +0,0 @@
46a93ceec28772ac19c76ffc9b285a1eac4288a3

View File

@ -0,0 +1 @@
b35a6b9b1066977509ad5dcf51936b7a6bb18c18

View File

@ -0,0 +1 @@
14afebbb1a26b799237080ec32b300a409ff99cb

View File

@ -7,6 +7,8 @@ ARDUINO 1.5.3 BETA
* Added support for new 1.5 Library format (https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification) * Added support for new 1.5 Library format (https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification)
* Pass board type from boards.txt (https://github.com/arduino/Arduino/issues/308) * Pass board type from boards.txt (https://github.com/arduino/Arduino/issues/308)
* Display estimated RAM usage after compile (Loren M. Lang) * Display estimated RAM usage after compile (Loren M. Lang)
* Updated arm gcc to 4.7.4 for linux
* ARM gcc doesn't require ia32-libs anymore on 64 bits linux systems
[arduino core] [arduino core]
* sam: Fixed delayMicrosecond() when interrupts are disabled * sam: Fixed delayMicrosecond() when interrupts are disabled

View File

@ -10,7 +10,7 @@ version=1.5.3
# SAM3 compile variables # SAM3 compile variables
# ---------------------- # ----------------------
compiler.path={runtime.ide.path}/hardware/tools/g++_arm_none_eabi/bin/ compiler.path={runtime.ide.path}/hardware/tools/gcc-arm-none-eabi-4.7.4-2013q2/bin/
compiler.c.cmd=arm-none-eabi-gcc compiler.c.cmd=arm-none-eabi-gcc
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf
compiler.c.elf.cmd=arm-none-eabi-g++ compiler.c.elf.cmd=arm-none-eabi-g++