fixed flash scripts (flash sector erase was not correct) which are now all verified and working

This commit is contained in:
Markus Fröschle
2012-12-11 19:56:50 +00:00
parent cb1f1892f9
commit 1359eb10c3
5 changed files with 222 additions and 29 deletions

View File

@@ -72,14 +72,23 @@ flash 0xE0000000
# flash-plugin (target-based flashing) does not work yet # flash-plugin (target-based flashing) does not work yet
#flash-plugin 0x10000000 0x4000 flash29.plugin #flash-plugin 0x10000000 0x4000 flash29.plugin
erase 0xE0000000 0 # Erase flash from 0xE0000000 to 0xE00FFFFF (reserved space for BaS)
erase 0xE0000000 0x1000 #
erase 0xE0000000 0x2000 # Caution: sector offset numbers need to be the ones from the x16 address range
erase 0xE0000000 0x3000 # 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 0x00000
erase-wait 0xE0000000
erase 0xE0000000 0x08000
erase-wait 0xE0000000
erase 0xE0000000 0x10000
erase-wait 0xE0000000
erase 0xE0000000 0x18000
erase-wait 0xE0000000 erase-wait 0xE0000000
load -v bas.elf load -v bas.elf
#load -v ram.elf
wait wait
sleep 100 sleep 100
execute execute

View File

@@ -13,24 +13,44 @@ write 0xFF000504 0x007F0001 4
# notify flashlib that we have flash at address 0xE0000000, length 0x7FFFFF, plugin is flash29 # notify flashlib that we have flash at address 0xE0000000, length 0x7FFFFF, plugin is flash29
flash 0xe0000000 flash 0xe0000000
# flash-plugin (target-based flashing) does not work yet # Erase flash from 0xE0600000 to 0xE06FFFFF (reserved space for EmuTOS)
# flash-plugin 0x10000000 0x4000 flash29.plugin #
# 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)
#
# contrary to documentation, it seems we need to erase-wait after each sector
erase 0xe0000000 0x600000 erase 0xe0000000 0x300000
erase 0xe0000000 0x610000
erase 0xe0000000 0x620000
erase 0xe0000000 0x630000
erase 0xe0000000 0x640000
erase 0xe0000000 0x650000
erase 0xe0000000 0x660000
erase 0xe0000000 0x670000
erase 0xe0000000 0x680000
erase 0xe0000000 0x690000
erase 0xe0000000 0x6a0000
erase 0xe0000000 0x6b0000
erase 0xe0000000 0x6c0000
erase 0xe0000000 0x6d0000
erase 0xe0000000 0x6e0000
erase 0xe0000000 0x6f0000
erase-wait 0xe0000000 erase-wait 0xe0000000
erase 0xe0000000 0x308000
erase-wait 0xe0000000
erase 0xe0000000 0x310000
erase-wait 0xe0000000
erase 0xe0000000 0x318000
erase-wait 0xe0000000
erase 0xe0000000 0x320000
erase-wait 0xe0000000
erase 0xe0000000 0x328000
erase-wait 0xe0000000
erase 0xe0000000 0x330000
erase-wait 0xe0000000
erase 0xe0000000 0x338000
erase-wait 0xe0000000
erase 0xe0000000 0x340000
erase-wait 0xe0000000
erase 0xe0000000 0x348000
erase-wait 0xe0000000
erase 0xe0000000 0x350000
erase-wait 0xe0000000
erase 0xe0000000 0x358000
erase-wait 0xe0000000
erase 0xe0000000 0x360000
erase-wait 0xe0000000
erase 0xe0000000 0x368000
erase-wait 0xe0000000
erase 0xe0000000 0x370000
erase-wait 0xe0000000
erase 0xe0000000 0x378000
erase-wait 0xe0000000
load -v emutosfb.elf load -v emutosfb.elf

View File

@@ -16,7 +16,44 @@ flash 0xe0000000
# flash-plugin (target-based flashing) does not work yet # flash-plugin (target-based flashing) does not work yet
# flash-plugin 0x10000000 0x4000 flash29.plugin # flash-plugin 0x10000000 0x4000 flash29.plugin
# Erase flash from 0xE0400000 to 0xE04FFFFF (reserved space for FireTOS)
#
# 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)
#
# contrary to documentation, it seems we need to erase-wait after each sector # contrary to documentation, it seems we need to erase-wait after each sector
#erase 0xe0000000 -1
#erase-wait 0xe0000000 erase 0xe0000000 0x200000
erase-wait 0xe0000000
erase 0xe0000000 0x208000
erase-wait 0xe0000000
erase 0xe0000000 0x210000
erase-wait 0xe0000000
erase 0xe0000000 0x218000
erase-wait 0xe0000000
erase 0xe0000000 0x220000
erase-wait 0xe0000000
erase 0xe0000000 0x228000
erase-wait 0xe0000000
erase 0xe0000000 0x230000
erase-wait 0xe0000000
erase 0xe0000000 0x238000
erase-wait 0xe0000000
erase 0xe0000000 0x240000
erase-wait 0xe0000000
erase 0xe0000000 0x248000
erase-wait 0xe0000000
erase 0xe0000000 0x250000
erase-wait 0xe0000000
erase 0xe0000000 0x258000
erase-wait 0xe0000000
erase 0xe0000000 0x260000
erase-wait 0xe0000000
erase 0xe0000000 0x268000
erase-wait 0xe0000000
erase 0xe0000000 0x270000
erase-wait 0xe0000000
erase 0xe0000000 0x278000
erase-wait 0xe0000000
load -v firetos.elf load -v firetos.elf

