<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    OK, seems you are not using trunk or an outdated version of trunk as
    there are quite a number of units for stm32f4 available in current
    trunk:<br>
    <br>
    stm32f401xx.pp<br>
    stm32f407xx.pp<br>
    stm32f411xe.pp<br>
    stm32f429xx.pp<br>
    stm32f446xx.pp<br>
    <br>
    So I'd recomment to either upgrade to current trunk or at least copy
    the unit specially made for your chip to your installation and
    compile it by adding it to the list of controller units in the
    embedded rtl makefile and changing controllerunitstr to match the
    correct filename.<br>
    <br>
    Good that we agree that 128MB is the right memory size, I first
    thought that you are using trunk and that the 128MB configured in
    the cpuinfo are wrong and instead 112MB is correct.<br>
    I haven't compiled for this chip for a while, I am mostly targeting
    f401, f411 and lately the f469 chips (I really like the STM32F469
    Discovery board) these days...<br>
    <br>
    Michael<br>
    <br>
    <div class="moz-cite-prefix">Am 19.03.16 um 14:03 schrieb Andrew
      Haines:<br>
    </div>
    <blockquote cite="mid:56ED4E19.6010006@aol.com" type="cite">On
      03/19/2016 07:36 AM, Michael Ring wrote:
      <br>
      <br>
      <blockquote type="cite">Re-reading your initial mail I am kind of
        wondering what you actually did ?
        <br>
        <br>
        When using -WpSTM32F407VG you will automagially use
        stm32f407xx.pp unit
        <br>
        which is the correct one for your chip and also stack should be
        correct
        <br>
        as ram size is set to 128MB.
        <br>
        <br>
      </blockquote>
      <br>
      First off thanks for looking at this. I'm not sure where you are
      getting 128MB...?
      <br>
      <br>
      <blockquote type="cite">How/why did you use STM32F429 unit for the
        chip?
        <br>
      </blockquote>
      <br>
      There was no entry in fpc for STM32F407VG. I added
      <br>
      +      (controllertypestr:'STM32F407VG';    
      controllerunitstr:'STM32F429';        cputype:cpu_armv7em;
      fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000;
      srambase:$20000000; sramsize:$00020000),
      <br>
      <br>
      <blockquote type="cite">
        <br>
        Michael
        <br>
      </blockquote>
      <br>
      <blockquote type="cite">
        <blockquote type="cite">Am 19.03.16 um 12:36 schrieb Michael
          Ring:
          <br>
          /Are you sure about RAM? I checked in cpuinfo, it is set to
          128MB, this />>/matches what is written in the user
          manual, (Page 70)
          />>//>>/<a class="moz-txt-link-freetext" href="http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00037051.pdf">http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00037051.pdf</a>
        </blockquote>
      </blockquote>
      />>//>>
      <br>
      <br>
      On the first page of that link under memories it says:
      <br>
      <br>
      Up to 192+4 Kbytes of SRAM including 64-
      <br>
      Kbyte of CCM (core coupled memory) data
      <br>
      RAM.
      <br>
      <br>
      Looking in the C header file stm32f4xx.h I find:
      <br>
      #define CCMDATARAM_BASE       ((uint32_t)0x10000000) /*!<
      CCM(core coupled memory) data RAM(64 KB) base address in the alias
      region  */
      <br>
      #define SRAM1_BASE            ((uint32_t)0x20000000) /*!<
      SRAM1(112 KB) base address in the alias
      region                             */
      <br>
      #define SRAM2_BASE            ((uint32_t)0x2001C000) /*!<
      SRAM2(16 KB) base address in the alias
      region                              */
      <br>
      <br>
      So starting from SRAM1_BASE there is 128kB of contiguous memory.
      <br>
      <br>
      1024 * 128 = $20000
      <br>
      <br>
      Looking at
      <a class="moz-txt-link-freetext" href="http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00071990.pdf">http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00071990.pdf</a>
      for STM32F429VG is says:
      <br>
       Up to 256+4 KB of SRAM including 64-KB
      <br>
      of CCM (core coupled memory) data RAM
      <br>
      <br>
      I couldn't find a specific header for the *29 chip but I'm
      assuming the extra 64kB memory it has is in that block so there is
      192kB of memory. This matches the define for the *29 chip:
      <br>
      (controllertypestr:'STM32F429XG';    
      controllerunitstr:'STM32F429';        cputype:cpu_armv7em;
      fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000;
      srambase:$20000000; sramsize:$00030000),
      <br>
      <br>
      1024 * 192 = $30000
      <br>
      <br>
       
      <br>
      //>>/or are the last 16k for some special use? Could not
      find a hint while />>/quickly searching through the manual.
      />>//>>/Michael />>
      <br>
      <br>
      I attached the changes I made to include the stm32f407vg chip in
      fpc.
      <br>
      <br>
      <br>
      <br>
      Andrew
      <br>
      <br>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
fpc-devel maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>