Skip to main content
Explorer II
August 27, 2024
Solved

STM32U5A9J-DK OctalFlash Read failure

  • August 27, 2024
  • 9 replies
  • 6274 views

Hello,

 

I generated a project for STM32U5A9J-DK with STM32CubeIDE (v1.16.0). It doesn’t include the OctalFlash test code. So, I used the test codes in chapter "Octo-SPI FLASH in Regular-command protocol example" of attached AN5050.

The mounted OctalFlash is MX25UM51245G. With the program, the data output was shifted by one byte as below.

After I use the HAL_OSPI_DELAY_BLOCK, the pass rate becomes higher but still fails. Please help.

 

Thanks.

 

  • result from the default program w/o HAL_OSPI_DELAY_BLOCK

FAILURE index 0x00000000 Expect 0x20 Output 0x50

FAILURE index 0x00000001 Expect 0x50 Output 0x20

FAILURE index 0x00000002 Expect 0x72 Output 0x50

FAILURE index 0x00000003 Expect 0x6F Output 0x72

FAILURE index 0x00000004 Expect 0x67 Output 0x6F

FAILURE index 0x00000005 Expect 0x72 Output 0x67

FAILURE index 0x00000006 Expect 0x61 Output 0x72

FAILURE index 0x00000007 Expect 0x6D Output 0x61

SUCCESS index 0x00000008 Expect 0x6D Output 0x6D

FAILURE index 0x00000009 Expect 0x69 Output 0x6D

FAILURE index 0x0000000A Expect 0x6E Output 0x69

