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.
Hi, all
Environment description:Evm C6670, no IBL not EVM, boot from spi directly, the norflash is connected to the DSP via CS0. The norflash can read and write correctly.
1)Here is my .bat file and .rmd file. And after that, I can get a spirom_le.swap.bin file and burn it to 0x000000 of norflash via SPI. I hope someone can tell me if I'm doing right.
runscript.bat
..\utilities\hex6x -order L ..\utilities\boot_script.rmd bootcode.out
..\utilities\b2i2c boot_code.btbl boot_code.btbl.i2c
..\utilities\b2ccs boot_code.btbl.i2c boot_code.btbl.i2c.ccs
..\utilities\romparse ..\utilities\spi.map
ren i2crom.ccs spirom.ccs
copy spirom.ccs spirom_le.dat
echo generate the dat file from spirom_dat.ccs
..\utilities\byteswapccs spirom.ccs spirom_le.swap.dat
echo generate 2 bin files from spirom.ccs
..\utilities\ccs2bin spirom.ccs spirom_le.bin
..\utilities\ccs2bin -swap spirom.ccs spirom_le.swap.bin
bootscript.rmd
-a
-boot
-e _c_int00
ROMS
{
ROM1: org = 0x800000, memwidth = 32, romwidth = 32
files = { boot_code.btbl }
}
2)Here is my understanding of boot parameter table(spi.map). Can you check it for me base on your own standing?
section {
param_index = 0
boot_mode = 50
sw_pll_prediv = 1 (Our input clock is 100MHz,. Are these sw_pll settings correct for my digitalboard?)
sw_pll_mult = 20 (100MHz / 1 * 20 / 2 = 1GHz?)
sw_pll_postdiv = 2
sw_pll_flags = 1
options = 1 (What does it mean? Why it is 1 but not 0? According to the users guild, 1 means boot from boot table, and 0 means boot from boot parameter table. Doesn't it ought to boot from boot parameter table, I'm so confuse about this.)
core_freq_mhz = 1000
next_dev_addr_ext = 0x0 (What does this addr mean? Is it 0x0 correct?)
c2t_delay = 0
bus_freq_mhz = 20
bus_freq_khz = 0
addr_width = 24
n_pins = 4
mode = 1
csel = 0
exe_file = "boot_code.btbl.i2c.ccs"
}
3)When the option (in the parameter table) is set to 1, I use oscilloscope to test the norflash pins, I found that the DSP send the read 0x510400 command continuously(like endless loop) .The MISO pin send the four bytes in 0x510400 continuously(like endless loop) , it is all 0Xff and the value is correct.
When the option is set to 1, it shows the same performence but the read address is 0x000000, and the four bytes value of 0x000000 is 0x00000500.
This is what I can't quite understand at all.Why doesn't it read the next addr after finish reading the current address value.I have no idea about that, maybe I have do someting wrong and I don't take notice of it.
Can you tell me something about these questions in your opinion or anything you can suggest me to do? Thank you.
Best Regards,
Karlphy