The following steps are followed for SPI boot programming.
- 1. BOOT File creation
- Copied .out file from project , renamed as led_play.out… then bat file is run.
All the exe’ s are in current folder.. Bat file contents are….
hex6x led_play.rmd
b2i2c led_play.btbl led_play.btbl.i2c
b2ccs led_play.btbl.i2c led_play.i2c.ccs
romparse nysh.spi.map
The contents of RMD file is……………….
led_play.out
-a
-boot
-e _c_int00
ROMS
{
ROM1: org = 0x0C000000, length = 0x100000, memwidth = 32, romwidth = 32
files = {led_play.btbl }
}
The contents of nysh.spi.map are…..
section {
boot_mode = 50
param_index = 0
options = 1
core_freq_mhz = 1000
exe_file = "led_play.i2c.ccs"
next_dev_addr_ext = 0x0
sw_pll_prediv = 5
sw_pll_mult = 32
sw_pll_postdiv = 2
sw_pll_flags = 1
addr_width = 24
n_pins = 4
csel = 0
mode = 0
c2t_delay = 0
bus_freq_mhz = 0
bus_freq_khz = 500
}
- Then the contents of i2crom.ccs is 51 changed to 00..
1651 1 10000 1 44bf
0x00500000
0x00320000
0x40200002
0x00010018
0x00040000
0x00000000
0x03e80000
0x01f40000
0x04000000
Contents of app.dat is ….
1651 1 10000 1 44bf
0x00005000
0x00003200
0x02002040
0x18000100
0x00000400
0x00000000
0x0000e803
0x0000f401
0x00000004
0x00000000
- Then bat file two is run… the contents are…
copy i2crom.ccs spirom_le.dat
byteswapccs i2crom.ccs spirom_le_swap.dat
copy spirom_le_swap.dat app.dat
ccs2bin i2crom.ccs spirom_le.bin
ccs2bin -swap i2crom.ccs spirom_le.swap.bin
- 2. Loading Boot file to SPI flash
- The app.dat file is coped to NOR Writter bin folder..
- Loaded data to 0x8000000 location.. Use file header information is checked…
The out put of programmer is ….
- 3. Chang boot setting to SPI and power ON..
The Boot settings are..
-- little indian
-- CHANGED BOOT CONTROLS TO SPI MODE...
DSP_GPIO(0) <= RD_INTRPT_Sig when DSP_EMIF_STAT ='1' else '1'; -- to send interrupt every
--boot mode controls...SPI BOOT
DSP_GPIO(3 downto 1) <= "110" when mon_sel(3) ='1' else "000"; --SPI
DSP_GPIO(7 downto 4) <= "0000"; --parameter table
DSP_GPIO(9 downto 8) <= "01" ; -- CS0
DSP_GPIO(10) <= '1';-- 1 24 BIT
DSP_GPIO(11) <= '0'; -- 4bit io
DSP_GPIO(13 downto 12) <= "00";--RISNG EDGE
DSP_GPIO(15 downto 14) <= "00";
But Still Processor is NOT BOOTING…in SPI Mode…
Observed.. SPI memeory pins.. SPI clock is coming to SPI NOR ..SPI_DIN low always, SPI_CS is High always..
Does I am Missing anything?
M.Ashok