TCP-IP-KOPPLER.DE

 



ITCM und DTCM des Cortex-M7
nutzen

 



   Der Cortex-M7 bietet mit ITCM und DTCM Speicherbereiche für zeitkritische    Programmabschnitte und schnelle Datenverarbeitung. Sind diese Speicher-    bereiche im Linkerscript deklariert, kann die Programm-und Datenzuordnung    mittels eines Funktions- bzw. Datenattributes der Form
   __attribute__ ((section ("name")))
   gesteuert werden.
   "name" - Bezeichnung von ITCM und DTCM im Linkerscript

   Gegeben seien durch ein Macro für das entsprechende TCM deklariert eine    Variable und eine Funktion.

   unsigned long dtcm_cnt  __ATTR_SECTION_DTCM__  =  0;

   __ATTR_SECTION_ITCM__
   void thread_msg ( int message, int delay)
   {
     dtcm_cnt ++;
     printf ("Thread %d: cnt: %ld - and now a delay of %d clock ticks\n", message,
     dtcm_cnt, delay);
   }

   Das weitere Programm ist auf die Adresse 0x20010000 gelinkt.

   Beim Laden des Programmes zeigt sich, dass auch die Segmente ITCM und    DTCM dabei berücksichtigt werden.



Zur Überprüfung einen Breakpunkt in der Funktion im ITCM setzen.



Wie die Assembler- Darstellung anhand der absoluten Adressen zeigt, wird die Funktion im ITCM ausgeführt.


 

zurück


 Copyright (c) 2003-2024 U.-J. Austel, Alle Rechte vorbehalten.