Forum: Mikrocontroller und Digitale Elektronik Unterschiede Revisionen STM32F4-Discovery?


von Daniel F. (franken_3)


Lesenswert?

Hi,

ich habe bei Ebay zwei Discovery Boards gekauft, hab gemerkt das die 
Verpackung leicht anders ist und nun festgestellt das ich einmal 
Revision A und einmal Revision Z habe.

Nun würde mich mal interessieren ob wichtige Unterschiede zwischen den 
Revisionen gibt die sich bei der Programmierung bemerbar machen?

Danke für die Infos

von Martin K. (martinko)


Lesenswert?

Daniel Frank schrieb:
> Hi,
>
> ich habe bei Ebay zwei Discovery Boards gekauft, hab gemerkt das die
> Verpackung leicht anders ist und nun festgestellt das ich einmal
> Revision A und einmal Revision Z habe.
>
> Nun würde mich mal interessieren ob wichtige Unterschiede zwischen den
> Revisionen gibt die sich bei der Programmierung bemerbar machen?
>
> Danke für die Infos

Ja, der ‚A‘ hat verschiedene Probleme, dazu gibt es die Errata-Dokumente 
bei ST. Soweit ich mich erinnere sollte bei dem Prozessor der ART 
Accelerator nicht eingeschaltet werden, der meldet auch eine falsche 
CPU-ID und noch ein paar Sachen. Ansonsten arbeitet der auch gut, ich 
habe selbst mit gemischten Boards gearbeitet.

Gruß Martin

von Johannes M. (johannesm)


Lesenswert?

Mir sind bisher nur Rev B und Rev C bekannt. Da sind unterschiedliche 
Beschleunigungssensoren drauf. Die Unterschiede stehen im Datenblatt vom 
Board.

von Mehmet K. (mkmk)


Lesenswert?

Bei MCU-Revision A und aktiviertem Flash-Cash kommt es hin und wieder 
zum Crash, wenn man mit aktivierter Optimisation compiliert.
Auszug aus ChibiOS (hal_lld.c)
1
  /* Flash setup.*/
2
#if defined(STM32_USE_REVISION_A_FIX)
3
  /* Some old revisions of F4x MCUs randomly crashes with compiler
4
     optimizations enabled AND flash caches enabled. */
5
  if ((DBGMCU->IDCODE == 0x20006411) && (SCB->CPUID == 0x410FC241))
6
    FLASH->ACR = FLASH_ACR_PRFTEN | STM32_FLASHBITS;
7
  else
8
    FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | STM32_FLASHBITS;
9
#else
10
  FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | STM32_FLASHBITS;
11
#endif

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.