Forum: Mikrocontroller und Digitale Elektronik ST idb05a1 mit Nucleo und FreeRTOS


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von King Julian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich versuche hier das IDB05A1 BLE Modul von ST zu betreiben, scheitere 
z.Z. aber an einem mir nicht ganz einleuchtenden Problem.
Aufbauend auf den ST Beispielprogrammen (ohne RTOS) funktioniert das 
tiptop, wenn ich über den MXCube aber das FreeRTOS hinzufüge und den BLE 
Chip initialisieren will, scheint er sich bei einem HAL_Delay() aufrauf 
aufzujängen.
1
/**
2
 * @brief Reset BlueNRG module.
3
 *
4
 * @param  None
5
 * @retval int32_t 0
6
 */
7
int32_t HCI_TL_SPI_Reset(void)
8
{
9
  HAL_GPIO_WritePin(HCI_TL_RST_PORT, HCI_TL_RST_PIN, GPIO_PIN_RESET);
10
  HAL_Delay(5);
11
  HAL_GPIO_WritePin(HCI_TL_RST_PORT, HCI_TL_RST_PIN, GPIO_PIN_SET);
12
  HAL_Delay(5);
13
  return 0;
14
}

Und zwar wird der erste call noch ausgeführt, wenn ich aber beim zweiten 
HAL_Delay(5) einen BP setzte und dann mittels Step-Into Debug Funktion 
da hineinspringen will, hängt sich die Geschichte auf.

HAL_Delay() macht nichts weiter als eine gewisse Anzahl an HAL_Ticks zu 
warten
1
__weak void HAL_Delay(uint32_t Delay)
2
{
3
  uint32_t tickstart = HAL_GetTick();
4
  uint32_t wait = Delay;
5
6
  /* Add a period to guaranty minimum wait */
7
  if (wait < HAL_MAX_DELAY)
8
  {
9
    wait++;
10
  }
11
12
  while((HAL_GetTick() - tickstart) < wait)
13
  {
14
  }
15
}


Kann es sein, dass hier irgend ein Konflikt mit dem RTOS vorliegt?

Vielleicht hat ja jemand schon was ähnliches mal gemacht.

von King Julian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Okay, es hat wohl nichts mit dem HAL_Delay() zu tun, egal was nach dem
1
HAL_GPIO_WritePin(HCI_TL_RST_PORT, HCI_TL_RST_PIN, GPIO_PIN_SET);
 kommt, der Debugger hängt sich auf.

von Mikhail Krivonos (Gast)


Bewertung
0 lesenswert
nicht lesenswert
I have the same problem, did you fix it?

von Johnny B. (johnnyb)


Bewertung
0 lesenswert
nicht lesenswert
Do you give FreeRTOS enough Heap and Stack for the tasks?

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]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.