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.

Rebuilding the Flash and Boot Utils Package

Other Parts Discussed in Thread: AM1808, OMAP-L138, OMAPL138

This Wiki entry:

processors.wiki.ti.com/.../Rebuilding_the_Flash_and_Boot_Utils_Package

 

on section:

ARM Compiler Tools (CodeSourcery G++ Lite)


instructs the user to download CodeSourcery G++ Lite. Unfortunately Mentor Graphics has ended CodeSourcery and no longer allows downloads of their Lite edition. The only option is to purchase the commercial CodeSourcery Code Bench

www.mentor.com/.../overview

Is there an alternate toolchain or can TI provide an alternate method to complete this build?

UPDATE:

 

Inside OMAP-L138_FlashAndBootUtils_2_40 I found OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\CCS\NORWriter. This project builds in CCS 5.5, connects to my board, and begins to run on the ARM9. However, it hangs on line
// Initialize NOR Flash hNorInfo = NOR_open((Uint32)LOCAL_norBase, DEVICE_BUSWIDTH_16BIT );
inside of norwriter.c

 

After stepping through, it looks like line 142 of async_mem.c never returns:

(*hAsyncMemInfo->hDeviceInfo->fxnInit)(hAsyncMemInfo);

  I have a TMDSSGI-EVML138 with an OMAP-L138/AM1808. I have successfully run a CCS hello world with UART, and verified I have a d800k008 via JTAG. Am I using an incorrect NOR flash writer?

  • Hi William,

    William said:
    Question No:1 : Is there an alternate toolchain or can TI provide an alternate method to complete this build?


    Are you able to register into their mentor graphics website, sourcery.mentor.com/.../subscription3057

    and tried downloading the "Sourcery CodeBench Lite 2014.05-29" ???

    William said:
    Question No: 2: Inside OMAP-L138_FlashAndBootUtils_2_40 I found OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\CCS\NORWriter. This project builds in CCS 5.5, connects to my board, and begins to run on the ARM9. However, it hangs on line
    // Initialize NOR Flash hNorInfo = NOR_open((Uint32)LOCAL_norBase, DEVICE_BUSWIDTH_16BIT );
    inside of norwriter.c


    I could think of the following reasons.

    1. As far as I know, this NOR writer will staright away work for DA-850 EVM with OMAPL138 processor. Do check whether any changes needed for your board, " TMDSSGI-EVML138"

    2. Make sure that the "DEVICE_BUSWIDTH_16BIT" is 16 for NOR flash. If it is 8 bit, you may have to change it.

    3. Make sure you flash the AIS formatted binary as per the readme.txt file provided at "~\OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\CCS\NORWriter"


    -----------------------------

  • Shankari G said:

    Hi William,

    William
    Question No:1 : Is there an alternate toolchain or can TI provide an alternate method to complete this build?



    Are you able to register into their mentor graphics website, sourcery.mentor.com/.../subscription3057

    and tried downloading the "Sourcery CodeBench Lite 2014.05-29" ???

    I have registered. After registering instead of seeing links, all I see is "You are not allowed to access this file". I called Mentor and they said they have ended this project, and now sell it as part of their enterprise software. They no longer provide it for free at all. This is obviously a problem for me or anyone wanting to recompile this tool in the future.

    Shankari G said:
    William
    Question No: 2: Inside OMAP-L138_FlashAndBootUtils_2_40 I found OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\CCS\NORWriter. This project builds in CCS 5.5, connects to my board, and begins to run on the ARM9. However, it hangs on line
    // Initialize NOR Flash hNorInfo = NOR_open((Uint32)LOCAL_norBase, DEVICE_BUSWIDTH_16BIT );
    inside of norwriter.c



    I could think of the following reasons.

    1. As far as I know, this NOR writer will staright away work for DA-850 EVM with OMAPL138 processor. Do check whether any changes needed for your board, " TMDSSGI-EVML138"

    2. Make sure that the "DEVICE_BUSWIDTH_16BIT" is 16 for NOR flash. If it is 8 bit, you may have to change it.

    3. Make sure you flash the AIS formatted binary as per the readme.txt file provided at "~\OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\CCS\NORWriter"


    -----------------------------

    1. You were correct, I had loaded the wrong GEL file for my board. The wiki only links to the PD GEL file, but I am using a Spectrum Digital board. Once I got the correct GEL file I the NOR Writer does not hang, but it still fails. (For anyone else having this issue, the SD GEL file is available here:http://support.spectrumdigital.com/boards/evmam1808/revb/)

    2. I do have this set. Fortunately, the NOR Writer utility tries both 16 and 8 bit before failing no matter what is set, so kudos on the good coding.

    3. I am following the readme.txt file exactly, but I get the following error message:

    Starting OMAP-L138 NORWriter.

    CFI Query...failed.

    ERROR: NOR Initialization failed.

    NOR flashing failed!

    Upon inspection, the NORWriter tries to write some test words to the NOR flash at 0x60000000, and the writes fail. They do not provide an error, the NOR flash simply does not change value, so when the NORWriter looks for the test words it just wrote, they are not there. This mimics the EXACT problem I had trying to flash via u-boot. I was able to sf probe, and sf erase. The sf write did not provide an error, but the NOR flash never actually changed values. It remained 0xFFFF for the entire NOR flash no matter what I did. The NORWriter is having the same issue. It tries to write to NOR and the values just never change at all. I am at a total loss how to proceed. I have followed the hardware manual and software manual and everything appears correct.

  • Hi William,

    OK, First we will try out the method one; that is rebuilding the SFH utility after modifying the source of SFH as per your board. [ Code sourcery is not mandatory. We can use the existing compilers of CCSV5]

    For modifications as per your board, please refer to sections, in TI WIKI

    Follow the below steps to re-build the SFH.

    1. Download and install cygwin from  setup-x86_64.exe

    2. Install it successfully by choosing the internet option.

    3. Observe that the icon apeears on the desktop.

    4. Open cygwin window.

    5. go to the path : /cygdrive/c/ti/mcsdk_1_01_00_01/host-tools/OMAP-L138_FlashAndBootUtils_2.40/OMAP-L138 using $cd < dir >

    6. open C:\ti\mcsdk_1_01_00_01\host-tools\OMAP-L138_FlashAndBootUtils_2.40\Common\build.mak in a notepad and make sure the path are appropriate:

    For example:

    ARM_TOOLS_PATH?=C:\\ti\\ccsv5\\tools\\compiler\\gcc-arm-none-eabi-4_7-2012q4\\

    ARM_TOOLS_PREFIX?=arm-none-eabi-

    CROSSCOMPILE?=$(ARM_TOOLS_PATH)bin\\$(ARM_TOOLS_PREFIX)

    ARM_CROSSCOMPILE=$(CROSSCOMPILE)

    DSP_TOOLS_PATH?=C:\\ti\\ccsv5\\tools\\compiler\\C6000_7.4.5\\

    DSP_LIB_PATH=$(DSP_TOOLS_PATH)lib\\

    DSP_CROSSCOMPILE=$(DSP_TOOLS_PATH)bin\\

    7. Go to computer properties, advanced system properties -- > system variables --> path edit --> c:\MinGW\bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319

    8. Go to this folder : c/ti/mcsdk_1_01_00_01/host-tools/OMAP-L138_FlashAndBootUtils_2.40/OMAP-L138

    and do

    $make clean

    $make

    PS: Revert back and tell us how it goes.

    ---------------------------------

  • Hi William,

    For method 2: NOR Writer

    We experimented the NOR writer in the OMAPl137 - spectrum Digital board with Daughter card board attached. With the boot switch settings [ SW1 : 00000 on Daughter card board ] able to flash the binary successfully into the NOR memory. Refer the screeshot below.

    In the Spectrum Digital board, when the BOOT Switch settings are incorrect in the Daughter card board, able to reproduce the problem.

    So, most likely the you might be using the incorrect BOOT SWITCH settings in the SDI board for this experiment.

    We do not have Smart grid board in Hand;

    However, In the SMART grid EVM board try making sure that you use the emulation mode for Alpha and Beta while using the NOR writer.

    The below Settings are for SMART GRID board; fetched from

    Table 3: Alpha EVM Boot Options

    Boot Mode:

    S2:5

    S2:6

    S2:7

    S2:8

    EMU

    OFF

    OFF

    OFF

    OFF

    Table 4: Beta & Production EVM Boot Options

    Boot Mode:

    S2:5

    S2:6

    S2:7

    S2:8

    EMU

    ON

    OFF

    OFF

    ON

    Please rever to us how it goes for you...

    -------------------------------

  • Thank you for the replies so far. I am still having issues with the board. I have attached screenshots of my running programs for context. I have an open support ticket with Spectrum Digital and will let you know what they say when they respond.

     

    I have tried both EMU mode and SPI boot (the two dip switch settings you listed) and they both give the exact same errors. I also ran Spectrum Digital's debug GEL file in both modes and have attached the output below in case it helps. Note that all dip switch settings result in the same issue: the NOR Flash Writer tries to write to NOR flash, but the flash values never change.

     

     

    Settings S2:1-S2:8 off provides-

    ARM9_0: GEL Output:

    ---------------------------------------------

    ARM9_0: GEL Output: | Device Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: DEV_INFO_00 = 0x1B7D102F

    ARM9_0: GEL Output: DEV_INFO_01 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_02 = 0x0000000C

    ARM9_0: GEL Output: DEV_INFO_03 = 0x00000033

    ARM9_0: GEL Output: DEV_INFO_04 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_05 = 0x000003E0

    ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080

    ARM9_0: GEL Output: DEV_INFO_07-DEV_INFO_08-DEV_INFO_09-DEV_INFO_10-DEV_INFO_11-DEV_INFO_12 = 0-0-6813652-15-29-11

    ARM9_0: GEL Output: DEV_INFO_13,DEV_INFO_14,DEV_INFO_15,DEV_INFO_16 = 3,0,0,13290

    ARM9_0: GEL Output: -----

    ARM9_0: GEL Output: DEV_INFO_17 = 0x00030003

    ARM9_0: GEL Output: DEV_INFO_18 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_19 =ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output:

    ARM9_0: GEL Output: -----

    ARM9_0: GEL Output: DEV_INFO_20 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_21 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_22 = 0x30303864

    ARM9_0: GEL Output: DEV_INFO_23 = 0x3830306B

    ARM9_0: GEL Output: -----

    ARM9_0: GEL Output: DEV_INFO_24 = 0x0F00B01D

    ARM9_0: GEL Output: DEV_INFO_25 = 0x0067F7D4

    ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080

    ARM9_0: GEL Output: DEV_INFO_26 = 0x67D40003

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | BOOTROM Info |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: ROM ID: d800k008

    ARM9_0: GEL Output: Silicon Revision 2.1

    ARM9_0: GEL Output: Boot pins: 12

    ARM9_0: GEL Output: Boot Mode: SPI1 Flash

    ARM9_0: GEL Output:

    ROM Status Code: 0x00000009

    Description:ARM9_0: GEL Output: Invalid AIS keyword

    ARM9_0: GEL Output:

    Program Counter (PC) = 0x80007DEA

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | Clock Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: PLLs configured to utilize crystal.

    ARM9_0: GEL Output: ASYNC3 = PLL0_SYSCLK2

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: NOTE: All clock frequencies in following PLL sections are based

    ARM9_0: GEL Output: off OSCIN = 24 MHz. If that value does not match your hardware

    ARM9_0: GEL Output: you should change the #define in the top of the gel file, save it,

    ARM9_0: GEL Output: and then reload.

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PLL0 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: PLL0_SYSCLK1 = 300 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK2 = 150 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK3 = 25 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK4 = 75 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK5 = 100 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK6 = 300 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK7 = 50 MHz

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PLL1 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: PLL1_SYSCLK1 = 264 MHz

    ARM9_0: GEL Output: PLL1_SYSCLK2 = 132 MHz

    ARM9_0: GEL Output: PLL1_SYSCLK3 = 88 MHz

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PSC0 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: State Decoder:

    ARM9_0: GEL Output: 0 = SwRstDisable (reset asserted, clock off)

    ARM9_0: GEL Output: 1 = SyncReset (reset assered, clock on)

    ARM9_0: GEL Output: 2 = Disable (reset de-asserted, clock off)

    ARM9_0: GEL Output: 3 = Enable (reset de-asserted, clock on)

    ARM9_0: GEL Output: >3 = Transition in progress

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: Module 0: EDMA3CC (0) STATE = 3

    ARM9_0: GEL Output: Module 1: EDMA3 TC0 STATE = 3

    ARM9_0: GEL Output: Module 2: EDMA3 TC1 STATE = 3

    ARM9_0: GEL Output: Module 3: EMIFA (BR7) STATE = 3

    ARM9_0: GEL Output: Module 4: SPI 0 STATE = 3

    ARM9_0: GEL Output: Module 5: MMC/SD 0 STATE = 3

    ARM9_0: GEL Output: Module 6: AINTC STATE = 3

    ARM9_0: GEL Output: Module 7: ARM RAM/ROM STATE = 3

    ARM9_0: GEL Output: Module 9: UART 0 STATE = 3

    ARM9_0: GEL Output: Module 10: SCR 0 (BR0/1/2/8) STATE = 3

    ARM9_0: GEL Output: Module 11: SCR 1 (BR4) STATE = 3

    ARM9_0: GEL Output: Module 12: SCR 2 (BR3/5/6) STATE = 3

    ARM9_0: GEL Output: Module 13: PRUSS STATE = 0

    ARM9_0: GEL Output: Module 14: ARM STATE = 3

    ARM9_0: GEL Output: Module 15: DSP STATE = 0

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PSC1 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: State Decoder:

    ARM9_0: GEL Output: 0 = SwRstDisable (reset asserted, clock off)

    ARM9_0: GEL Output: 1 = SyncReset (reset assered, clock on)

    ARM9_0: GEL Output: 2 = Disable (reset de-asserted, clock off)

    ARM9_0: GEL Output: 3 = Enable (reset de-asserted, clock on)

    ARM9_0: GEL Output: >3 = Transition in progress

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: Module 0: EDMA3CC (1) STATE = 3

    ARM9_0: GEL Output: Module 1: USB0 (2.0) STATE = 3

    ARM9_0: GEL Output: Module 2: USB1 (1.1) STATE = 3

    ARM9_0: GEL Output: Module 3: GPIO STATE = 3

    ARM9_0: GEL Output: Module 4: UHPI STATE = 3

    ARM9_0: GEL Output: Module 5: EMAC STATE = 3

    ARM9_0: GEL Output: Module 6: DDR2 and SCR F3 STATE = 3

    ARM9_0: GEL Output: Module 7: MCASP0 + FIFO STATE = 3

    ARM9_0: GEL Output: Module 8: SATA STATE = 3

    ARM9_0: GEL Output: Module 9: VPIF STATE = 3

    ARM9_0: GEL Output: Module 10: SPI 1 STATE = 3

    ARM9_0: GEL Output: Module 11: I2C 1 STATE = 3

    ARM9_0: GEL Output: Module 12: UART 1 STATE = 3

    ARM9_0: GEL Output: Module 13: UART 2 STATE = 3

    ARM9_0: GEL Output: Module 14: MCBSP0 + FIFO STATE = 3

    ARM9_0: GEL Output: Module 15: MCBSP1 + FIFO STATE = 3

    ARM9_0: GEL Output: Module 16: LCDC STATE = 3

    ARM9_0: GEL Output: Module 17: eHRPWM (all) STATE = 3

    ARM9_0: GEL Output: Module 18: MMC/SD 1 STATE = 3

    ARM9_0: GEL Output: Module 19: UPP STATE = 3

    ARM9_0: GEL Output: Module 20: eCAP (all) STATE = 3

    ARM9_0: GEL Output: Module 21: EDMA3 TC2 STATE = 3

    ARM9_0: GEL Output: Module 24: SCR-F0 Br-F0 STATE = 3

    ARM9_0: GEL Output: Module 25: SCR-F1 Br-F1 STATE = 3

    ARM9_0: GEL Output: Module 26: SCR-F2 Br-F2 STATE = 3

    ARM9_0: GEL Output: Module 27: SCR-F6 Br-F3 STATE = 3

    ARM9_0: GEL Output: Module 28: SCR-F7 Br-F4 STATE = 3

    ARM9_0: GEL Output: Module 29: SCR-F8 Br-F5 STATE = 3

    ARM9_0: GEL Output: Module 30: Br-F7 (DDR Contr) STATE = 3

    ARM9_0: GEL Output: Module 31: L3 RAM, SCR-F4, Br-F6 STATE = 3

    S2:5 ON + S2:8 ON provides:

    ARM9_0: GEL Output:

    ---------------------------------------------

    ARM9_0: GEL Output: | Device Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: DEV_INFO_00 = 0x1B7D102F

    ARM9_0: GEL Output: DEV_INFO_01 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_02 = 0x0000001E

    ARM9_0: GEL Output: DEV_INFO_03 = 0x00000033

    ARM9_0: GEL Output: DEV_INFO_04 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_05 = 0x000003E0

    ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080

    ARM9_0: GEL Output: DEV_INFO_07-DEV_INFO_08-DEV_INFO_09-DEV_INFO_10-DEV_INFO_11-DEV_INFO_12 = 0-0-6813652-15-29-11

    ARM9_0: GEL Output: DEV_INFO_13,DEV_INFO_14,DEV_INFO_15,DEV_INFO_16 = 3,0,0,13290

    ARM9_0: GEL Output: -----

    ARM9_0: GEL Output: DEV_INFO_17 = 0x00030003

    ARM9_0: GEL Output: DEV_INFO_18 = 0x00000000

    ARM9_0: GEL Output: DEV_INFO_19 =ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output:

    ARM9_0: GEL Output: -----

    ARM9_0: GEL Output: DEV_INFO_20 = 0x30303864

    ARM9_0: GEL Output: DEV_INFO_21 = 0x3830306B

    ARM9_0: GEL Output: DEV_INFO_22 = 0x30303864

    ARM9_0: GEL Output: DEV_INFO_23 = 0x3830306B

    ARM9_0: GEL Output: -----

    ARM9_0: GEL Output: DEV_INFO_24 = 0x0F00B01D

    ARM9_0: GEL Output: DEV_INFO_25 = 0x0067F7D4

    ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080

    ARM9_0: GEL Output: DEV_INFO_26 = 0x67D40003

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | BOOTROM Info |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: ROM ID: d800k008

    ARM9_0: GEL Output: Silicon Revision 2.1

    ARM9_0: GEL Output: Boot pins: 30

    ARM9_0: GEL Output: Boot Mode: Emulation Debug

    ARM9_0: GEL Output:

    ROM Status Code: 0x00000000

    Description:ARM9_0: GEL Output: No error

    ARM9_0: GEL Output:

    Program Counter (PC) = 0xFFFD5160

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | Clock Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: PLLs configured to utilize crystal.

    ARM9_0: GEL Output: ASYNC3 = PLL0_SYSCLK2

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: NOTE: All clock frequencies in following PLL sections are based

    ARM9_0: GEL Output: off OSCIN = 24 MHz. If that value does not match your hardware

    ARM9_0: GEL Output: you should change the #define in the top of the gel file, save it,

    ARM9_0: GEL Output: and then reload.

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PLL0 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: PLL0_SYSCLK1 = 24 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK2 = 12 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK3 = 8 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK4 = 6 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK5 = 8 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK6 = 24 MHz

    ARM9_0: GEL Output: PLL0_SYSCLK7 = 4 MHz

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PLL1 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: PLL1_SYSCLK1 = 24 MHz

    ARM9_0: GEL Output: PLL1_SYSCLK2 = 24 MHz

    ARM9_0: GEL Output: PLL1_SYSCLK3 = 24 MHz

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PSC0 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: State Decoder:

    ARM9_0: GEL Output: 0 = SwRstDisable (reset asserted, clock off)

    ARM9_0: GEL Output: 1 = SyncReset (reset assered, clock on)

    ARM9_0: GEL Output: 2 = Disable (reset de-asserted, clock off)

    ARM9_0: GEL Output: 3 = Enable (reset de-asserted, clock on)

    ARM9_0: GEL Output: >3 = Transition in progress

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: Module 0: EDMA3CC (0) STATE = 0

    ARM9_0: GEL Output: Module 1: EDMA3 TC0 STATE = 0

    ARM9_0: GEL Output: Module 2: EDMA3 TC1 STATE = 0

    ARM9_0: GEL Output: Module 3: EMIFA (BR7) STATE = 0

    ARM9_0: GEL Output: Module 4: SPI 0 STATE = 0

    ARM9_0: GEL Output: Module 5: MMC/SD 0 STATE = 0

    ARM9_0: GEL Output: Module 6: AINTC STATE = 3

    ARM9_0: GEL Output: Module 7: ARM RAM/ROM STATE = 3

    ARM9_0: GEL Output: Module 9: UART 0 STATE = 0

    ARM9_0: GEL Output: Module 10: SCR 0 (BR0/1/2/8) STATE = 3

    ARM9_0: GEL Output: Module 11: SCR 1 (BR4) STATE = 3

    ARM9_0: GEL Output: Module 12: SCR 2 (BR3/5/6) STATE = 3

    ARM9_0: GEL Output: Module 13: PRUSS STATE = 0

    ARM9_0: GEL Output: Module 14: ARM STATE = 3

    ARM9_0: GEL Output: Module 15: DSP STATE = 3

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output: | PSC1 Information |

    ARM9_0: GEL Output: ---------------------------------------------

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: State Decoder:

    ARM9_0: GEL Output: 0 = SwRstDisable (reset asserted, clock off)

    ARM9_0: GEL Output: 1 = SyncReset (reset assered, clock on)

    ARM9_0: GEL Output: 2 = Disable (reset de-asserted, clock off)

    ARM9_0: GEL Output: 3 = Enable (reset de-asserted, clock on)

    ARM9_0: GEL Output: >3 = Transition in progress

    ARM9_0: GEL Output:

    ARM9_0: GEL Output: Module 0: EDMA3CC (1) STATE = 0

    ARM9_0: GEL Output: Module 1: USB0 (2.0) STATE = 0

    ARM9_0: GEL Output: Module 2: USB1 (1.1) STATE = 0

    ARM9_0: GEL Output: Module 3: GPIO STATE = 0

    ARM9_0: GEL Output: Module 4: UHPI STATE = 0

    ARM9_0: GEL Output: Module 5: EMAC STATE = 0

    ARM9_0: GEL Output: Module 6: DDR2 and SCR F3 STATE = 0

    ARM9_0: GEL Output: Module 7: MCASP0 + FIFO STATE = 0

    ARM9_0: GEL Output: Module 8: SATA STATE = 0

    ARM9_0: GEL Output: Module 9: VPIF STATE = 0

    ARM9_0: GEL Output: Module 10: SPI 1 STATE = 0

    ARM9_0: GEL Output: Module 11: I2C 1 STATE = 0

    ARM9_0: GEL Output: Module 12: UART 1 STATE = 0

    ARM9_0: GEL Output: Module 13: UART 2 STATE = 0

    ARM9_0: GEL Output: Module 14: MCBSP0 + FIFO STATE = 0

    ARM9_0: GEL Output: Module 15: MCBSP1 + FIFO STATE = 0

    ARM9_0: GEL Output: Module 16: LCDC STATE = 0

    ARM9_0: GEL Output: Module 17: eHRPWM (all) STATE = 0

    ARM9_0: GEL Output: Module 18: MMC/SD 1 STATE = 0

    ARM9_0: GEL Output: Module 19: UPP STATE = 0

    ARM9_0: GEL Output: Module 20: eCAP (all) STATE = 0

    ARM9_0: GEL Output: Module 21: EDMA3 TC2 STATE = 0

    ARM9_0: GEL Output: Module 24: SCR-F0 Br-F0 STATE = 3

    ARM9_0: GEL Output: Module 25: SCR-F1 Br-F1 STATE = 3

    ARM9_0: GEL Output: Module 26: SCR-F2 Br-F2 STATE = 3

    ARM9_0: GEL Output: Module 27: SCR-F6 Br-F3 STATE = 3

    ARM9_0: GEL Output: Module 28: SCR-F7 Br-F4 STATE = 3

    ARM9_0: GEL Output: Module 29: SCR-F8 Br-F5 STATE = 3

    ARM9_0: GEL Output: Module 30: Br-F7 (DDR Contr) STATE = 3

    ARM9_0: GEL Output: Module 31: L3 RAM, SCR-F4, Br-F6 STATE = 3

    I included the debug GEL file in case it helps.

    OMAPL1x_debug.gel

  • Dear William,
    Which board are you using ?
    OMAPL138/AM1808 spectrum digital EVM board or SGI EVM ?
    Can you please attach the screen shot of your complete board (EVM+daughter card) ?

    As I understood from Shankari suggestion, also you need set boot settings on daughter card.
    What I meant is you should not select any other flash mode in daughter card DIP settings.
    I hope you have attached daughter card into your EVM board.
  • I am using the Smart Grid EVM Revision E (TMDSSGI-EVML138). It is the one located here: https://store.ti.com/TMDSSGI-EVML138-Smart-Grid-Infrastructure-Evaluation-Module-SGI-EVM-P2739.aspx

     

    I see the daughter board in the image but I do not have it attached and no one seems to ever remember having one. Can you point out where the dip switches on the daughter board are referenced? They are not in any of the manuals or your wiki entries that I can find.

     

    I was able to successfully flash the LED demo onto the SPI and play the LED demo. When I try the NAND or NOR versions of the LED demo I get nothing. If you can provide me with a reference showing I need the daughter card I can probably justify purchasing another one. Thank you again for all of your help so far!

  • Dear William,
    By looking into SMART GRID wiki pages, NOR flash is not available and not sure whether NOR flash is available on any UI (daughter) card.
    I think, SPI & NAND flash is available on the EVM, tried NANDWriter tool ?

    C:\ti\OMAP-L138_FlashAndBootUtils_2.40\OMAP-L138\CCS\NANDWriter


    processors.wiki.ti.com/.../Running_the_Metrology_Demo_on_the_SGI_EVM
    processors.wiki.ti.com/.../SGI_EVM_Hardware_Manual
    www.ti.com/.../tmdssgi-evml138

    PS: I don't have this EVM to try. Will check with internal team.

  • I am very confused when you say there is no NOR flash. The link you gave me states specifically there is NOR flash:

    Reference 1:

    http://processors.wiki.ti.com/index.php/SGI_EVM_Hardware_Manual

    Table 4, NOR EMIFA is the first dip switch setting for S2.

    If you look at the SGI EVM Hardware Manual (referenced above and the one you linked) it specifically states the PLC daughter card is not included by default. It is marked 'U' on the diagram in the hardware manual. looked at the daughter card drawings and see nothing leading back to the SPI flash or S2 switch. The daughter card (PLC adapter) has jumpers that seem unrelated to the SPI controller.

    U P7 C2000 Power Line Communication (PLC) modem daughter card (NOT INCLUDED)

     

    Reference 2:

    http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slym071&fileType=pdf

    The Smart Grid Solutions Guide (Rev. O), which is listed as the only key document on the SGI EVM page here:

    http://www.ti.com/tool/tmdssgi-evml138?keyMatch=SGI EVM&tisearch=Search-EN-Everything

    also specifically shows NOR flash on the block diagram on page 6.

     

     

     

  • I just received the parts list from Spectrum Digital. There is no parallel NOR flash despite the references in the TI documentation.

    support.spectrumdigital.com/.../SMART_GRID_BML_RevE.pdf

  • Hi William,


    Thanks for confirming that the board doesnot have the NOR flash.


    -------------------