TI E2E Community (Beta)
Welcome to the TI E2E (Engineer-to-Engineer) Community! We invite you to freely and openly interact with your peer Engineers, TI Engineers, and other experts in order to ask questions, share knowledge, explore ideas, and help solve problems.
More Search Options

Burning Flash using CCS

rated by 0 users
Not Answered This post has 0 verified answers | 35 Replies | 3 Followers

Top 200 Contributor
39 Posts
Community Member
patki.onkar posted on 11 Jun 2009 8:58 AM

I am using CCS3.3. In this version of CCS, Flash Burn Utility is not available.

In my my system I am having DM6467 and a nor flash.

I do not have OS running on this board so I guess I will not be able to burn the flash via UART.

 

What is the way to burn the flash in this case ?

 

Regards,

Onkar

All Replies

Top 200 Contributor
39 Posts
Community Member

Hi Juan,

I wanted to ask another question. The external switch that is being used to select the boot modes are connected via 4K7 resistors to 3.3V in our circuit. Does the value of this pullup/pull-down resistor affect the manner in which DSP processor recognize the boot mode?

If yes, what will be a more appropriate value? Something around 1K or 2.2K?

Regards,

Onkar

Top 200 Contributor
39 Posts
Community Member

Hi Juan & Bernie,

Thanks for your help.

I have finally managed to get the BOOTME message from DM6467 in UART boot mode.

Now, I am planning to boot via a NOR flash on my board. Assuming that my NOR flash is compatible with the one on DVEVM6446, here are the steps which I am thinking to follow-

1. Grab a copy of u-boot for DM6467.

2. Replace the NAND flash file and its corresponding functions and accessories with NOR flash file and functions from the u-boot for DM6446.

3. Recompile the U-boot and use it for bootloading Linux kernel image.

I just wanted to confirm whether these steps would ensure successful bootloading or whether I shall have to undergo any more steps.

Secondly, is there a source code available directly for U-Boot with NOR flash for DM6467?

Thanks and Regards,

Onkar

Top 10 Contributor
2,298 Posts
Texas Instruments Employee

patki.onkar:
I have finally managed to get the BOOTME message from DM6467 in UART boot mode.

I am glad to hear you got it working, but I am curious what you had to do to fix it?

patki.onkar:
I just wanted to confirm whether these steps would ensure successful bootloading or whether I shall have to undergo any more steps.

This sounds about right, though it may be worth seeing if you can get the existing NAND based U-Boot to boot out of NOR for starters, I expect it will function up until the point you need to actually write something back to the NOR (i.e. saveenv and memory operations will fail if they try to write to a non existant NAND).

patki.onkar:
Secondly, is there a source code available directly for U-Boot with NOR flash for DM6467?

I have not come across one, but I suspect the code from the DM644x will port fairly easily to the DM6467.

Top 200 Contributor
39 Posts
Community Member

Hi..

Thanks for reply.

The NAND FLASH used on EVM6467 is 128MBytes while NOR FLASH we have used is 16MB- similar to EVM6446 board.

So will I require corresponding modifications is paging/memory block mapping etc?

 

Regards,

Onkar

Top 10 Contributor
2,298 Posts
Texas Instruments Employee

patki.onkar:

The NAND FLASH used on EVM6467 is 128MBytes while NOR FLASH we have used is 16MB- similar to EVM6446 board.

So will I require corresponding modifications is paging/memory block mapping etc?

Certainly, the accesses to NOR flash are entirely different from the NAND flash, from a reading perspective the NOR just shows up as a flat memory space in your memory map so no block issues are present for reads, the blocks come into play when you write/erase the NOR, and that will certainly be different from the implementation used on the DM6467's NAND.

Top 200 Contributor
39 Posts
Community Member

Hi Bernie,

 

I tried loading bootloader available for DM646X- which is for nand flash with command---

sfh_DM646x.exe -norflash -v ubl_dm646x_297.bin uboot.bin

With this command, it shows erasing of NOR is done, but this hangs at the time of writing into NOR flash.

 

So I think I have to modify DM646x uboot for NORFLASH using the procedure mentioned previously.

 

Regards,

Onkar

Top 10 Contributor
2,559 Posts
Texas Instruments Employee

Onkar,

