Open Flashloader + interrupts

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • New

      Hello,

      Thank you for your inquiry.
      Interrupts are disabled by default for open Flashloader and can't be used.
      What target device are you writing a flash loader for if I may ask?
      Usually there would be no need for interrupts in a flash loader.

      Best regards,
      Nino
      Please read the forum rules before posting: Forum Rules

      Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support contact us per e-mail.
      Alternatively our support system can be used as well: segger.com/ticket/
    • New

      Hi Daniel,

      Could you elaborate what you would need interrupts for? To our knowledge the L5 series do not need interrupts for operating the Flash controller.

      tdl7rt wrote:

      Another question, is there a limit on the section size?
      What exactly do you mean with section size? Size of the RAMCode? Or section size of the Flash chip?

      If you are looking to use a third party library from ST to create the Flash loader we strongly suggest not to use it as such libraries usually use code parts which are not suitable for RAMCode and usually create follow up issues.
      Our recommendation is to do all target specific inits bare metal. This will keep code size small and the flash loader efficient.

      Generally we try to add external Flash support for all new devices. The STM32L5 series is also on that list and should be officially supported in a few weeks as well.
      Until when would you need external Flash support?
      Which interface are you looking to use? OSPI, FMC? The external Flash, is it a NOR Flash?
      Should you need the flash loader quickly we also can offer to prioritize the STM32L5 series over others. In that case NREs would apply. Would that be of interest for you?

      Best regards,
      Nino
      Please read the forum rules before posting: Forum Rules

      Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support contact us per e-mail.
      Alternatively our support system can be used as well: segger.com/ticket/
    • New

      SEGGER - Nino wrote:

      What exactly do you mean with section size? Size of the RAMCode? Or section size of the Flash chip?
      I mean in the FlashDevice config struct:

      C Source Code

      1. //
      2. // Flash sector layout definition
      3. //
      4. 0x00100000, 0x00000000, // 1MB
      5. 0x00100000, 0x00100000, // 1MB
      6. 0x00100000, 0x00200000, // 1MB
      7. 0x00100000, 0x00300000, // 1MB
      8. 0xFFFFFFFF, 0xFFFFFFFF // Indicates the end of the flash sector layout. Must be present.
      9. };

      SEGGER - Nino wrote:

      Could you elaborate what you would need interrupts for? To our knowledge the L5 series do not need interrupts for operating the Flash controller.
      No it does not need, but I was adapting existing ST HAL code which depends on having a Systick available for the timeout function.

      SEGGER - Nino wrote:

      Until when would you need external Flash support?
      Asap.

      SEGGER - Nino wrote:

      Which interface are you looking to use? OSPI, FMC? The external Flash, is it a NOR Flash?
      OSPI external NOR flash.

      SEGGER - Nino wrote:

      Should you need the flash loader quickly we also can offer to prioritize the STM32L5 series over others. In that case NREs would apply. Would that be of interest for you?
      NREs? (I am guessing cost, and in that case I cannot answer sorry).


      Thank you,
      Daniel
    • New

      Hello,


      tdl7rt wrote:

      I mean in the FlashDevice config struct:
      In that case see here:
      wiki.segger.com/Open_Flashloader#SectorInfo


      tdl7rt wrote:

      No it does not need, but I was adapting existing ST HAL code which depends on having a Systick available for the timeout function.
      A timeout function should not be necessary for a standalone flash loader so we recommend not using Systick here. Also generally as stated before using the ST HAL is not recommended as this can lead to many unwanted follow up issues related to the third party library.


      tdl7rt wrote:

      NREs? (I am guessing cost, and in that case I cannot answer sorry).
      Correct, NRE = Non Recurring Engineering fee.
      Should that become an option feel free to contact our official support channel.
      For more info see my signature.


      tdl7rt wrote:

      Also the project templates found in wiki.segger.com/Open_Flashloader have 2 bugs that prevent any case sensitive OS like Linux/BSD from building it:
      Nice find. Should be fixed now.

      Best regards,
      Nino
      Please read the forum rules before posting: Forum Rules

      Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support contact us per e-mail.
      Alternatively our support system can be used as well: segger.com/ticket/
    • New

      Hi Nino,

      I have found another bug. JFlash (maybe JLink as well) uses the loader incorrectly. The BlankCheck function which should be a READ operation is preceded by an Init() with argument Func=1 (i.e. Erase), either the documentation is wrong or this is a bug (Func should be 3). This was tested on Windows 10 with JFlash V6.46c by pressing F2.

      Best regards,
      Daniel

      ps: UnInit is also called with Func=1

      The post was edited 3 times, last by tdl7rt ().