FAILURE index 0x0000000B Expect 0x67 Output 0x6E

  • result from the modified program with HAL_OSPI_DELAY_BLOCK
  • FAILURE index 0x00000000 Expect 0x20 Output 0x40

    SUCCESS index 0x00000001 Expect 0x50 Output 0x50

    FAILURE index 0x00000002 Expect 0x72 Output 0x50

    SUCCESS index 0x00000003 Expect 0x6F Output 0x6F

    FAILURE index 0x00000004 Expect 0x67 Output 0x6F

    SUCCESS index 0x00000005 Expect 0x72 Output 0x72

    SUCCESS index 0x00000006 Expect 0x61 Output 0x61

    SUCCESS index 0x00000007 Expect 0x6D Output 0x6D

    SUCCESS index 0x00000008 Expect 0x6D Output 0x6D

    SUCCESS index 0x00000009 Expect 0x69 Output 0x69

    FAILURE index 0x0000000A Expect 0x6E Output 0x68

    SUCCESS index 0x0000000B Expect 0x67 Output 0x67

    This topic has been closed for replies.
    Best answer by KDJEM.1

    Hi @JKim.2 ,

     

    For DTR read, I used the delay block in order to fine tune the data-received sampling clock. Also the delay block role is used to apply a phase-shift to the clock or DQS signal when reading from external memory. You can find in the attachment file a project with successful DTR OCTAL Read.

    KDJEM1_0-1726132141796.png

    For more information for the delay block, I advise you to take a look at AN5050 Section 6 OCTOSPI and HSPI/XSPI interface calibration process.

    Please let me know if your issue is solved or not?

     

    Thank you.

    Kaouthar

    9 replies

    Technical Moderator
    August 30, 2024

    Hi @JKim.2 ,

     

    Could you please check the dummy cycle. Incorrect dummy cycles can cause data misalignment.

    May this discussion Solved: External Flash downloader shift 1 byte in flash ar... - STMicroelectronics Community and this example BSP can help you.

     

    Thank you.

    Kaouthar

    JKim.2Author
    Explorer II
    September 3, 2024

    Hi Kaouthar,

    Thank you for the answer. I tried longer and shorter dummy cycles but still failing. How can I run the BSP on STM32CubeIDE?

     

    /* USER CODE BEGIN Private defines */

    /* MX25LM512ABA1G12 Macronix memory */

    /* Flash commands */

    #define OCTAL_IO_DTR_READ_CMD 0xEE11

    #define OCTAL_IO_READ_CMD 0xEC13

    #define OCTAL_PAGE_PROG_CMD 0x12ED

    #define OCTAL_READ_STATUS_REG_CMD 0x05FA

    #define OCTAL_SECTOR_ERASE_CMD 0x21DE

    #define OCTAL_WRITE_ENABLE_CMD 0x06F9

    #define READ_STATUS_REG_CMD 0x05

    #define WRITE_CFG_REG_2_CMD 0x72

    #define WRITE_ENABLE_CMD 0x06

    /* Dummy clocks cycles */

    #define DUMMY_CLOCK_CYCLES_READ 7 //6(original)

    #define DUMMY_CLOCK_CYCLES_READ_REG 4

    Best Regards,

    Jeff

    DUMMY 7 cycles

    SUCCESS index 0x00000000 Expect 0x20 Output 0x20
    FAILURE index 0x00000001 Expect 0x50 Output 0x10
    SUCCESS index 0x00000002 Expect 0x72 Output 0x72
    FAILURE index 0x00000003 Expect 0x6F Output 0x29
    SUCCESS index 0x00000004 Expect 0x67 Output 0x67
    SUCCESS index 0x00000005 Expect 0x72 Output 0x72
    SUCCESS index 0x00000006 Expect 0x61 Output 0x61
    SUCCESS index 0x00000007 Expect 0x6D Output 0x6D

     

    DUMMY 5CYCLES

    SUCCESS index 0x00000000 Expect 0x20 Output 0x20
    FAILURE index 0x00000001 Expect 0x50 Output 0x30
    SUCCESS index 0x00000002 Expect 0x72 Output 0x72
    FAILURE index 0x00000003 Expect 0x6F Output 0x29
    SUCCESS index 0x00000004 Expect 0x67 Output 0x67
    SUCCESS index 0x00000005 Expect 0x72 Output 0x72
    SUCCESS index 0x00000006 Expect 0x61 Output 0x61
    SUCCESS index 0x00000007 Expect 0x6D Output 0x6D

     

     

    Technical Moderator
    September 3, 2024

    Hello @JKim.2 ,

     

    Thank you for updating post and come back to the community.

    You can run the BSP example by open this example using STM32CubeIDE toolchain. Please take a look at UM2609.

    KDJEM1_0-1725351565620.png

    Also, I think OSPI_NOR_MemoryMapped can help you.

    Do you observe the same behavior when you run these examples?

    Thank you.

    Kaouthar

    JKim.2Author
    Explorer II
    September 3, 2024

    Hi Kaouthar,

    I imported the project but it can't be compiled as below. How to solve those errors?

    Best Regards,

    Jeff

     

    17:41:27 **** Build of configuration Debug for project OSPI_NOR_MemoryMapped ****

    make -j8 all

    arm-none-eabi-gcc "C:/Users/jekim/Documents/Work/STM32U5A9J-DK/STM32CubeU5-main/Projects/STM32U5x9J-DK/Examples/OSPI/OSPI_NOR_MemoryMapped/Src/main.c" -mcpu=cortex-m33 -std=gnu11 -g3 -DDEBUG -DSTM32U5A9xx -DUSE_HAL_DRIVER -c -I../../Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32U5xx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32U5x9J-DK -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Example/User/main.d" -MT"Example/User/main.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Example/User/main.o"

    arm-none-eabi-gcc "C:/Users/jekim/Documents/Work/STM32U5A9J-DK/STM32CubeU5-main/Projects/STM32U5x9J-DK/Examples/OSPI/OSPI_NOR_MemoryMapped/Src/stm32u5xx_hal_msp.c" -mcpu=cortex-m33 -std=gnu11 -g3 -DDEBUG -DSTM32U5A9xx -DUSE_HAL_DRIVER -c -I../../Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32U5xx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32U5x9J-DK -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Example/User/stm32u5xx_hal_msp.d" -MT"Example/User/stm32u5xx_hal_msp.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Example/User/stm32u5xx_hal_msp.o"

    arm-none-eabi-gcc "C:/Users/jekim/Documents/Work/STM32U5A9J-DK/STM32CubeU5-main/Projects/STM32U5x9J-DK/Examples/OSPI/OSPI_NOR_MemoryMapped/Src/stm32u5xx_it.c" -mcpu=cortex-m33 -std=gnu11 -g3 -DDEBUG -DSTM32U5A9xx -DUSE_HAL_DRIVER -c -I../../Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32U5xx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32U5x9J-DK -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Example/User/stm32u5xx_it.d" -MT"Example/User/stm32u5xx_it.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Example/User/stm32u5xx_it.o"

    arm-none-eabi-gcc "../Example/User/syscalls.c" -mcpu=cortex-m33 -std=gnu11 -g3 -DDEBUG -DSTM32U5A9xx -DUSE_HAL_DRIVER -c -I../../Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32U5xx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32U5x9J-DK -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Example/User/syscalls.d" -MT"Example/User/syscalls.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Example/User/syscalls.o"

    arm-none-eabi-gcc "../Example/User/sysmem.c" -mcpu=cortex-m33 -std=gnu11 -g3 -DDEBUG -DSTM32U5A9xx -DUSE_HAL_DRIVER -c -I../../Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32U5xx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32U5xx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32U5x9J-DK -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Example/User/sysmem.d" -MT"Example/User/sysmem.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Example/User/sysmem.o"

    arm-none-eabi-gcc -mcpu=cortex-m33 -g3 -DDEBUG -c -x assembler-with-cpp -MMD -MP -MF"Example/Startup/startup_stm32u5a9njhxq.d" -MT"Example/Startup/startup_stm32u5a9njhxq.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Example/Startup/startup_stm32u5a9njhxq.o" "../Example/Startup/startup_stm32u5a9njhxq.s"

    make: *** No rule to make target 'C:/Users/jekim/Documents/Work/STM32U5A9J-DK/STM32CubeU5-main/Drivers/STM32U5xx_HAL_Driver/Src/stm32u5xx_hal.c', needed by 'Drivers/STM32U5xx_HAL_Driver/stm32u5xx_hal.o'. Stop.

    make: *** Waiting for unfinished jobs....

    In file included from C:/Users/jekim/Documents/Work/STM32U5A9J-DK/STM32CubeU5-main/Projects/STM32U5x9J-DK/Examples/OSPI/OSPI_NOR_MemoryMapped/Src/main.c:21:

    ../../Inc/main.h:24:10: fatal error: stm32u5xx_hal.h: No such file or directory

    24 | #include "stm32u5xx_hal.h"

    | ^~~~~~~~~~~~~~~~~

    compilation terminated.

    C:/Users/jekim/Documents/Work/STM32U5A9J-DK/STM32CubeU5-main/Projects/STM32U5x9J-DK/Examples/OSPI/OSPI_NOR_MemoryMapped/Src/stm32u5xx_hal_msp.c:20:10: fatal error: stm32u5xx_hal.h: No such file or directory

    20 | #include "stm32u5xx_hal.h"

    | ^~~~~~~~~~~~~~~~~

    compilation terminated.

    make: *** [Example/User/subdir.mk:31: Example/User/main.o] Error 1

    make: *** [Example/User/subdir.mk:33: Example/User/stm32u5xx_hal_msp.o] Error 1

    C:/Users/jekim/Documents/Work/STM32U5A9J-DK/STM32CubeU5-main/Projects/STM32U5x9J-DK/Examples/OSPI/OSPI_NOR_MemoryMapped/Src/stm32u5xx_it.c:22:10: fatal error: stm32u5xx_hal.h: No such file or directory

    22 | #include "stm32u5xx_hal.h"

    | ^~~~~~~~~~~~~~~~~

    compilation terminated.

    make: *** [Example/User/subdir.mk:35: Example/User/stm32u5xx_it.o] Error 1

    "make -j8 all" terminated with exit code 2. Build might be incomplete.

     

    17:41:28 Build Failed. 8 errors, 0 warnings. (took 480ms)

    Technical Moderator
    September 4, 2024

    Hello @JKim.2 ,

     

    Could you please try to download STM32CubeFW_U5 using STM32CubeMX toolchain as shown in the below figures/

    KDJEM1_0-1725454504380.png

     

     

    KDJEM1_2-1725454652056.png

    Then, please try to open the OSPI example by following these steps:

    KDJEM1_3-1725454855529.png

    KDJEM1_4-1725454986071.png

     

    Could you please share your OCTOSPI configuration?

     

    Thanks and best regards,

    Kaouthar

    JKim.2Author
    Explorer II
    September 5, 2024

    Hi Kaouthar,

    The embedded software packages manager shows that the 1.3.0 STM32Cube MCU Package for STM32U5 is installed. I tried to install 1.6.0 from the local directory as below. It alerted "this package version is already available on current STM32CubeMX repository.". Is it fine? I opened the OSPI_NOR_MemoryMapped project again from file system. The compilation still has the same error message. The ioc file of the original project is attached for the OSPI configuration. The new project OSPI_NOR_MemoryMapped doesn't have the ioc file.

    Best Regards,

    Jeff

    howto_install_stm32cube_mcu_package.PNG

    howto_install_stm32cube_mcu_package2.PNG

    Technical Moderator
    September 5, 2024

    Hello @JKim.2,

    The embedded software packages manager shows that the 1.3.0 STM32Cube MCU Package for STM32U5 is installed.

    Please use the latest STM32CubeMX version 6.12.0 and click on Refresh button to see the latest version of STM32CubeU5 firmware

    KDJEM1_1-1725524717617.png

    I tried to install 1.6.0 from the local directory as below. It alerted "this package version is already available on current STM32CubeMX repository.". Is it fine? I opened the OSPI_NOR_MemoryMapped project again from file system. The compilation still has the same error message. 

    I advise you to delete all STM32CubeU5 firmware versions and to redownload again using STM32CubeMx or from this link STM32CubeU5 - STM32Cube MCU Package for STM32U5 series (HAL, Low-Layer APIs and CMSIS, USB, File system, RTOS, TF-M - coming with examples running on ST boards) - STMicroelectronics .

    If you want to use GitHUB please take a look at this post.

    About  the OCTOSPI configuration, I noted that the device size is wrong: For 512Mbits=64MBytes, the Device Size must be configured in .ioc file at 26.

    Which mode are you using DTR mode or STR mode?

    Note that, Sample shifting (SSHT) recommended to be enabled in STR mode and disabled in DTR mode and Delay hold quarter cycle (DHQC) enabled in DTR mode and disabled in STR mode.

    Are you doing a OCTA Read Mode (8READ, ECh) or OCTA DTR Read Mode (8DTRD, EEh)?

    May this main.c and main.h can help for checking OCTOSPI configuration.

     

    Thanks and best regards,

    Kaouthar

     
    JKim.2Author
    Explorer II
    September 5, 2024

    Hi Kaouthar,

    I installed the latest STM32CubeMX version 6.12.0 as you suggested. btw, both remove and install button on STM32CubeMX are disabled as below? How to remove all the MCU Package for STM32U5 Series?

    Best Regards,

    Jeff

    JKim2_0-1725526938010.png

     

    Technical Moderator
    September 5, 2024

    Hi @JKim.2 ,

     

    Click on STM32Cube MCU Package for STM32U5 Series to enable remove button. Then, click on Remove.

    To install the latest version click on STM32Cube MCU package for STM32U5 series 1.6.0 version. Then, click on Install. 

    KDJEM1_0-1725527364849.png

     

    Thanks and best regards,

    Kaouthar

     

    JKim.2Author
    Explorer II
    September 6, 2024

    Hi Kaouthar,

    I removed all STM32U5 MCU packages and installed 1.6.0 again. The OSPI_NOR_MemoryMapped project still can't be compiled. Your suggestion for the .ioc file is only can be done on the original project. So, I changed the device size, SSHT disabled, DHQC enabled because the OCTAL_IO_DTR_READ_CMD(0xEE11) is used. The result is changed as below. The compressed project is attached.

    Best Regards,

    Jeff

    FAILURE index 0x00000000 Expect 0x20 Output 0x50
    FAILURE index 0x00000001 Expect 0x50 Output 0x20
    FAILURE index 0x00000002 Expect 0x72 Output 0x50
    FAILURE index 0x00000003 Expect 0x6F Output 0x72
    FAILURE index 0x00000004 Expect 0x67 Output 0x6F
    FAILURE index 0x00000005 Expect 0x72 Output 0x67
    FAILURE index 0x00000006 Expect 0x61 Output 0x72
    FAILURE index 0x00000007 Expect 0x6D Output 0x61
    SUCCESS index 0x00000008 Expect 0x6D Output 0x6D
    FAILURE index 0x00000009 Expect 0x69 Output 0x6D
    FAILURE index 0x0000000A Expect 0x6E Output 0x69
    FAILURE index 0x0000000B Expect 0x67 Output 0x6E

    Technical Moderator
    September 10, 2024

    Hello @JKim.2 ,

     

    Do you get the same behavior when using STR mode?

    Thank you for sharing your project. For the first check, I noted the memory type is wrong. For DTR read the memory must be configured as "MACRONIX"  as mentioned in AN5050.

    KDJEM1_1-1725974374214.png

    KDJEM1_0-1725974145136.png

    The memory type depends on the D0/D1 ordering: The micron (and compatible memories) use D0/D1 Ordering while Macronix (and compatible memories) use D1/D0 data ordering and Macronix RAM (and compatible memories)  use D1/D0 ordering with dedicated address mapping.

    You can find in attached file an example describes how to erase a part of an OSPI NOR memory, write data in memory-mapped mode and access to OSPI NOR memory in STR memory-mapped mode using STM32U5A9J-DK discovery board. I hope this help you. 

     

    Thank you.

    Kaouthar

    JKim.2Author
    Explorer II
    September 11, 2024

    Hello Kaouthar,

    Thank you for reviewing my project. Changing the memory type from MICRON to MACRONIX didn't change the result.

    I tried your OSPI STR project. The case 1 includes write and read operation to OSPI device. However, CmdCplt stays at zero. So, the case 1 codes are skipped infinitely. What does this problem mean?

    Best Regards,

    Jeff

     while (1)
     {
    	 switch(step)
    	 {
    	 case 0:
    	 CmdCplt = 0;
    
    	 /* Enable write operations ------------------------------------------ */
    	 OSPI_WriteEnable(&hospi1);
    
    	 /* Erasing Sequence ------------------------------------------------- */
    	 sCommand.OperationType = HAL_OSPI_OPTYPE_COMMON_CFG;
    	 sCommand.Instruction = OCTAL_SECTOR_ERASE_CMD;
    	 sCommand.AddressMode = HAL_OSPI_ADDRESS_8_LINES;
    	 sCommand.Address = address;
    	 sCommand.DataMode = HAL_OSPI_DATA_NONE;
    	 sCommand.DummyCycles = 0;
    
    	 if (HAL_OSPI_Command_IT(&hospi1, &sCommand) != HAL_OK)
    	 {
    	 Error_Handler();
    	 }
    
    	 step++;
    	 break;
    
    	 case 1:
    	 if(CmdCplt != 0)
    	 {
    	 CmdCplt = 0;
    
    	 /* Configure automatic polling mode to wait for end of erase ------ */
    	 OSPI_AutoPollingMemReady(&hospi1);
    
    	 /* Enable write operations ---------------------------------------- */
    	 OSPI_WriteEnable(&hospi1);

     

    Technical Moderator
    September 11, 2024

    Hello @JKim.2 ,

     

    Could you please place a breakpoint in main.c after HAL_OSPI_CmdCpltCallback function and click on resumeKDJEM1_0-1726043661225.pngand check if CmdCplt change value or not?

     

     

    void HAL_OSPI_CmdCpltCallback(OSPI_HandleTypeDef *hospi)
    {
     CmdCplt++;
    }

     

     

     On my side I see that the value of CmpCplt changes from 0 to 1 as shown in the below figures

    KDJEM1_1-1726043879904.png

    KDJEM1_2-1726043933452.png

     

    To check the memory content, could you please set a break point after reading sequence. As shown in the below figure you can say the same content as in aTxBuffer[]

    KDJEM1_3-1726044311269.png

    For the DTR read I find an example in STM32Cube_FW_U5_V1.6.0 \STM32Cube\Repository\STM32Cube_FW_U5_V1.6.0\Projects\STM32U575I-EV\Examples\DLYB\DLYB_OSPI_NOR_FastTuning

    Please get inspired from this example to check your project precisely Dummy cycle and memory delay. 

    Thank you.

    Kaouthar

     

     

    JKim.2Author
    Explorer II
    September 11, 2024

    Hello Kaouthar,

    CmdCplt value can be changed on HAL_OSPI_CmdCpltCallback function as below picture.

    However, it becomes zero in the switch(step) loop when the step is 1. But sometimes CmdCplt becomes 1 when the step is 1. I don't know why the result is not consistent. Even when the step 1 code is executed, the printf doesn't print the flash memory data. Although I enabled UART by the pinout configuration like the old project, it seems UART is not working. The slightly modified OCTOSPI STR project is compressed and attached.

    Best Regards,

    Jeff

    CmdCplt_at_HAL_OSPI_CmdCpltCallback.PNG

    CmdCplt_at_Case-1.PNG

    Technical Moderator
    September 11, 2024

    Hello @JKim.2 ,

    After checking your project, I noted that you use a wrong USART.

    Could you please try with USART1 pin PA9 and pin PA10 as shown in the below figure (UM2967)

    KDJEM1_0-1726060519187.png

    This is a screenshot of terminal with matched index:

    KDJEM1_2-1726060768333.png

    Thank you for your contribution in STCommunity.

    Thanks and best regards,

    Kaouthar

     

    KDJEM.1Answer
    Technical Moderator
    September 12, 2024

    Hi @JKim.2 ,

     

    For DTR read, I used the delay block in order to fine tune the data-received sampling clock. Also the delay block role is used to apply a phase-shift to the clock or DQS signal when reading from external memory. You can find in the attachment file a project with successful DTR OCTAL Read.

    KDJEM1_0-1726132141796.png

    For more information for the delay block, I advise you to take a look at AN5050 Section 6 OCTOSPI and HSPI/XSPI interface calibration process.

    Please let me know if your issue is solved or not?

     

    Thank you.

    Kaouthar

    JKim.2Author
    Explorer II
    September 12, 2024

    Hi Kaouthar,

     

    Thank you so much for your help. Both STR and DTR project start working. 

    However, it's hard to understand how it was solved just with reading the AN5050. 

     

    Best Regards,

    Jeff