Skip to main content
risingEdge
Associate II
February 13, 2023
Solved

customized PCB with STM32F7 series uController can not be seen by any STM programs(ie. STM32Cube programmer, STMCube IDE, St utility ...)

  • February 13, 2023
  • 7 replies
  • 3108 views

After changing some properties, those are:

-"BOR_LEV" set up 1 (BOR Level 2 VBOR2 brownout threshold level 2)

-"RDP" set up CC (level 2 chip protection)

from "Option Bytes" segmentation in STM Cube Programmer(It was unintentional case and before this fault, I have no problem in coding my MCU), the MCU(STM32F7xx) can not be seen any STM program anymore. If I should give some information about schematic design,

-BOOT0 is pulled down

-nRST is pulled up and goes directly programmer GND pin

-PDR_ON is pull-up.

Now, actually I dont know anything about RDP & BOR_LEV of option bytes. How can be turned back the situation for me? Do you have any advice?

    This topic has been closed for replies.

    7 replies

    risingEdge
    Associate II
    February 13, 2023

    I forgot to say that

    when there is no problem, the old properties are like this

    Read Out Protection:

        RDP         : 0xAA (Level 0, no protection)

      BOR Level:

        BOR_LEV     : 0x0 (BOR Level 0)

    Pavel A.
    Super User
    February 13, 2023

    > "RDP" set up CC (level 2 chip protection)

    Yep, this.

    > Now, actually I dont know anything about RDP & BOR_LEV of option bytes

    Now you know something about the RDP ; )

    Piranha
    Principal III
    February 14, 2023

    > How can be turned back the situation for me?

    RDP level 2 is a one way ticket. Now you've got a good lesson of why one has to read the documentation, not just click the broken bloatware generator.

    Tesla DeLorean
    Guru
    February 14, 2023

    >>Do you have any advice?

    Replace the chip and start over

    Tread more carefully

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    risingEdge
    Associate II
    February 27, 2023

    Thanks for quick reply and advise. I change my chip and go on my project. Actually, I try to create an external flash bootloader to my customized PCB. During this, I try to create my own .stldr (from copy and change the extension of .elf that created by STMCube Ide with proper configuration). Custom PCB has STM32F769NI as MCU and MX25L512G45 as external flash memory. And my goal is that some configuration data must be loaded to external flash via STMCubeProgrammer. But STMCubeProgrammer can not see external flash of the custom PCB if there is no specified bootloader for custom PCB. I believe that I apply all steps in this video but STMCubeProgrammer can see the external memory but could not erase or write anything (when I try to load my hex file). All in all, my actual problem brings to me this issue and still I could not solve my problem.

    video link: https://www.youtube.com/watch?v=XqCq0xtQmbI

    Tesla DeLorean
    Guru
    February 27, 2023

    Specify the pins the QSPI uses​ an External Loader might exist for your combination.

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    risingEdge
    Associate II
    March 1, 2023

    I hope there is a customized loader .stdlr file such that fits my design :D. Here is my quadspi interface pins configurations:

    QUADSPI_CLK --> PB2

    QUADSPI_BK1_NCS--> PB6

    QUADSPI_BK1_IO0 --> PF8

    QUADSPI_BK1_IO1 -->PF9

    QUADSPI_BK1_IO2 -->PE2

    QUADSPI_BK1_IO3 -->PD13

    And, my external flash is MX25L512G45.

    Tesla DeLorean
    Guru
    March 1, 2023

    Got something close, will check when I get up tomorrow. ​

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    risingEdge
    Associate II
    March 2, 2023

    Hello again

    It worked :D Thanks a lot. But, why I couldnt make my own loader within success. what would be possible reasons for unsuccess? As I understand that during creating external flash loader, those are my own notes:

    -the clock configuration (RCC) is not mandatory

    -the flash loader properties are important(ie. mx25l512g45 for this example)

    -only quadspi pins running would be enough( I mean it is enough that QUADSPI is only get up with adjusting parameters and pins configuration)

    -the specific "mass erase, Init, Write, Sector Erase" functions must be created

    Can you share source code of it with me or any documents/background info etc... :)

    Tesla DeLorean
    Guru
    March 2, 2023

    There are many paths to failure, and the software / hardware is unforgiving.

    For general utility I don't use the HSE clocks as these tend to vary from board design to board design.

    The size and command set are important. Macronix parts are subtly different to Micron, and Winbond. They default into 24-bit addressing (16MB), and you typically have to configure them into 32-bit (4-byte) addressing and Quad pin modes.

    For running code, you just need to bring up the device, and configure memory mapping, but the loader must support writing and erasing, and that can't occur concurrently with memory mapped operation.

    I work for other people, and code commercially.

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..