Post Go back to editing

BF706 serial flash W25Q32BV device programming tool problem

Hello,

I try to programm W25Q32BV serial flash device connected to BF706 exactly the same way as on BF706 kit, with my own simple test application. First command I sent from Command Window was:

cldp -proc ADSP-BF706 -emu 1000 -driver "g:\...\BF706_W25Q32BV_dpia.dxe"  -cmd info

And the answer is:

Error: couldn't find DPIA buffer address

Error: could not allocate storage for the buffer 0xD

Error: Error: There was a problem with one or more required expressions in the driver. Please make sure the following expressions are present and try again:

Error: driver load failed.

Please, write me the correct version of cldp command line for downloading my BF706 application into W25Q32BV serial FLASH .

cldp.exe file may be placed and run from my project workspace ?

And one more question: where in ADSP-BF70x Blackfin+ Processor Hardware Reference is the table of boot codes called 'SPIMCODE' in CCES 2.5.0 Loader and Utilities Manual ?

What is this code in my case ?

Where is the description how to prepare *.ldf file for master SPI boot ?

Regards

Roman

  • Hello,

    I successfully run 

    cldp -proc ADSP-BF707 -emu 1000 -driver "d:\work\bf707_w25q32bv_dpia.dxe" -cmd prog -erase affected -format hex -file "d:\work\pll_usb_test.ldr"

    and ldr settings are:

    SPI master

    Intel Hex

    8 bits

    BCODE: 0xD

    default address.

  • Hello,

    Not sure why you are using ' -cmd info' in the CLDP command, instead you shuld use -cmd prog to program the flash. 

    Detailed information regarding the Command Line Device Programmer can be found in CCES Help in the following path:
    <Help>--> CrossCore Embedded Studio 2.4.0--> Integrated Development Environment--> Working with Bootable and Non-bootable Files->Device Programmer

    Also, please refer to the below FAQ:

    How do I program flash on my target board using CrossCore Embedded Studio?
    https://ez.analog.com/docs/DOC-2111

    Regards,

    Jithul

  • Hello,

    I still cannot program w25q32bv device. I use bf706_w25q32bv_dpia.dxe driver program included in  BF706_w25q32bv_dpia example project.

    My FLASH device is connected this way, the same as at BF706 ex_kit mini.

    Maybe I should build driver program wit release option ?

    My command is:

    cldp -proc ADSP-BF706 -emu 1000 -driver "d:\Moje_projekty\J_Rduch\Mikser_v3\Mixer_v3_CrossCore\BF706_W25Q32BV_dpia\bf706_w25q32bv_dpia.dxe" -cmd prog -erase affected -format hex -file "d:\Moje_projekty\J_Rduch\Mikser_v3\Mixer_v3_CrossCore\AMXD_BF706_INPUT_test\Release\AMXD_BF706_INPUT_test.ldr"

    c:\Analog Devices\CrossCore Embedded Studio 2.3.0>cldp -@ BF706DevProg.txt
    Target          Blackfin CS Emulator
    Platform        ADSP-BF706 via ICE-1000
    Processor       ADSP-BF706
    Core            0
    Driver          d:\Moje_projekty\J_Rduch\Mikser_v3\Mixer_v3_CrossCore\BF706_W25Q
    32BV_dpia\bf706_w25q32bv_dpia.dxe
    Error: couldn't find DPIA buffer address
    Error: could not allocate storage for the buffer 0xD.
    Error: Error: There was a problem with one or more
    required expressions in the driver.  Please make
    sure the following expressions are present and
    try again:
    Error: driver load failed.

    With regards

    Roman

  • Hello,

    in your FAQ instruction the driver and ldr file locations are without quotation marks. So, how they should be written ?

    Thank you

    Roman

  • Thank you, but could you write a working example for BF706 ?

    My last attempt using correct command changed green light of ICE1000 to violet, but for too long time.

    After disconnecting and connecting emulator to USB port next attempts generate error messages.

    Regards

    Roman

  • Hi Roman,

    Apologize for the delay in getting back on this.

    I tried the below command and it successfully programmed to the W25Q32 SPI flash of ADSP-BF706 Ez-mini and booted properly.

    -proc ADSP-BF706
    -emu kit
    -driver "C:\Users\jithul\Desktop\Working\BF706\CLDP\bf706_w25q32bv_dpia.dxe"
    -cmd prog -erase affected
    -format hex
    -offset 0
    -file "C:\Users\jithul\Desktop\Working\BF706\CLDP\Blink_led.ldr"

    Please find the attachment for your reference.

    Regards,

    Jithul

    BF706.zip
  • Hi Jithul,

    thank you.

    I see a new component in command: -offset 0. Will check it on Monday.

    In a meantime I successfully programmed my board based on ADSP-21489 and m25p16 serial FLASH, but program does not boot. Have to debug it, but suspect some hardware problem.

    I use ICE-1000 for my BF706 board debugging without any problem, so I don't understand flash programming errors.

    Please, check this thread on Monday. :-)

    Roman

  • Hello Jithul,

    I could program your example and it boot properly, but when i try to program and boot TalkThrough_BF706Mini.ldr example it does not boot.

    How should I set release binary file generation ?

    SPI master

    Intel Hex

    8 bits

    BCODE: 0xD

    default address,

    but what about initialization file (-init) ?

    Regards

    Roman

  • Hi Jithul,

    today I can:

    - program and boot your example on BF706 mini kit, and also Power_On_Self_Test self made ldr file (BCODE: 1),

    - debug my test application on my BF706 board,

    but can not:

    - program anything to w25q32bv serial FLASH device on my board, because the result is:

    Target          Blackfin CS Emulator
    Platform        ADSP-BF706 via ICE-1000
    Processor       ADSP-BF706
    Core            0
    Driver          d:\Moje_projekty\J_Rduch\Mikser_v3\Mixer_v3_CrossCore\bf706_w25q
    32bv_dpia\bf706_w25q32bv_dpia.dxe
    Error: couldn't find DPIA buffer address
    Error: could not allocate storage for the buffer 0xD.
    Error: Error: There was a problem with one or more
    required expressions in the driver.  Please make
    sure the following expressions are present and
    try again:
    Error: driver load failed.

    My command:

    cldp -proc ADSP-BF706 -emu 1000 -driver "d:\bf706_w25q32bv_dpia\bf706_w25q32bv_dpia.dxe" -cmd prog -erase affected -format hex -offset 0 -file "d:\AMXD_BF706_INPUT_test\Release\AMXD_BF706_INPUT_test.ldr"

    I also can program but can not boot ldr version of TalkThrough_BF706Mini example on BF706 mini kit.

    Regards

    Roman

  • Hello Roman,

    I had the similar issue (error messages) with DPIA when i tried program board with different FLASH device.

    Are you sure that your board has exactly w25q32bv? You can check this by reading manID and devID from FLASH device under ICE.

    And all these conditions are met:

    SPI2 is connected to a Winbond W25Q32BC 32 Mb serial flash memory with dual and quad SPI support.

    (from ADSP-BF706 EZ-KIT MiniTm Evaluation System Manual)

    Also you can write your own firmware to pogram FLASH (I sure it's most powerful solution):

    1*. Use SPI+FLASH driver from ADI's examples (Power_On_Self_Test) - just copy sources to your project;

    2. load firmware from HDD using fopen/fread functions.

    Be careful - these sources are C, not C++.