Aunque el tema está cerrado y no tenga nada que ver con la duda, he visto en tu script que has puesto "#dynamic 0x80000", pero deberías poner "#dynamic 0x800000", con un 0 más. La razón es que la parte en la que se compilaría con el primero, contiene muchísimos datos del rom y es peligroso compilar ahí. En cambio, en la parte que compilaría con el segundo sólo hay espacio libre, con lo cual, no resulta peligroso compilar ahí.