- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 15

Thema: Kann Register nicht beschreiben - AFIO_MAPR - AF remap and debug I/O config register

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Ein defektes Register ist quasi ausgeschlossen, aber ich habe über die Suche nach ähnlichen Problemen 2 Dinge gefunden

    Zum einen scheint das Register WriteOnly zu sein, jedes zurücklesen wird also sinnlos sein. Wie sich das mit dem debug monitor verhält kann ich dir nicht sagen.

    Zum anderen lese ich immer weider von einem gelösten Issue mit der library aber keine konkreten Hinweise oder tiefer gehende Links, aber es hört sich so an als ob du mal deine Libarys und die IDE/Compiler auf Aktualisierungen prüfen solltest
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Ich hab hier auch noch was gefunden:
    Ob das weiterhilft weis ich aber nicht

    Klicke auf die Grafik für eine größere Ansicht

Name:	Errata_1.png
Hits:	4
Größe:	90,3 KB
ID:	34032
    Siro

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    . . . @ Siro
    Alle andere Schnittstellen habe ich schon ausgeschaltet - kein Takt, keine Aktivierung.
    Remapp muss, leider, sein da nur über PB8 und PB9 CAN mit dem auf Board verhandenen CAN Transiver connected ist.

    Aus RM0008 - Reference manual, Seite 184 - 185
    ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++
    Bits 14:13 CAN_REMAP[1:0]: CAN alternate function remapping
    These bits are set and cleared by software. They control the mapping of alternate functions
    CAN_RX and CAN_TX in devices with a single CAN interface.
    00: CAN_RX mapped to PA11, CAN_TX mapped to PA12
    01: Not used
    10: CAN_RX mapped to PB8, CAN_TX mapped to PB9 (not available on 36-pin package)
    ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++

    - - - Aktualisiert - - -

    @ Ceos " . . . Zum einen scheint das Register WriteOnly zu sein, jedes zurücklesen wird also sinnlos sein."

    Laut "RM0008 - Reference manual, Seite 184 - 185" " . . . STM32F103xx, . . ." ist der Register "ReadWrite".

    NUR Read - hat Sinn aus meiner Sicht, . . . was für ein Sinn steckt daninter ein Register NUR Writable zu machen???
    Obwohl auch in diesem Reg. sind die SWJCFG Bits NUR Writable ???

    Klicke auf die Grafik für eine größere Ansicht

Name:	AFIO_MARP.jpg
Hits:	1
Größe:	67,6 KB
ID:	34033

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Die Gründe sind sicher mannigfaltig, aber ja, es scheinen tatsächlich nur die Bits zu sein, also unwichtig für dein Problem ...

    bietet STM nicht üblicherweise auch ein Tool an mit dem man die Peripherie vorkonfigurieren kann?! Vielleicht findest du den notwendigen Trick in dem generierten Code?
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    18.01.2012
    Beiträge
    485
    Nur Schreiben macht wohl Sinn.
    zB Reset

    Gruß

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    . . . meinte - Nur Schreiben OHNE Lesen zu können ???
    Man kan schlecht Fehler im späteren Verlauf des Programms finden wenn man nicht weisst das die Befehle davor sauber funktionieren?

    Werd' mal davon ausgehen müssen das der ganzer AFIO_MAPR Register NUR Writable ist und versuche weiter zu gehen.

    Werde berichten wenn sich was ergibt.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    . . . komme in der Sache nicht weiter.
    Im nächsten Schritt muss CAN initialisiert werden. Die notwendigen Register lassen sich beschreiben aber, die endgültige Initialisierung bleibt aus.
    Das Bit INAK (Initialization acknowledge) im Register ACAN_MCR muss von der Soft- und dann von Hardware = 0 gesetzt werden, tut es aber nicht.

    Bei Initialisierung "hört" CAN auf den Bus und muss sich synchronisieren.
    Ich glaube:
    - da die Rx und Tx NICH auf den Transmitter (PB8, PB9) umgeschaltet sind
    - und der CAN Transmitter an die CAN Hardware des Chips nicht angebunden ist
    kann CAN sich nicht "hören" und auch nicht synchronisieren.

    +++++++++++++++++++++++
    Bit 0 INAK: Initialization acknowledge
    This bit is set by hardware and indicates to the software that the CAN hardware is now in
    initialization mode. This bit acknowledges the initialization request from the software (set
    INRQ bit in CAN_MCR register).
    This bit is cleared by hardware when the CAN hardware has left the initialization mode (to
    be synchronized on the CAN bus). To be synchronized the hardware has to monitor a
    sequence of 11 consecutive recessive bits on the CAN RX signal.
    +++++++++++++++++++++++

    Also vermute ich mal - es ist quasi ein Folgefehler der AFIO-Geschichte . . .

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    Also - die Ursache war --- der veralteter Dibagger.
    Ein Arbeitskollege hat mir geholfen den GDB OpenOCD debugger zu installieren - jetzt läuft alles.

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    Hab gerade noch was gefunden zu den SWJ_CFG . . .

    ++++++++++++++++++++

    Bits 26:24 SWJ_CFG[2:0]: Serial wire JTAG configuration
    These bits are write-only (when read, the value is undefined). They are used to configure the
    SWJ and trace alternate function I/Os. The SWJ (Serial Wire JTAG) supports JTAG or SWD
    access to the Cortex® debug port. The default state after reset is SWJ ON without trace.
    This allows JTAG or SW mode to be enabled by sending a specific sequence on the JTMS /
    JTCK pin.
    000: Full SWJ (JTAG-DP + SW-DP): Reset State
    001: Full SWJ (JTAG-DP + SW-DP) but without NJTRST
    010: JTAG-DP Disabled and SW-DP Enabled
    100: JTAG-DP Disabled and SW-DP Disabled
    Other combinations: no effect
    ++++++++++++++++++++

    Kann die Einstellung dieser Bits was bewirken?

Ähnliche Themen

  1. Stop Befehl = Register direkt beschreiben
    Von demmy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 19.03.2013, 18:19
  2. MPU6000 übernimmt Register nicht
    Von Che Guevara im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 14.12.2012, 19:32
  3. Register AT90CAN128 beschreiben
    Von kaempferin1 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 01.02.2006, 08:34
  4. Interne Register und Register in SRAM
    Von FoCus im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 27.07.2005, 13:06
  5. UART Bautraten Register beschreiben?
    Von kautz im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 01.03.2005, 10:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test