There should be only one line you need to change in u-boot and rebuild it for NOR flash.  It has been a while since I have done this, but there should be a file under

   .../uboot/include/configs/davinci.h   (davinci.h is used for DM644x, make sure there is not a different file for DM6467)

edit the following line in this file (should be near the top of the file)

#define CFG_ENV_IS_IN_FLASH 1

When this variable is set to 1, u-boot will be built for NOR flash, when this line is commented out (or set to 0), it will build for NAND flash.

 

Top 200 Contributor
39 Posts
Community Member

Hi Juan,

 

Thanks for reply. We are trying the same thing and trying to build the makefile in linux environment, but it is giving many errors such as "no such file or directory" for the header files included.

So we need make any changes in folder structure while building the make file ?

 

Regards,

Onkar

Top 10 Contributor
2,559 Posts
Texas Instruments Employee

no changes in folder structure should be necessary. To build u-boot, you need to go to u-boot root directory and type

host % make mrproper

host % make davinci_config     (should be different for DM6467)

host % make

You should be able to build u-boot without any source code modifications; then change that one line of code as suggested in my previous post (may not be necessary as u-boot default is NOR flash).

Top 200 Contributor
39 Posts
Community Member

Hi,

 

We are working on same. Just wanted to confirm the version of u-boot.

We are working with u-boot-1.2.0. Will it do or we need to go for some another/latest version of u-boot?

Regards,

Onkar

Top 200 Contributor
39 Posts
Community Member

Hi Juan,

I followed the steps suggested by you in the previous post, and was successful in generating u-boot.bin for the NOR flash with DM6467.

Then in command prompt, I typed the following commands using DM646X Boot Flash utility

sfh_dm646x.exe -norerase

The NOR Flash got erased successfully.

Then I typed

sfh_dm646x.exe -norflash -v ubl_dm646x_nor.bin u-boot.bin (where u-boot.bin) is the newly built file)

The operation proceeds successfully till the steps

########################################################################################

-----------------------------------------------------
   TI Serial Flasher Host Program for DM646x
   (C) 2009, Texas Instruments, Inc.
   Ver. 1.50
-----------------------------------------------------


Platform is Windows.
Flashing NOR with ubl_dm646x_nor.bin and u-boot.bin.


Attempting to connect to device COM1...
Press any key to end this program at any time.


Waiting for the DM646x...
        Target:  BOOTME
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received. Sending CRC table...
 100% [                                                              ]
                           CRC table sent....



Waiting for DONE...
        Target:    DONE
DONE received.  Sending the UBL...
 100% [                                                              ]
                              UBL sent....


        Target:    DONE
DONE received.  UBL was accepted.
UBL transmitted successfully.


Waiting for SFT on the DM646x...
        Target: Starting UART Boot...
        Target: BOOTUBL
BOOTUBL commmand received. Returning CMD and command...
CMD value sent.  Waiting for DONE...
        Target:    DONE
DONE received. Command was accepted.
Sending the UBL image
Waiting for SENDIMG sequence...
        Target: CFI Query...passed.
        Target: NOR Initialization:
        Target:         Command Set: AMD
        Target:         Manufacturer: AMD
        Target:         Size: 0x00000010 MB
        Target: SENDIMG
SENDIMG received. Returning ACK and header for image data...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received.
 100% [                                                              ]
                           Image data sent...


Waiting for DONE...
        Target:    DONE
DONE received.  All bytes of image data received...
        Target: Erasing the NOR Flash
        Target: Erased through 0x42020000
        Target: Erase Completed
        Target: Writing UBL to NOR flash
        Target: Writing the NOR Flash

And after this step, NOTHING

The program just hangs until I abort it.

Am I going wrong somewhere or whether I am missing any steps?

Thanks,

Onkar

Top 200 Contributor
39 Posts
Community Member

Hi,

I solved the problem, seems my switch settings were incorrect.

Thanks,

Onkar

Top 200 Contributor
39 Posts
Community Member

 

Hi,

I am facing another problem .

AFter burning the NOR flash with u-boot, I get the following series of messages

-----------------------------------------------------
   TI Serial Flasher Host Program for DM646x
   (C) 2009, Texas Instruments, Inc.
   Ver. 1.50
-----------------------------------------------------


