Hello,
HW : custom board with TMS320C6654 and 16-bit parallel NOR FLASH
I’ve generated a very simple CCS project which makes ON few LED’s on board. This code runs fine once loaded & executed by TI emulator.
My next required step is to convert the compiler generated file .OUT to binary bootable file for 16-bit NOR FLASH.
To do it, I’m using TI provided utilities as following :
a) hex6x.exe starc_hex6x.cmd
b) bconvert64x -le flash_boot.btbl flash_boot.btbl.bcv64x
c) b2i2c flash_boot.btbl.bcv64x flash_boot.btbl.bcv64x.i2c
d) b2ccs flash_boot.btbl.bcv64x.i2c flash_boot.btbl.bcv64x.i2c.ccs
e) romparse flash_boot_romparse.map
f) ccs2bin -swap i2crom.ccs flash_boot.swap.bin
The starc_hex6x.cmd file contains:
/* HEX6X convertion utility command file */
bootloader.out
--ascii /* ASCII output file */
-e _c_int00 /* Standart entry point */
-order L /* Little Endian */
--memwidth=32 /* 32-bit memory */
--map flash_boot.map
--boot /* create boot table */
/*--bootorg=0x78000000 /* external memory boot */
/*--bootsection=.text 0x78000000 /* give boot section & addr */
ROMS
{
FLASH: org=0x40, len=0x20000, romwidth=32, files={flash_boot.btbl}
}
For romparse, I’m using following map file:
section {
boot_mode = 70
param_index = 0
options = 1
core_freq_mhz = 800
exe_file = "flash_boot.btbl.bcv64x.i2c.ccs"
next_dev_addr_ext = 0x0
sw_pll_prediv = 0
sw_pll_mult = 0
sw_pll_postdiv = 0
sw_pll_flags = 0
addr_width = 24
n_pins = 4
csel = 2
mode = 0
c2t_delay = 0
bus_freq_mhz = 0
bus_freq_khz = 500
}
Once my binary is done, I’m programming it to my external FLASH and try to boot from but the result is KO.
(I can see the DSP is starting to load the data from flash but LED is never ON)
To program the Flash, I’m using my home made firmware where at first I’m uploading the binary file to the DDR3 memory and writing to the FLASH.
To check where are no issues concerning byte ordering, the generated binary file I’ve tested 4 times by programming the FLASH with different position of every byte inside the word => B0-B1-B2-B3 => B3-B2-B1-B0 => B1-B0-B3-B2 => B2-B3-B0-B1.
That’s wrong in my procedure?
Attached CCS generated .OUT file and the converted binary file .bin.
Thanks and Regards,