67 lines
2.0 KiB
Plaintext
Executable File
67 lines
2.0 KiB
Plaintext
Executable File
#!/usr/local/bin/bdmctrl -D2
|
|
#
|
|
# flash EmuTOS using bdmctrl
|
|
#
|
|
open $1
|
|
reset
|
|
|
|
# Turn on RAMBAR0 at address FF10_0000
|
|
write-ctrl 0x0C04 0xFF100007
|
|
|
|
# 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 sram as flashlib scratch area
|
|
# flashing EmuTOS with plugin does not work yet (at least not for 64bit hosts)
|
|
#flash-plugin 0xFF101000 0xffff flashintelc3.plugin
|
|
|
|
# notify flashlib that we have flash at address 0xE0000000, length 0x7FFFFF, plugin is flash29
|
|
flash 0xe0000000
|
|
|
|
# Erase flash from 0xE0100000 to 0xE01FFFFF (reserved space for EmuTOS on the m5484lite)
|
|
|
|
erase 0xe0000000 21
|
|
erase 0xe0000000 22
|
|
erase 0xe0000000 23
|
|
erase 0xe0000000 24
|
|
erase 0xe0000000 25
|
|
erase 0xe0000000 26
|
|
erase 0xe0000000 27
|
|
erase 0xe0000000 28
|
|
erase 0xe0000000 29
|
|
erase 0xe0000000 30
|
|
erase 0xe0000000 31
|
|
erase 0xe0000000 32
|
|
erase 0xe0000000 33
|
|
erase 0xe0000000 34
|
|
erase 0xe0000000 35
|
|
erase 0xe0000000 36
|
|
erase 0xe0000000 37
|
|
erase 0xe0000000 38
|
|
erase 0xe0000000 39
|
|
|
|
load -v ../../emutos/emutos-m548x_bas.elf
|