Skip to main content
Visitor II
July 13, 2023
Question

Regarding Flash Size and Revision ID of the MicroController stm32F4

  • July 13, 2023
  • 3 replies
  • 2796 views

I Having Two Board In which stm32F439nI Micro-Controller  Mounted on it. While Connecting with the STM Utility Software , one Board Display  flash Size but didn't Show revision Id, Same Way i Connected Another board but it Doesn't Display Flash Size neither Revision Id.

In 1st Board am Available to Flash Directly Using the IJET Debugger but in 2nd Board I have to Flash Code with Help of STM ultility Software.

I Checked the Firmware Version Both Having Same but in Option Byte option only one Difference,  in Working Board DB1M Option Unchecked While in Another Non Working Board DB1M is Checked.

Am Also Attaching the Working and Non Working Board STM Utlility Software 

    This topic has been closed for replies.

    3 replies

    Technical Moderator
    July 13, 2023

    Well, that looks similar to your other question.
    What exactly is your problem?
    Are you sure that the STM32F439NI are not fakes, which usually do not show ID data or other information?

    Regards
    /Peter

    Graduate II
    July 13, 2023

    Stop using ST-LINK Utilities and move to STM32 Cube Programmer.

    Show full markings of both these parts. Take a picture that is large, in-focus, clear and in circuit context.

    Read the full Die / Part number (DEVID), memory size, and option bytes.

    If the Flash Size and System Memory are filled with 0xFF these are likely fake or engineering samples.

    AGond.2Author
    Visitor II
    July 14, 2023

    Am Attaching the Photo of Mounted Micro Controller WhatsApp Image 2023-07-14 at 7.09.39 PM (1).jpegWhatsApp Image 2023-07-14 at 7.09.38 PM.jpegWhatsApp Image 2023-07-14 at 7.09.39 PM.jpeg

    Graduate II
    July 13, 2023
     for(wHSSStartIndex=RFC_HSS_BASE_REG_OFFSET; wHSSStartIndex<=wHSSEndIndex; wHSSStartIndex++);
    
     {
    
     wBaseAddress+=GET_HSS_SET_DATA(wHSSStartIndex);
    
     }
    
     for(wHSSStartIndex=RFC_HSS_BASE_REG_OFFSET; wHSSStartIndex<=wHSSEndIndex; wHSSStartIndex++);
    
     {
    
     wHSSBaseAddress+=GET_HSS_SET_DATA(wHSSStartIndex);
    
     }

    Fantastic code! And I'm not even talking about the bad beginner level formatting. Here is a hint - the wBaseAddress and wHSSBaseAddress are not modified in a loops...