Post Go back to editing

couldn't find DPIA buffer address error

Hi ,

My board have a  W25Q16JVSSIQ  , but I have no W25Q16 DPIA driver , when I using bf706_w25q32bv_dpia.dxe

Error message is:

====================================================================

D:\00_main\03_KeHai\LD101\CCES\dsp_firm_string>"C:\Analog Devices\CrossCore Embedded Studio 2.5.1\cldp.exe" -proc ADSP-BF702 -emu "dmhpusb50" -driver "bf702_w25q32_flash.dxe" -cmd prog -erase affected
-offset 0 -format bin -file "dsp.ldr"
Target Blackfin CS Emulator
Platform ADSP-BF702 via DM-HPUSB 5.0 Plus
Processor ADSP-BF702
Core 0
Driver bf702_w25q32_flash.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.

=======================================================================

thanks for any help!

  • Hi,

    Please note that the flash drivers we ship with our tools are specific to our EZ-Kit boards. As you are working with a different part you will need to modify the existing driver.

    We provide documentation for the Device Programmer API, which describes the commands the Flash Programmer Drivers require to perform the Flash accesses.

    This documentation is available at help > CrossCoreRegistered Embedded Studio <version>> Integrated Development Environment > Working with Bootable and Non-bootable Files > Device Programmer > Custom Device Drivers

    We are aware of many customers who have successfully modified our flash drivers to suit different flash parts.

    Regards,

    Kader

  • This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin
  • did you ever get a sensible answer rather than a brush-off to this question?

    I have the same issue ...

  • Hi,

    The error message "Could not allocate storage for the buffer" is normally encountered when doing a malloc for AFP_Buffer, if there is not enough memory allocated for the heap in the .LDF file used by the Flash Programmer driver. For example, if the heap is defined to be a size of 0x1000 bytes and you try to malloc 0x2000 bytes, a failure occurs and this message appears.

    We have seen similar issue (error messages) with DPIA when trying to program board with different FLASH device.

    As we already said, the flash drivers we ship with our tools are specific to our EZ-Kit boards.If you are working with a different part you will need to modify the existing driver by referring the below API.

    We provide documentation for the Device Programmer API, which describes the commands the Flash Programmer Drivers require to perform the Flash accesses.

    This documentation is available at help > CrossCore® Embedded Studio <version>> Integrated Development Environment > Working with Bootable and Non-bootable Files > Device Programmer > Custom Device Drivers

    We are aware of many customers who have successfully modified our flash drivers to suit different flash parts.

    If you are still facing any issues,can you please share us your complete project that you are using.Also please let us know which processor you are using and whether you are using our evaluation board or custom board,So that we can assist you better.

    Regards,
    Santha kumari.K

  • Thanks Santha,

    My programmer project is based on the one that ships with the ezkit eval board. I have made no real changes to the code yet, just renamed folders to fit my overall project.

    The programmer builds and works when used with the ezkit, but fails on my board which has a BF607 processor.

    The project zip is attached.

    Regards, John

    programmer.zip

  • Hi,

    From your project, we understand that you are using "bf609_w25q32bv_dpia.dxe" flash driver(serial flash driver for ADSP-BF609 ezkit) to program your custom board.

    As you mentioned that you are able to work fine when using bf609_w25q32bv_dpia.dxe flash driver with the ezkit but fails on your custom board, please let us know whether you are using same flash part as our ADSP-BF609 ezkit or different flash part in your custom board.

    If you are working with a different part you will need to modify the existing driver to suit your custom board.Please note that the flash drivers we ship with our tools are specific to our EZ-Kit boards.

    Also note that, (error messages) with DPIA occurs when trying to program board with different FLASH device.

    If you are using different flash part in your custom board, We recommend to refer the documentation that we provide in previous response to modify flash driver.

    Regards,
    Santha kumari.K

  • Thanks Santha,

    You are correct that I am using a different device, and would not expect the programming to work, but the error that I get seems unrelated to the device.

    Could you please send me a link to the documentation that explains which areas of the example programmer have to be updated to match the actual part. There is a lot of code spread across13 files and it is hard to decide which areas need to be updated and which are standard that should work with any target flash device.

    I cannot find the text of the error message in the code supplied by ADI and so have difficulty in understanding what is failing. Can you please send me a link to the documentation that explains the error messages that can be raised by the ADI code so that I can debug my driver as I develop it.

    Thanks, John

  • Hello John,

    Please note that, We do not have any drivers for LE25S20FD flash part you are using. Unfortunately, the only example Device programmer drivers we provide are those for our EZ-KIT Lites.

    Our recommended approach is to take an existing driver for (ideally) a similar target, and modify it for your flash. Whatever driver you choose to start with, you will need to modify the driver, as there will be significant differences between the flash part used on the KIT, and the LE25S20FD part you are using (e.g. as number and size of sectors, reset commands, Manufacturer and Device codes, etc).

    You can find example Device Programmer Drivers within the "Device_Programmer" Directory for each EZ-Kit BSP
    as like , <installation path>:\Analog Devices\ADSP-BF609_Evaluation_Board-Rel1.1.0\BF609_EZ-Board\Blackfin\Examples\Device_Programmer

    When modifying a driver we would recommend referring to both the LE25S20FD data sheet and the data sheet for the original device when doing so, so that you can verify elements such as number and size of sectors, reset commands, Manufacturer and Device codes, then see how these differ in the data sheet for your LE25S20FD device. The examples/drivers are well documented/commented so you should be able to determine where changes are required to suit your target.

    Regards,
    Santha kumari.K

  • Did you find the solution? I have the same problem when using w25q128 flash and also got the "couldn't find DPIA buffer address" error. The error message does not help to find out what cause the problem

  • Hi,

    As mentioned already in this thread, The error message "Could not allocate storage for the buffer" is normally encountered when doing a malloc for AFP_Buffer, if there is not enough memory allocated for the heap in the .LDF file used by the Flash Programmer driver. For example, if the heap is defined to be a size of 0x1000 bytes and you try to malloc 0x2000 bytes, a failure occurs and this message appears.

    From your details, we understood that you are using W25Q128 flash part.Please confirm whether you are using custom board or ez-kit and which processor you are using.

    You can download ADSP-SC5XX Board Support Package from the below link:
    download.analog.com/.../ADI_ADSP-SC5xx_EZ-KIT_Lite-Rel2.0.2.exe

    After installation you can find flash driver for Winbond W25Q128FV part in the below path:
    <Installation path>\ADSP-SC5xx_EZ-KIT_Lite-Rel2.0.2\ADSP-SC5xx_EZ-KIT\Examples\Device_Programmer\sc584\sharc\sc584_w25q128fv_dpia_Core1\sc584_w25q128fv_dpia_Core1.dxe

    The flash drivers we ship with our tools are specific to our EZ-Kit boards.the sc58x_w25q128fv_dpia driver is specific to the SC58x and the Winbond W25Q128FV part.

    We have seen similar issue (error message "Could not allocate storage for the buffer") with DPIA when trying to program board with different FLASH device.

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

    We would strongly recommend you confirm the exact flash part you are working with. If you discover you are working with a different part you will need to modify the existing driver.

    Although you are using the similar flash device as the EZ-KIT, it may be hooked up or connected differently.Note that the EZ-KIT has external memory available to it, does the custom board have external memory?
    If not and your design of the flash on custom board differs from the EZ-KIT then these differences must be accounted for in the flash programmer application which is loaded to the target.

    We recommend the flash programmer application example provided as part of the tools and make changes to suit your particular hardware configuration.

    Also, we provide documentation for the Device Programmer API, which describes the commands the Flash Programmer Drivers require to perform the Flash accesses.

    This documentation is available at help > CrossCore® Embedded Studio <version> > Integrated Development Environment > Working with Bootable and Non-bootable Files > Device Programmer > Custom Device Drivers

    Regards,
    Santhakumari.K