Arbeiten mit Atmel Studio und dem Atmel ICE

Zum ausführlichem Debuggen kommt man um einen „In Circuit Emulator“ (ICE) nicht herum. Mit dem Atmel Studio und dem Atmel (jtag) ICE ist allerdings schon ein günstiges Mittel zum Debuggen vorhanden.

Meine verwendete Hardware
Da ich gerne mit den Arduino Boards arbeite, nehme ich das Due Board mit dem jtag Connector. Bei manchen Herstellern muss man die Stiftleiste selber einlöten.

Ein Beispiel zur Anwendung
Hierfür verwende ich einen Port Expander MCP23017 mit I2C Anschluß. An GPA 7 schliesse ich einen Taster an, der auf GND verbindet und nutze den internen Pull Up Widerstand. An GPB 0 schließe ich eine LED an.
Die Verbindungen zwischen meiner Breadboard Schaltung und dem Due sind:
+5V , GND , Reset, SDL , SDA
Drücke ich den Taster, dann soll die LED leuchten. Lasse ich den Taster los, ist die LED wieder aus.

Extensions für das Studio
Für die Arbeit mit dem Arduino empfiehlt sich die Extension „Arduino IDE for Atmel Studio 7“ zu installieren. Damit kann ich dann ein Arduino.ino direkt importieren zum Debuggen.

So sieht mein Aufbau aus:
[Atmel ICE am Due]

Der Sketch
#include <Wire.h>
#include <Adafruit_MCP23017.h>

Adafruit_MCP23017 mcp;

void setup()
{
mcp.begin(0); // Start MCP an Hardware addresse 0x20
mcp.pinMode(7, INPUT); // GPA7 an MCP als input
mcp.pullUp(7, HIGH); // Interner Pull-Up Widerstand
mcp.pinMode(8, OUTPUT); // GPB0 an MCP als Output
}

void loop()
{
if (mcp.digitalRead(7) == LOW)
{
mcp.digitalWrite(8, HIGH);
}
else
{
mcp.digitalWrite(8, LOW);
}
}

So kann ich die Software in der Arduino IDE entwickeln oder ein Beispiel übernehmen und dann im AtmelStudio debuggen. An diesem Beispiel hat das ganz gut funktioniert.

Anmerkung
Die Reset Leitung zum Prozessor verbinden ist wichtig. Setzt man den MCP23017 ResetPin auf High und stöpselt dann irgendwas um, geht nichts mehr. Nach einem manuellen Reset mit 5V raus und wieder rein läuft alles wieder. Also: Den Reset Pin vom MCP23017 mit dem Reset vom Due verbinden.

Links

In Circuit Emulator
https://de.wikipedia.org/wiki/In-Circuit-Emulator

Atmel Studio 7
http://www.microchip.com/development-tools/atmel-studio-7

Datenblatt Port expander MCP23017
http://ww1.microchip.com/downloads/en/DeviceDoc/20001952C.pdf

Example Software MCP23017

MCP23017 I2C I/O Port Expander

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.