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.

OMAP 3530 Flash programming error with EVMFlash

Other Parts Discussed in Thread: TPS65930

We have a custom board roughly based on the Mistral EV3 Rev G. design with the following setup:

OMAP 3530 in DCBC-package (Mistral is based on DCBB package)

TPS65930 companion chip

POP Combined 2Gb NAND flash & 1 Gb Mobile DDR SDRAM Part number: MT29C2G24MAKLACG-6 IT

26MHz clock

 

Our plan is to use EVMFlash V1.2.1.0 for flashing the NAND. We get the following error when trying to write the flash.

 

EVMFlash

Write operation returned error code 0xFFFFFFF9

 

Below is the corresponding debug window output:

Download [11:20:39]: Added primitive to queue

0x00 0x40 0x64 0x80 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x84 0x00 0x00 0x6E

0x7C 0x00 0x00 0x6E 0x80 0x00 0x00 0x6E 0x00 0x00 0x00 0x20 0x0C 0x42 0x00 0x00

0x00 0x00 0x00 0x00

 

What does the error code above mean?

Is there any hardware debug tool/firmware availible that is downloadable to and executed in RAM?

Any suggestions for eliminating possible hardware design flaws?

 

We have also tried booting from MMC with no success.

 

Best regards

Fredrik

  • Fredrik,

    EVMFlash3530 v2.0 is used with Mistral EVM Rev G board (EVMFlash v 1.2 does not work with Rev G board). Can you give that a try first. (this utility is part of WinCE BSP 6.12.04 onwards). I'm not sure if this will solve your problem. But definitely good to try this before proceeding further.

    Jatin

     

  • Thank you for your support!

    I have tried to use EVM Flash V2.0 without any success at all. It says Unable to connect to hardware which EVMFlash 1.2 does not . But I also got the tip to increase the debug level to 5, and here are the results from version 1.2.:

    Download [02:05:32]: [00] dl_connecting.cpp (1141): ASIC ID read (0x3a bytes)
    Download [02:05:32]: [00] dl_connecting.cpp ( 979): ASIC ID:
    Download [02:05:32]: [00] dl_connecting.cpp ( 980):   No. Items         : 0x04
    Download [02:05:32]: [00] dl_connecting.cpp ( 981):   OMAP ID           : 0x34 0x30 0x07
    Download [02:05:32]: [00] dl_connecting.cpp ( 982):   Version           : 0x57
    Download [02:05:32]: [00] dl_connecting.cpp ( 983):   Secure Mode Data  : 0x00
    Download [02:05:32]: [00] dl_connecting.cpp ( 992):   Public id Data    : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Download [02:05:32]: [00] dl_connecting.cpp (1001):   Root key hash data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Download [02:05:32]: [00] dl_connecting.cpp (1151): Sending primitive:   DL(ThreadId 0xC04)-> APP(ThreadId 0x10E8): DL_BOOT_INFO_IND
    Download [02:05:32]: [00] dl_connecting.cpp (1175): GP device detected.
    Download [02:05:32]: [00] dl_connecting.cpp (1191): Second file read: .\targets\2nd-downloaders\dnld_startup_3530evm_gp.2nd
    Download [02:05:32]: [00] dl_connecting.cpp (1233): Transferring second file to target
    Download [02:05:35]: [00] dl_connecting.cpp (1258): Second file transferred to target (0x678c bytes)
    Download [02:05:35]: [00] dl_connecting.cpp (1269): State Change --> New state: ConnectingLLConnect
    Download [02:05:35]: [00] dl_connecting.cpp ( 769): Releasing UART/USB connection...
    Download [02:05:35]: [00] dl_connecting.cpp ( 821): Reconnecting to target (LL connect)
    Download [02:05:35]: [00] dl_connecting.cpp ( 823): Sending primitive:   DL(ThreadId 0xC04)->  LL(ThreadId 0x678): LL_CONNECT_REQ
    Download [02:05:35]: [00] dl_connecting.cpp ( 824): Connecting via LL (link_type = 0, ll_mode = 1, port = 1, baudrate = 9)
    Download [02:05:35]: [00] dl.cpp ( 955): Recieved primitive in state ConnectingLLConnect   LL(ThreadId 0x678)->  DL(ThreadId 0x110): LL_CONNECT_CNF
    Download [02:05:35]: [00] dl_connecting.cpp ( 213): LL connect successful
    Download [02:05:35]: [00] dl_connecting.cpp ( 245): Verifying connection
    Download [02:05:35]: [00] dl_connecting.cpp ( 256): Sending primitive:   DL(ThreadId 0x110)->  LL(ThreadId 0x678): LL_DATA_REQ: SETUP_REQ
    Download [02:05:35]: [00] dl.cpp ( 348): Timer registered: ID: 0x00002D74, primitive: 0x80670000, TimeOut: 3000
    Download [02:05:35]: [00] dl.cpp ( 597): Freeing primitive: LL_CONNECT_CNF
    Download [02:05:35]: [00] dl.cpp ( 955): Recieved primitive in state ConnectingLLConnect   LL(ThreadId 0xDEC)->  DL(ThreadId 0x110): LL_DATA_IND: SETUP_CNF
    Download [02:05:35]: [00] dl.cpp ( 434): Timer stopped: ID: 0x00002D74
    Download [02:05:35]: [00] dl_connecting.cpp ( 456): State Change --> New state: Connected
    Download [02:05:35]: [00] dl_connecting.cpp ( 457): Connection successfully established
    Download [02:05:35]: [00] dl_disconnected.cpp (  51): Sending primitive:   DL(ThreadId 0x110)-> APP(ThreadId 0x10E8): DL_CONNECT_CNF
    Download [02:05:35]: [00] dl.cpp ( 597): Freeing primitive: LL_DATA_IND
    Download [02:05:35]: [00] dl.cpp ( 955): Recieved primitive in state Connected  APP(ThreadId 0x10E8)->  DL(ThreadId 0x110): DL_WRITE_FROM_FILE_REQ
    Download [02:05:35]: [00] dl_connected.cpp ( 338): State Change --> New state: BusyWriteWaitID
    Download [02:05:35]: [00] dl_connected.cpp ( 351): Processing write from file request on device type: 0x2
    Download [02:05:35]: [00] dl_connected.cpp ( 232): File read: C:\Program\EVMFlash3530_v1.2\EVMFlash3530_v1.2\Targets\x-load.bin.ift
    Download [02:05:35]: [00] dl_connected.cpp ( 213): Querying parameters for device type 0x2 at 0x20000000
    Download [02:05:35]: [00] dl_connected.cpp ( 190): DLBusy datahandler: queueing primitive:   DL(ThreadId 0x110)->  LL(ThreadId 0x678): LL_DATA_REQ: QUERY_REQ
    Download [02:05:35]: Added primitive to queue
    0x00 0x40 0x64 0x80 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x84 0x00 0x00 0x6E
    0x7C 0x00 0x00 0x6E 0x80 0x00 0x00 0x6E 0x00 0x00 0x00 0x20 0x0C 0x42 0x00 0x00
    0x00 0x00 0x00 0x00
    Download [02:05:35]: [00] dl_llqueue.cpp ( 233): Sending primitive:   DL(ThreadId 0x110)->  LL(ThreadId 0x678): LL_DATA_REQ: QUERY_REQ
    Download [02:05:35]: [00] dl.cpp ( 597): Freeing primitive: DL_WRITE_FROM_FILE_REQ
    Download [02:05:35]: [00] dl.cpp ( 955): Recieved primitive in state BusyWriteWaitID   LL(ThreadId 0xDEC)->  DL(ThreadId 0x110): LL_DATA_IND: QUERY_CNF
    Download [02:05:35]: [00] dl_busy.cpp (2142): Device parameter query successful
    Download [02:05:35]: [00] dl_busy.cpp (2214): NAND flash configuration:
    Download [02:05:35]: [00] dl_busy.cpp (2215):     Manufacturer id    = 0x0000
    Download [02:05:35]: [00] dl_busy.cpp (2217):     Device id          = 0x0000
    Download [02:05:35]: [00] dl_busy.cpp (2111): Could not locate driver for device type (#0x02) with vendor ID (#0x0000) and product ID (#0x0000) in XML file
    Download [02:05:35]: [00] dl.cpp ( 367): Stopping all timers
    Download [02:05:35]: [00] dl_busy.cpp (2360): Internally aborting pending operation
    Download [02:05:35]: [00] dl_busy.cpp (2362): State Change --> New state: BusyErrorAborting
    Download [02:05:35]: [00] dl.cpp ( 348): Timer registered: ID: 0x00002D73, primitive: 0x80800000, TimeOut: 2000
    Download [02:05:35]: [00] dl_busy.cpp (2385): Sending primitive:   DL(ThreadId 0x110)->  LL(ThreadId 0x678): LL_DATA_REQ: ABORT_REQ
    Download [02:05:35]: [00] dl.cpp ( 597): Freeing primitive: LL_DATA_IND
    Download [02:05:35]: [00] dl.cpp ( 955): Recieved primitive in state BusyErrorAborting   LL(ThreadId 0xDEC)->  DL(ThreadId 0x110): LL_DATA_IND: ABORT_CNF
    Download [02:05:35]: [00] dl.cpp ( 434): Timer stopped: ID: 0x00002D73
    Download [02:05:35]: [00] dl_busy.cpp (3221): Internal abort operation successful
    Download [02:05:35]: [00] dl_busy.cpp (3224): State Change --> New state: Connected
    Download [02:05:35]: [00] dl_busy.cpp (2450): Write operation completed.  Result = 0xFFFFFFF9

     

    Reading the above does give me some information, reading the Flash manufacturer ID and Device ID seams to fail. Either it depends on faulty 2nd downloader, or there is something wrong with my board hardware. Need help.

    Regards

    Fredrik