#!/usr/local/bin/bdmctrl -D2 # # firebee board initialization for bdmctrl # open $1 reset sleep 1 wait # 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. # This seems to be related to large flash buffers and PC-relative adressing of the plugin # flash-plugin 0x1000 0xf000 flash29.plugin # notify flashlib that we have flash at address 0xE0000000, length 0x7FFFFF, plugin is flash29 flash 0xe0000000 # Erase flash from 0xE0000000 to 0xE00FFFFF (reserved space for BaS) # # 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) # erase 0xe0000000 0 erase-wait 0xe0000000 erase 0xe0000000 0x1000 erase-wait 0xe0000000 erase 0xe0000000 0x2000 erase-wait 0xe0000000 erase 0xe0000000 0x3000 erase-wait 0xe0000000 erase 0xe0000000 0x4000 erase-wait 0xe0000000 erase 0xe0000000 0x5000 erase-wait 0xe0000000 erase 0xe0000000 0x6000 erase-wait 0xe0000000 erase 0xe0000000 0x7000 erase-wait 0xe0000000 erase 0xe0000000 0x8000 erase-wait 0xe0000000 erase 0xe0000000 0x10000 erase-wait 0xe0000000 erase 0xe0000000 0x18000 erase-wait 0xe0000000 erase 0xe0000000 0x20000 erase-wait 0xe0000000 erase 0xe0000000 0x28000 erase-wait 0xe0000000 erase 0xe0000000 0x30000 erase-wait 0xe0000000 erase 0xe0000000 0x38000 erase-wait 0xe0000000 erase 0xe0000000 0x40000 erase-wait 0xe0000000 erase 0xe0000000 0x48000 erase-wait 0xe0000000 erase 0xe0000000 0x50000 erase-wait 0xe0000000 erase 0xe0000000 0x58000 erase-wait 0xe0000000 erase 0xe0000000 0x60000 erase-wait 0xe0000000 erase 0xe0000000 0x70000 erase-wait 0xe0000000 erase 0xe0000000 0x78000 erase-wait 0xe0000000 # should now have erased from 0xe0000000 to 0xe00fffff dump-mem 0xe0010000 0x20 b load -v ../firebee/bas.elf wait