Atmel application note AT07175 (as below) indicated that the starting writing address of application is 0x2000 when both USB and UART interfaces are enabled or 0x1000 when either USB or UART is enabled.
Sadly I got an error as "Writing to the monitor area is forbidden, write operation aborted" in SAM-BA 2.16.
The bootloader we used is provided by Atmel (as below) and the test code is also okay.
It finally wrote successfully when I changed the started application writing to 0x6000.
It really confused me so much. May anyone know the reason? Thanks.