www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Tricore TC1797 Einstiegsprojekt


Autor: Jürgen Flierl (funksoulbrother)
Datum:

Hallo Leute,

ich bin gerade am verzweifeln.
Mein Problem:

Ich habe das Demoboard des Tricore TC1797 (Triboard). Hierfür kann man
ja bei Tasking v3.3 ein leeres Projekt mit Start und Linker-Dateien
erstellen. Dann kann man sich ein einfaches Projekt (bspw. LED
anschalten) via DAvE basteln und diesen Code in Tasking einfügen.
Jetzt noch kurz eine Endlosschleife in die main-Funktion und via run
oder debug auf den Controller geflasht.
Passt alles wunderbar. LED leuchtet. Aber sobald man den hardware reset
durchführt wird das Programm nicht mehr ausgeführt.
Wahrscheinlich weil bei run ein bestimmter Start mit ausgeführt wird und
dieser dann nach dem Hardwarereset nicht automatisch geschieht.

Gibt es eine Anleitung, wie man ein einfaches Projekt macht, welches
auch nach dem Reset noch funktioniert?

Ich habe auch schon versucht, die wichtigen Infos die DAvE vorschlägt
aber nicht selbst machen kann:

Begin of Important Settings for the Start-Up File
  All following settings must be set in the start-up file. You can use
  DAvE's project file (*.dpt) to include this register values into your
  compiler EDE.

  System Peripheral Bus Control Unit (SBCU):
  SBCU starvation protection is enabled
  the debug trace is enabled. Error information is captured in
  register SBCU_EADD, SBCU_EDAT and SBCU_ECON
  sample period of request for starvation protection: 64
  SBCU bus time-out value: 65536 cycles

  this register must be set in the start-up file
  SBCU_CON  =  0x4009FFFF;

  LMB External Bus Unit (EBU):
  - enable the EBU module clock

  this register must be set in the start-up file
  EBU_CLC  =  0x00010000;

  External Arbitration:
  - EBU is disabled

  this register must be set in the start-up file
  EBU_MODCON  =  0x00000040;

  End of Important Settings for the Start-Up File

in die cstart.c über die Reiter einzufügen. Leider finde ich dort keinen
Eintrag EBU_MODCON und mit den Einstellungen, die ich vornehmen konnte
funktioniert es auf alle Fälle nicht :-(

Weiß jemand Rat?

Danke im Voraus
Autor: Jürgen Flierl (funksoulbrother)
Datum:

Hallo,

mir ist gerade aufgefallen, dass durch die Angabe des Boards
(TriBoard1797) das lsl-File in der Art verändert wird, dass ein
sogenannter xram_8_a Ramspeicher eingeführt wird. Wenn ich das richtig
sehe ist dies der Externe Ramspeicher, welcher sich auf dem Board
befindet.
Wenn ich diesen als "reserved" markiere wird er nicht benutzt und
stattdessen der interne Ram verwendet. Dann funktioniert ein Reset auch
und die Firmware wird danach erneut gestartet.
Wahrscheinlich wird also der xram über run oder debug initialisiert,
über meine Firmware alleine aber nicht.

Weiß vielleicht jemand von euch, wie man den externen Ram via DAvE oder
evtl. auch manuell über Code initialisieren/ansprechen kann?

Das wäre mir eine große Hilfe
Autor: klaus (Gast)
Datum:

> via run oder debug auf den Controller geflasht

Sicher? Hatte damals nicht Tasking benutzt aber "run" und "debug" hört
sich nun nicht wirklich nicht nach flashen an. Bei den meisten
Entwicklungsumgebungen die ich kenne lädt das lediglich das Programm per
Debugger ins RAM
Autor: klaus (Gast)
Datum:

PS: Afaik flasht man den TC1797 mit dem MemTool von Infineon ...

http://www.infineon.com/cms/services/dgdl?folderId...
Autor: Jürgen Flierl (funksoulbrother)
Datum:

Also ich habe es gerade nochmals getestet. Mit dem MemTool habe ich den
Chip gelöscht (erase 2 MByte OnChip Program FLASH). Danach habe ich auf
den HW-Reset gedrückt wodurch auf meinem Board die Firmware nicht mehr
gestartet wird. Es leuchten keine LEDs und auch sonst ist keine
Funktionalität (ASC und CAN) sind deaktiviert.
Danach habe ich via Tasking software auf "run" application.board
geklickt wodurch die Firmware wieder auf den Controller gebracht wurde.
Diese läuft jetzt ebenfalls nach einem Hardwarereset und auch nachdem
ich die Stromversorgung gekappt und wieder angesteckt habe (RAM müsste
meines Wissens dadurch ja gelöscht werden).

Das heisst, dass via run die Firmware auch geflasht wird.
Leider ist aber mein Problem etwas anderes. Ich möchte ja eigentlich
gerne den externen Ram auf dem Triboard verwenden. Dieser wird aber
anscheinend noch nicht durch die DAvE Standardeinstellungen
aktiviert/initialisiert. Tasking stellt aber durch seine Standard-LSL
ein, dass er verwendet werden soll. Und dann funktioniert die Firmware
nur wenn sie per run oder debug auf den Controller gebracht wird und
danach nicht mehr nach einem Hardware- oder Power-On-Reset

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net