Necesito programar atmega 328p en C y luego devolverlo a arduino

hola necesito ayuda de como puedo programar el microcontrolador atmega328p que trae el arduino uno en lenguaje C yo pensaba quitar el micro de la placa arduino y colocarla en un protoboard generar un .hex con el Atmel Studio y luego cargárselo directamente sin la placa arduino al micro con un programador USBasp pero dicen que si lo hago de esa forma borraría la configuración para que el microcontrolador funcione con el IDE de arduino y cargarlo de manera habitual asi que quiero saber si hay alguna forma de programar en C ya sea desde la placa arduino uno sin quitar la configuración o programarlo con otro IDE en C generando el hex y cargándolo aparte y después devolver el micro a como estaba antes para poder usar librerías arduino y demas

PROBA, IGUAL LUEGO LE PODES CARGAR DE NUEVO LA CONFIGURACION PARA QUE FUNCIONE CON EL ARDUINO. O SI NO TE COMPRAS OTRO Y LISTO.

Hola, no es necesario complicarse mucho, ni siquiera requerís retirar el Atmega del prototipo Arduino, se puede hacer empleando el "bootloader" nativo de arduino y compilar en C empleando los archivos que acompañan al IDE de arduino, esto es el avr-gcc y avrdude (tampoco hará falta el AVR Studio).

Yo lo hice bajo linux, nunca pude hacer que funcione en WinGate, como que se pierden las variables de entorno / caminos y esas yerbas....

Lo que sí en tu programa C, no podes emplear otros "fuses" que no sean los mísmos que el bootloader, pero eso es típico de una programación ISP, capizca?

Toda la info la supe leer en;

PD:
IRRA querido, seguis con el teclado bloqueado en modo mayúscula? sonas irritante.

Podrías indicarme los pasos que debo seguir y lo que debo de descargar para poder hacerlo es que no me queda muy claro y quisiera solo alguna guía algo como descarga avr gcc de aquí ese es para crear el hex y para pasarlo a arduino es así espero que contestes y gracias