Schlagwort-Archive: MCU8051IDE

Gewöhnliche 8051-Programme laufen nicht auf dem CC2541

Mit dem freien 8051-IDE MCU8051IDE haben wir versucht, ein Hallo Welt-Programm auf den CC2541 zu flashen. Das IDE hat uns aus unserem Hallo Welt-Assembler-Code ein 8051-Binärprogramm erzeugt, das wir mit cc-tool auf den CC2541 flashen konnten. Leider hat das Programm dort nicht das getan, was es sollte: eine LED blinken zu lassen.

Grund dafür ist aller Wahrscheinlichkeit nach, dass im CC2541 kein Standard-8051 verbaut ist. Wie im Datenblatt sowie im User Guide nachzulesen ist, gibt es einige Änderungen:

  • teilweise geänderte Adressen der Register im RAM
  • zusätzliche Register für zusätzliche Hardware-Funktionalitäten
  • evtl. Notwendigkeit für Setup-Instruktionen (z.B. Richtung) vor der Ansteuerung von I/O-Pins
  • eine Instruktion pro Takt, anstatt 12 Takte pro Instruktion

Um ein Hallo Welt-Programm auf dem CC2541 zum Laufen zu bekommen, wird es daher notwendig sein, direkt mit der Entwicklung in C mit dem sdcc C-Compiler zu beginnen. sdcc verfügt über eine cc2530.h, die aus einem User Guide abgeleitet wurde, das für CC253x und CC254x gleichermaßen gilt. Sie sollte bei Einbindung die Nutzung aller CC2541-Register sowie der angeschlossenen Funktionalitäten ermöglichen.