Recientemente instalé Atmel Studio 6 y actualicé un proyecto que tenía que recrearlo manualmente, así que pensé en documentar el proceso, incluido el uso de un AVR Dragon. El primer paso fue crear un nuevo proyecto y como mi código era C ++, seleccioné GCC C++ Executable Project
:
Elsiguientepasoeslaseleccióndedispositivos,seproporcionaunserviciodebúsquedaqueguardalaseleccióndetodalalistadedispositivos:
El siguiente paso requerido para la mayoría de los proyectos es definir la frecuencia de la CPU. Ingresé a Project | Properties
y fui a la pestaña de símbolos del compilador que estoy usando, en este caso C ++. Allí definí F_CPU presionando el botón Agregar y escribiendo F_CPU=11059200
para adaptarlo al crysyal que estoy usando. Una vez hecho esto, la pantalla tiene el siguiente aspecto (tenga en cuenta que corregí el valor después de tomar la captura de pantalla, faltaba un cero):
Enlamismaárea,puedeiralapestañadeherramientasydefinireltipodedepurador/programadorylainterfaz.Enmicaso,estabausandolainterfazJTAG,aparecerándiferentesopcionessiseusaISP,perolosvalorespredeterminadosnormalmentesoncorrectos.
Una vez que se haya guardado, puedes hacer clic en el ícono de programación del dispositivo en la barra de herramientas o presionar Ctrl + Shift + P
para acceder a la pantalla de programación del dispositivo.
Unavezquehayaconfirmadolaherramienta,eldispositivoylainterfazcorrectosseleccionados,puedepresionarelbotónAplicarparaconectarse.EsprobablequeelAVRDragonrequieraunaactualizacióndefirmwareparaquefuncione,porlotanto,presioneelbotóndeactualizaciónsiselesolicitaquelohagayespereaquesecompletelaactualización.
Una vez conectado, podrá leer la firma del dispositivo y el voltaje objetivo para confirmar que la conexión con el objetivo está bien. También puede programar varias memorias, bits de bloqueo y bits de bloqueo desde la misma pantalla.
Sinembargo,unavezquehayaconfiguradolosbitsdeconfiguración,puedequeleresultemásconvenienteusarelbotóndeiniciosindepuraciónenlabarradeherramientasparainiciarelproyecto.Esogeneraráautomáticamenteelproyectosiesnecesario,programaráeldispositivoeiniciaráelprograma.