now flashes BaS again

This commit is contained in:
Markus Fröschle
2014-09-21 13:30:55 +00:00
parent e44e3cf118
commit d913708130

View File

@@ -4,43 +4,10 @@
# #
open $1 open $1
reset reset
sleep 10 sleep 1
wait wait
# Turn on MBAR at 0xFF00_0000
write-ctrl 0x0C0F 0xFF000000
# set VBR
write-ctrl 0x0801 0x00000000
#
# Init CS0 (BootFLASH @ E000_0000 - E07F_FFFF 8Mbytes)
write 0xFF000500 0xE0000000 4
write 0xFF000508 0x00001180 4
write 0xFF000504 0x007F0001 4
# SDRAM Initialization @ 0000_0000 - 1FFF_FFFF 512Mbytes
#write 0xFF000004 0x000002AA 4 # SDRAMDS configuration
#write 0xFF000020 0x0000001A 4 # SDRAM CS0 configuration (128Mbytes 0000_0000 - 07FF_FFFF)
#write 0xFF000024 0x0800001A 4 # SDRAM CS1 configuration (128Mbytes 0800_0000 - 0FFF_FFFF)
#write 0xFF000028 0x1000001A 4 # SDRAM CS2 configuration (128Mbytes 1000_0000 - 17FF_FFFF)
#write 0xFF00002C 0x1800001A 4 # SDRAM CS3 configuration (128Mbytes 1800_0000 - 1FFF_FFFF)
#write 0xFF000108 0x73622830 4 # SDCFG1
#write 0xFF00010C 0x46770000 4 # SDCFG2
#write 0xFF000104 0xE10D0002 4 # SDCR + IPALL
#write 0xFF000100 0x40010000 4 # SDMR (write to LEMR)
#write 0xFF000100 0x048D0000 4 # SDMR (write to LMR)
#sleep 100
#write 0xFF000104 0xE10D0002 4 # SDCR + IPALL
#write 0xFF000104 0xE10D0004 4 # SDCR + IREF (first refresh)
#write 0xFF000104 0xE10D0004 4 # SDCR + IREF (first refresh)
#write 0xFF000100 0x008D0000 4 # SDMR (write to LMR)
#write 0xFF000104 0x710D0F00 4 # SDCR (lock SDMR and enable refresh)
#sleep 10
# use system sdram as flashlib scratch area. # use system sdram as flashlib scratch area.
# TODO: plugin flashing seems to work o.k. now for smaller binaries, while it doesn't for larger ones (EmuTOS) yet. # TODO: plugin flashing seems to work o.k. now for smaller binaries, while it doesn't for larger ones (EmuTOS) yet.
# This seems to be related to large flash buffers and PC-relative adressing of the plugin # This seems to be related to large flash buffers and PC-relative adressing of the plugin
@@ -53,46 +20,34 @@ flash 0xe0000000
# Caution: sector offset numbers need to be the ones from the x16 address range # Caution: sector offset numbers need to be the ones from the x16 address range
# column and they vary in size - needs to be exactly as in the data sheet (p. 9) # column and they vary in size - needs to be exactly as in the data sheet (p. 9)
# #
# contrary to documentation, it seems we need to erase-wait after each sector
erase 0xe0000000 0 erase 0xe0000000 0
erase-wait 0xe0000000
erase 0xe0000000 0x1000 erase 0xe0000000 0x1000
erase-wait 0xe0000000
erase 0xe0000000 0x2000 erase 0xe0000000 0x2000
erase-wait 0xe0000000
erase 0xe0000000 0x3000 erase 0xe0000000 0x3000
erase-wait 0xe0000000
erase 0xe0000000 0x4000 erase 0xe0000000 0x4000
erase-wait 0xe0000000
erase 0xe0000000 0x5000 erase 0xe0000000 0x5000
erase-wait 0xe0000000
erase 0xe0000000 0x6000 erase 0xe0000000 0x6000
erase-wait 0xe0000000
erase 0xe0000000 0x7000 erase 0xe0000000 0x7000
erase-wait 0xe0000000
erase 0xe0000000 0x8000 erase 0xe0000000 0x8000
erase-wait 0xe0000000
erase 0xe0000000 0x10000 erase 0xe0000000 0x10000
erase-wait 0xe0000000
erase 0xe0000000 0x18000 erase 0xe0000000 0x18000
erase-wait 0xe0000000
erase 0xe0000000 0x20000 erase 0xe0000000 0x20000
erase-wait 0xe0000000
erase 0xe0000000 0x28000 erase 0xe0000000 0x28000
erase-wait 0xe0000000
erase 0xe0000000 0x30000 erase 0xe0000000 0x30000
erase-wait 0xe0000000
erase 0xe0000000 0x38000 erase 0xe0000000 0x38000
erase-wait 0xe0000000
erase 0xe0000000 0x40000 erase 0xe0000000 0x40000
erase-wait 0xe0000000
erase 0xe0000000 0x48000 erase 0xe0000000 0x48000
erase-wait 0xe0000000
erase 0xe0000000 0x50000 erase 0xe0000000 0x50000
erase-wait 0xe0000000
erase 0xe0000000 0x58000 erase 0xe0000000 0x58000
erase 0xe0000000 0x60000
erase 0xe0000000 0x70000
erase 0xe0000000 0x78000
erase-wait 0xe0000000 erase-wait 0xe0000000
# should now have erased from 0xe0000000 to 0xe00fffff
dump-mem 0xe0010000 0x20 b
load -v ../firebee/bas.elf load -v ../firebee/bas.elf
wait wait