This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR1642: use sbl to update

Part Number: IWR1642

I want to use sbl to program without putting sop=1, but when I follow the " design of SBL", an error came out. 

The computer shows that "QSPIFlash Open API failed".

Could you tell me which set causes this problem and what can I do to solve it?

The sdk I used is mmwave_sdk_03_03_00_03 and the circuit is designed by my colleague.

We used the GD25Q32CWIGR FLASH.

Thanks.

  • Hello

    Can you please confirm if the code/sw modification you tried works well on TI's EVM.

    This will allow us to understand if is the HW or the SW that is causing this issue.

    Thank you,

    Vaibhav

  • I'm sorry we haven't bought that.

    Suppose it was a software error, what could have caused it?


    If it's a hardware problem, what could be causing it?


    You can talk about them separately, and then I can check them separately.


    Thank you very much.

    Have a good day.

  • Hello,

    Your problem statement is not clear.  If you are trying to use an SBL to write to flash, there is no restriction of the SOP pin states.  You should first verify that you can correctly read and write to the flash, which you can debug more easily with a normal application.  I would suggest stepping into the QSPIflash Open API to see the reason for the failure.

     - dave

  • In fact, there is no problem with reading and writing information in Flash and controlling SOP burn, but there is a problem with using SBL to upgrade online.

  • I'm sorry, I still don't understand what the problem is. Your first post says QSPIflash Open is failing, and you also say that you can read and write to flash.

    Have you checked the example SBL code in C:\ti\mmwave_sdk_03_04_00_03\packages\ti\utils\sbl?

  • In the previous use, the data we transmitted was normal, and the data sampled by radar was normal.
    Now we're looking at online upgrades, but when you use SBL to transfer new bin files, you get the errors I'm talking about.

    Now I have another question. Do I have to use XDS110 to control the data transfer to transfer the new bin file correctly?

  • >but when you use SBL to transfer new bin files, you get the errors I'm talking about.

    The example SBL provided by the SDK already uses the QSPI/QSPIflash drivers, so there should not be an issue there.

    >Do I have to use XDS110 to control the data transfer to transfer the new bin file correctly?

    No. Depending on the serial communication method chosen (UART, SPI, CAN, etc) you simply connect to the appropriate device pins as specified by your pinmux statements.  If you are using a TI EVM, you will need to examine the EVM schematics to make sure that the pin is actually connected to the Launchpad header.  In some cases, a zero-ohm resistor is required to be soldered to the board. The schematics can be found on ti.com under "Technical Documents" for the EVM that you have.

  • So, is the SBL program transmitted from serial port to main chip to Flash or from serial port to Flash to main chip?

  • Which section of code do Pinmux statements belong to?

  • >So, is the SBL program transmitted from serial port to main chip to Flash or from serial port to Flash to main chip?

    The SBL is flashed, and typically the applications it loads are as well.  The SBL can be modified to load an application from a serial port, but that is up to you.

    >Which section of code do Pinmux statements belong to?

    The pinmux control statements are normally found in the .c file that contains main(), usually main.c or mss_main.c.  Please search for Pinmux_Set_FuncSel, and you will find them.

  • I've recently tried something new.
    I changed the Flash chip from GD25Q32CWIGR to MX25R1635FZNIH0. After the change, I can use SBL for online upgrade.
    Do You have to use MX25R1635FZNIH0 to upgrade online using SBL?
    Where is the configuration part of Flash in the code?

  • Yes, you need to use one of the recommended flash devices.  You may find a list here:

    https://e2e.ti.com/support/sensors/f/1023/t/928653

    As far as the configuration code, you'll need to look at the init functions in the mmWave SDK, in ti\drivers\qspi\src and ti\drivers\qspiflash\src.

      -dave