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.

Boot for DSP application

Hi,

To experiment with booting a simple DSP on L138, I followed the TI example with a blinking LED applied to a custom board. This application includes a arm boot and a DSP application. I tried unsuccessfully to flash data in 2 ways.

TEST 1

First I changed the NAND write (version 03.20.00.14) provided by the PSP. Changes included timing for DDR, UART num (I am using UART 2) and checked the NAND settings. The NAND device is ONFI compliant and I can see the NAND Writer reads the right data from the device. I am running the NAND writer through CCS4.2 with no much problem.

I am generating from the arm boot and the DSP application .out files a AIS .h file from AISGen (I choose ARM application).

The silicon device ID is 2 and the boot rev is D800k006. I have read those rev on the L138 through JTAG.

I have set up AIS Gen with PLL settings (0 and 1), PSC, DDR, NAND, Pinmux, Enable CRC. My crystal is 24Mhz..

I am programming successuflly the NAND device with the AIS binary include as .h file in the NAND writer that verifies that writing is good.

When I start the board in NAND boot, and connect with JTAG with no GEL other than the debug one that reads the ROM status. I am getting a Peripheral Open Failed which means the the L138 has failed to load the code. So I am thinking I might have an issue with ECC layout as reported in a post. I have read the forum intensively and did not find a simple way to change the layout of the NAND writer. So from that, I decided to change strategy and use the SFH for L138.

Also I am able to see that no register has been set (PLL, PSC, Pinmux,...). So the RBL failed to load the arm boot and the dsp application.

TEST 2

I managed to download the Serial Flasher source code and update/compile the source code to adapt to the custom board. I am using using Cygwin with link to CS compiler and TI compiler. I have set up PLLs (0 and 1), PSC, DDR, NAND, Pinmux, UART num to match the custom hardware.

When I run the  newly compiled SFH with the .bin generated by AIS gen including the arm boot and the dsp application, I am able to connect to the DSP that is configured in UART2 boot. I can see some AIS files dowloaded successfully, and then I am getting the "Wait For SFT" message and nothing happens. I have read the forum again intensively to try to understand the problem. I purchased the gigware usb-to-serial converter as mentioned in one post. But nothing made a difference.

After a "wait for SFT" notice, I connected with JTAG to the board and read some registers. I have seen something weird. the settings of the DDR2 are correct except one register (0xB0000008) which holds a different value than the one I set in the source code of SFH.

Also I noticed the Pinmux are not setup as it should be. They are all at 0 except the one for TX2 and RXD2.

So why does the SFH not set correctly the hardware configuration?

I know the hardware configuration is good (PLL, PSC, DDR2, NAND, Pinmux) since I have been running in debug for months with no problem. I can run code from the DDR2 and can write anything into NAND and read back.

Is there anyone who can give me some light on how to get out of the tunnel.

Thank you

KB