Why i need 2 resets after programming? OlimexJTAG - AT91SAM7

Hello!

I don’t understand why i need to do 2 resets after programming the device (AT91SAM7S256).

For program i type the next commands:

halt
flash erase_sector 0 0 0
flash write_bank 0 main.bin 0
reset
reset

After the first reset, the device says:

JTAG tap: sam7s256.cpu tap/device found: 0x3f0f0f0f (Manufacturer: 0x787, Part: 0xf0f0, Version: 0x3)

JTAG Tap/device matched

target state: halted

target halted in ARM state due to debug-request, current mode: System

cpsr: 0x800000df pc: 0x79dcb88c

And after the second reset:

JTAG tap: sam7s256.cpu tap/device found: 0x3f0f0f0f (Manufacturer: 0x787, Part: 0xf0f0, Version: 0x3)

JTAG Tap/device matched

And the program starts.

Another question:

Does the flash erase_sector 0 0 0 (bank start end), erase all the bank 0?

Best Regards and thank you very much