Platform is Windows.
Flashing NOR with ubl_DM646x_nor.bin and u-boot.bin.


Attempting to connect to device COM1...
Press any key to end this program at any time.


Waiting for the DM646x...
        Target:  BOOTME
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received. Sending CRC table...
 100% [                                                              ]
                           CRC table sent....



Waiting for DONE...
        Target:    DONE
DONE received.  Sending the UBL...
 100% [                                                              ]
                              UBL sent....


        Target:    DONE
DONE received.  UBL was accepted.
UBL transmitted successfully.


Waiting for SFT on the DM646x...
        Target: Starting UART Boot...
        Target: BOOTUBL
BOOTUBL commmand received. Returning CMD and command...
CMD value sent.  Waiting for DONE...
        Target:    DONE
DONE received. Command was accepted.
Sending the UBL image
Waiting for SENDIMG sequence...
        Target: CFI Query...passed.
        Target: NOR Initialization:
        Target:         Command Set: AMD
        Target:         Manufacturer: AMD
        Target:         Size: 0x00000010 MB
        Target: SENDIMG
SENDIMG received. Returning ACK and header for image data...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received.
 100% [                                                              ]
                           Image data sent...


Waiting for DONE...
        Target:    DONE
DONE received.  All bytes of image data received...
        Target: Erasing the NOR Flash
        Target: Erased through 0x42020000
        Target: Erase Completed
        Target: Writing UBL to NOR flash
        Target: Writing the NOR Flash
        Target: NOR Write OK through 0x42002C08.
        Target:    DONE
Sending the Application image
Waiting for SENDIMG sequence...
        Target: SENDIMG
SENDIMG received. Returning ACK and header for image data...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received.
 100% [                                                              ]
                           Image data sent...


Waiting for DONE...
        Target:    DONE
DONE received.  All bytes of image data received...
        Target: Erasing the NOR Flash
        Target: Erased through 0x42040000
        Target: Erase Completed
        Target: Writing APP to NOR flash
        Target: Writing the NOR Flash
        Target: NOR Write OK through 0x42020010.
        Target: Writing the NOR Flash
        Target: NOR Write OK through 0x42028000.
        Target: NOR Write OK through 0x42030000.
        Target: NOR Write OK through 0x42038000.
        Target: NOR Write OK through 0x420383F0.
        Target:    DONE
        Target:    DONE

Operation completed successfully.

I am however skeptical about the addresses in BOLD above.

AFter shifting to NOR Boot mode, I get BOOTME message continuously on Hyperterminal as if no u-boot has been loaded.

Can someone point out whether I am missing something?

Thanks and Regards,

Onkar

 

Top 200 Contributor
39 Posts
Community Member

Hi,

One more thing, I am also trying to use serial boot loader utility and still not able to load kernel image in DDR. So I guess I am going somewhere wrong in using this utility.

Steps I am following are as follows

1.

slh_dm646x.exe  -load2DDR UBL_DM646x_NOR.bin

2.

slh_dm646x.exe -load2DDR -startADDR 0x80200000 u-boot.bin

3.
slh_dm646x.exe -load2DDR -startADDR 0x81000000 uImage

---------------- in this whole process my jumper settings are 1000- UART MODE

After doing this I just get BOOTME on hyperterminal.
Am I going wrong somewhere (may be in jumper setting/ sequence of instructions/ addr etc) ?

Regards,
Onkar


Top 200 Contributor
39 Posts
Community Member

Hi,

Adding to the previous post, after burning the NOR flash, I am getting the message as "Operation completed successfully". Then when I power-cycle the board, I get BOOTME message continuously on HyperTerminal. ( while still being in UART mode )

When I change to NOR boot mode, the BOOTME messages stop, but I dont get any additional data on hyperterminal indicating that U-Boot is getting loaded.

When I check Chip Select, R/W signal and data lines on NOR Flash, I get data signals on CRO, indicating that data is being read from NOR flash, (on RESET). But I dont get any data on hyperterminal.

Is this a problem related to UBL header or U-Boot address? Or is it something else?

I am using SPANSION S29GL128P90TFIR2 NOR FLash.

Thanks and Regards,

Onkar

 

Page 2 of 3 (36 items) < Previous 1 2 3 Next > |

ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". TI AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY TI. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.