Forum: Mikrocontroller und Digitale Elektronik ATSAM3X8E Arduino Due mit avrdude und avra in Assembler proggen


von Pascal (Gast)


Lesenswert?

Hi,

der Arduino Due hat ja auch einen 16u2 Chip als USB -> UART Wandler. 
D.h. ich kann den auch als Arduino in avrdude flashen, wie einen UNO, 
oder?

Da ich auf meinem Linux PC avra als Assembler nutze: gibt es da auch 
eine .inc Datei für den ATSAM3X8E ARM Chip?

Welche Software (jetzt mal egal ob win/linux) bräuchte ich sonst, um für 
diesen Chip zu assemblieren?

Falls ihr keine Ahnung davon habt: wo finde ich den Arduino Due Core für 
die Arduino IDE? Bei github gibt es ein zip Archiv mit einer mir 
unbekannten Struktur. Ich suche einfach nur den Ordner, den ich dann zu 
den anderen Cores im Arduino Hardware Ordner kopiere.

von Christopher J. (christopher_j23)


Lesenswert?

Pascal schrieb:
> Welche Software (jetzt mal egal ob win/linux) bräuchte ich sonst, um für
> diesen Chip zu assemblieren?

Wie wäre es denn z.B. mit dem GCC-ARM?

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Pascal schrieb:
> D.h. ich kann den auch als Arduino in avrdude flashen, wie einen UNO,
> oder?
Nein. Der SAM ist ein ARM, kein AVR. Zum flashen brauchst du entweder 
SAM-BA (von Atmel) oder Bossa(c) (ist bei dem Arduinozeug dabei), oder 
einen ARM kompatiblen Programmer (z.B. J-Link).

Bossa:
http://shumatech.com/web/products/bossa
https://github.com/shumatech/BOSSA
1
BOSSA is a flash programming utility for Atmel's SAM family of
2
flash-based ARM microcontrollers. The motivation behind BOSSA is
3
to create a simple, easy-to-use, open source utility to replace
4
Atmel's SAM-BA software. BOSSA is an acronym for Basic Open Source
5
SAM-BA Application to reflect that goal.

Um den Bootloader zu aktivieren musst du den Port einmal mit 1200 Baud 
aufmachen und wieder schliessen, dann kannst du flashen.

Pascal schrieb:
> Da ich auf meinem Linux PC avra als Assembler nutze: gibt es da auch
> eine .inc Datei für den ATSAM3X8E ARM Chip?
avra ist fuer AVR, der SAM ist aber ein ARM Cortex-M3.

Pascal schrieb:
> Welche Software (jetzt mal egal ob win/linux) bräuchte ich sonst, um für
> diesen Chip zu assemblieren?
Z.B. die ARM-GCC Toolchain.

von Pascal (Gast)


Lesenswert?

Okay, Danke!

Gut zu wissen dass nicht alle Chips, die mit AT anfangen, gleich Atmel 
AVRs genannt werden können. Dass also ARM kein Teil von AVR sein kann.

d.h. jetzt:

- mit ARM-GCC den asm/c - Code kompilieren
- und dann mit BOSSA den hexfile hochladen
?

benötige ich auch wie in avra bei arm-gcc include .inc Dateien? Oder 
sind die dabei bzw. werden nicht gebraucht?

von Kaj G. (Firma: RUB) (bloody)


Angehängte Dateien:

Lesenswert?

Ich hab hier mal eine alte Version von bossac, die ich benutzt habe, als 
ich mit dem SAM3X gearbeitet habe. Ich habe das ganze GUI Zeug 
rausgeworfen. Auspacken, compilieren, fertig.
In der flash.sh ist der Aufruf zusehen.

Pascal schrieb:
> und dann mit BOSSA den hexfile hochladen
Beim Compilieren faellt eine elf-Datei raus. Die moechtest du vielleicht 
noch nach bin konvertieren.
1
arm-none-eabi-objcopy -O binary "my_firmware.elf" "my_firmware.bin"
Und die bin-Datei wird dann mit bossac geflasht.
1
stty -F /dev/ttyACM0 speed 1200 cs8 -cstopb -parenb && ./bossac -i -d --port=ttyACM0 -U false -e -w -v -b ./my_firmware.bin -R

So habe ich mir das damals aus den Ausgaben der Arduino IDE und dem 
Atmel-Studio zusammen gebaut. Den Port musst du ggf. anpassen.

von Pascal (Gast)


Lesenswert?

Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.