View File

@@ -3,7 +3,7 @@
# firebee board initialization for bdmctrl # firebee board initialization for bdmctrl
# #
open $1 open $1
reset #reset
# Init CS0 (BootFLASH @ E000_0000 - E07F_FFFF 8Mbytes) # Init CS0 (BootFLASH @ E000_0000 - E07F_FFFF 8Mbytes)
write 0xFF000500 0xE0000000 4 write 0xFF000500 0xE0000000 4
@@ -14,9 +14,64 @@ write 0xFF000504 0x007F0001 4
flash 0xe0000000 flash 0xe0000000
# flash-plugin (target-based flashing) does not work yet # flash-plugin (target-based flashing) does not work yet
# flash-plugin 0x10000000 0x4000 flash29.plugin #flash-plugin 0x10000000 0x4000 flash29.plugin
# Erase flash from 0xE0700000 to 0xE07FFFFF (reserved space for FPGA)
#
# 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)
#
# contrary to documentation, it seems we need to erase-wait after each sector # contrary to documentation, it seems we need to erase-wait after each sector
#erase 0xe0000000 -1
#erase-wait 0xe0000000 erase 0xe0000000 0x380000
erase-wait 0xe0000000
erase 0xe0000000 0x388000
erase-wait 0xe0000000
erase 0xe0000000 0x390000
erase-wait 0xe0000000
erase 0xe0000000 0x398000
erase-wait 0xe0000000
erase 0xe0000000 0x3A0000
erase-wait 0xe0000000
erase 0xe0000000 0x3A0000
erase-wait 0xe0000000
erase 0xe0000000 0x3A8000
erase-wait 0xe0000000
erase 0xe0000000 0x3B0000
erase-wait 0xe0000000
erase 0xe0000000 0x3B8000
erase-wait 0xe0000000
erase 0xe0000000 0x3C0000
erase-wait 0xe0000000
erase 0xe0000000 0x3C8000
erase-wait 0xe0000000
erase 0xe0000000 0x3D0000
erase-wait 0xe0000000
erase 0xe0000000 0x3D8000
erase-wait 0xe0000000
erase 0xe0000000 0x3E0000
erase-wait 0xe0000000
erase 0xe0000000 0x3E8000
erase-wait 0xe0000000
erase 0xe0000000 0x3F0000
erase-wait 0xe0000000
erase 0xe0000000 0x3F8000
erase-wait 0xe0000000
erase 0xe0000000 0x3F9000
erase-wait 0xe0000000
erase 0xe0000000 0x3FA000
erase-wait 0xe0000000
erase 0xe0000000 0x3FB000
erase-wait 0xe0000000
erase 0xe0000000 0x3FC000
erase-wait 0xe0000000
erase 0xe0000000 0x3FD000
erase-wait 0xe0000000
erase 0xe0000000 0x3FE000
erase-wait 0xe0000000
erase 0xe0000000 0x3FF000
erase-wait 0xe0000000
wait
load -v FPGA.elf load -v FPGA.elf

72
SD_CARD/BaS_gcc/run_bas.bdm Executable file
View File

@@ -0,0 +1,72 @@
#!/usr/local/bin/bdmctrl -D2
#
# firebee board initialization for bdmctrl
#
open $1
reset
sleep 10
wait
# set VBR
#write-ctrl 0x0801 0x00000000
sleep 10
# Turn on MBAR at 0xFF00_0000
write-ctrl 0x0C0F 0xFF000000
# Turn on MMUBAR at 0xFF04_0000
write-ctrl 0x0008 0xFF040001
# Turn on RAMBAR0 at address FF10_0000
write-ctrl 0x0C04 0xFF100007
sleep 10
# Turn on RAMBAR1 at address FF10_1000
write-ctrl 0x0C05 0xFF101001
sleep 10
# Init CS0 (BootFLASH @ E000_0000 - E07F_FFFF 8Mbytes)
write 0xFF000500 0xE0000000 4
write 0xFF000508 0x00001180 4
write 0xFF000504 0x007F0001 4
# Init CS1 (Atari I/O address range)
write 0xFF00050C 0xFFF00000 4
write 0xFF000514 0x00002180 4
write 0xFF000510 0x000F0001 4
# Init CS2 (FireBee 32 bit I/O address range)
write 0xFF000518 0xF0000000 4
write 0xFF000520 0x00002100 4
write 0xFF00051C 0x07FF0001 4
# Init CS3 (FireBee 16 bit I/O address range)
write 0xFF000524 0xF8000000 4
write 0xFF00052C 0x00000180 4
write 0xFF000528 0x03FF0001 4
# Init CS4 (FireBee video address range)
write 0xFF000530 0x40000000 4
write 0xFF000538 0x00000018 4
write 0xFF000534 0x003F0001 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)
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)
write 0xFF000240 0x80000000 4 # disable watchdog arbiter
load -v ram.elf
wait
sleep 100
execute