title: What is the difference between data, instruction, and flash CCM RAM on the STM32
body: <p>Page 14 of this STM32F7 architecture overview <a href="https://www.st.com/content/ccc/resource/technical/document/application_note/0e/53/06/68/ef/2f/4a/cd/DM00169764.pdf/files/DM00169764.pdf/jcr:content/translations/en.DM00169764.pdf" rel="nofollow noreferrer">document</a> shows memory addresses for:</p>
  
  <ul>
  <li>FLASH-ITCM (unkown size on the F730 I'm using)</li>
  <li>DTCM-RAM (64KB)</li>
  <li>ITCM-RAM (16KB)</li>
  </ul>
  
  <p>What is the difference between these?  A lot of examples show data going into DTCM.  Where are things like a stack or critical function best suited?</p>
  
  <p>Is there any benefit to using the flash ITCM interface over the ART accelerator?</p>