Skip to main content
Graduate
April 28, 2025
Question

STM32H735G-DK takes a long time to open the WEB Page

  • April 28, 2025
  • 4 replies
  • 1459 views

Hello,

I am implementing a WEB Server with my STM32H743 board.

(AzureRTOS, NetXDuo, FileX using microSD)

I have referenced the example implemented in STM32H735G-DK board.

Refer to the below

https://github.com/STMicroelectronics/x-cube-azrtos-h7/tree/main/Projects/STM32H735G-DK/Applications/NetXDuo/Nx_WebServer

 

The webpage opens the index.html file and the delays by more 10 seconds before opening other files.

 

Does it take a long time to open large files( 65 kbytes ) from SD Card?

 

I wonder how I can improve this.

    This topic has been closed for replies.

    4 replies

    Graduate
    April 28, 2025
    I found this problem with some example for nucleo-H743; according to my troubleshooting, this is due to keepalive and/or single TCP instance that make no resources available untill socket times out.. Post a wireshark capture, I can check for you. If confirmed, I have some workaround to get it working. Mike
    Graduate
    April 29, 2025

    Hello,

    I write down some things I checked.

     

    <Condition>

    System Clock : 400MHz

    Systick Cycle : 100Hz

    // tx_initialize_low_level.S
    SYSTEM_CLOCK = 400000000
    SYSTICK_CYCLES = ((SYSTEM_CLOCK / 100) -1)

     

    <Some things confirmed>

     The callback function below will be called after 10 seconds.

    _nx_web_http_server_get_process()

    `

    <Modified Source Code>

    Uncomment this constant value and change it from 100 to 1000. (in tx_user.h)

    #define TX_TIMER_TICKS_PER_SECOND 100

    The delay time was increased from 10 seconds to 1.7 minutes.

    And I changed the TX_TIMER_TICKS_PER_SECOND value from 1000 to 10.

    The delay time was decreased from 10 seconds to 1.6 seconds.

     

    Graduate
    April 29, 2025

    The problem can be mitigated only with more resources (sessions, sockets, packets in pool and in descriptors) but otherwise you have to edit source code and force the tcp server to accept new connections.

    Changing TX timer, is not a good practice, as all other threads will have problems, under or over executing system and user tasks.

    Connect to o6.mb-international.net,

    turn on developer tools (F12) on your browser

    and look at network timing; this is a Nucleo-H743 board;

    try IPv6 o6.mb-international.net/root.html, o6.mb-international.net/, IPv4 a.mb-international.net:9743/  and push any command, there is no real hw attched, you cannot do any harm. 

    We have a mix of files closed after downloading and session always open.

    Stress the system opening multiple browser instances, mixing IPv4 and IPv6 sessions.

    Put a managed switch before your device, set switch to duplicate received and sent packets to a port with some minicomputer or netbook connected, execute only wireshark to have a clean image of network traffic to and from your device without any need to set filters.

    As last, define how your server must handle connections and then you can start looking at TCP server scheduling.

    Visitor II
    May 7, 2025

    I am facing the same problem especially when loading my website's homepage. Sometimes page expires before displaying. What's a problem and how can I solve?

    Graduate
    May 8, 2025

    If you want more help, post ethernet flow from power on to page loaded with above procedure + more details on your hw and sw (type, version, environment ..)

    Glass ball is broken, unfortunately!

    Graduate
    May 8, 2025

    Hello,

     

    I'd like to share some additional test results.

     

    1) modified html : change image file

    old : STM32H735_DK.jpg : 59KB

    new : background.jpg : 927KB

    <-- this code is in about.html -->
    <img src="assets/STM32H735_DK.jpg" class="txt-wrap" style="width: 680px; height: 320px;">
    to
    <img src="assets/background.jpg" class="txt-wrap" style="width: 680px; height: 320px;">

    - In this case, it displays normally without delay.

     

    2) request the image file directly.

    I just typed it into the browser address bar.

    http://192.168.10.10/assets/STM32H735_DK.jpg
    ; display directly without delay but sometimes delayed
    
    http://192.168.10.10/assets/background.jpg
    ; display directly without delay

     

    best regards,

     

     

     

    Graduate
    May 8, 2025

    That is because different mime type !

    Graduate
    May 8, 2025

    Dear mbarg.1

    Thanks for your reply.

     

    I am so sorry, I don't understand your reply.

    Could you give me a hint to help me understand this?