Autor Tema: Programar firmware de arduino directamente desde el icsp  (Leído 4471 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Programar firmware de arduino directamente desde el icsp
« en: 01 de Septiembre de 2017, 20:29:09 »
Hola buen dia, disculpen, soy nuevo en esta plataforma de Arduino, hicimos un pequeño proyecto en el cual se comunica mediante modbus a un dispositivo y manda informacion via GSM, en nuestra maqueta con el hardware de desarrollo Arduino UNO funciono muy bien, pero hice el primer prototipo y no puedo buscar la forma de programarlo, ya que el chip max485 interfiere electricamente con el usb-serial ttl que trato de conectar para programar el firmware, deje el puert icsp para programar la tarjeta para cuando la version final ya este lista, y no tenga que programar desde la interfaz de Arduino, pero no consigo hacerlo funcionar, existe alguna forma de programarlo directamente, trate de hacerlo desde un arduino UNO, usandolo como programador, pero no veo como, disculpen estas preguntas a lo mejor muy sencillas, pero como no estoy familiarizado todavía con el entorno de programación, se me dificulta, agradezco algun consejo, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Programar firmware de arduino directamente desde el icsp
« Respuesta #1 en: 01 de Septiembre de 2017, 22:27:41 »
 

Por ICSP, si el chip lo soporta, no deberías de tener ningún problema, en ese caso conviene dejar esos pines en exclusiva para la programación y no compartirlos (cuando utilizaba PIC lo hacía así).

Pon tu esquema, a ver como lo has conectado. La patilla de RESET debe de conectarse con una resistencia de pullup a positivo.

Otra manera de programar una placa de diseño propio, es que le grabes tu propio bootloader y cargues el firmware por UART, USB, SD, Pendrive, etc...

Y otra forma, sería compartiendo los pines, pero poniendo puentes soldables en placa, programas y sueldas los puentes para dar acceso al dispositivo que usa esos pines. Yo tengo algo así en una placa que usa un ESP8266, para poder tener acceso a la programación del ESP, sin que interfiera con el STM32 con el que comunica por puerto serie.


« Última modificación: 01 de Septiembre de 2017, 22:31:36 por planeta9999 »

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Programar firmware de arduino directamente desde el icsp
« Respuesta #2 en: 02 de Septiembre de 2017, 15:34:15 »
Hola buen dia, disculpen, soy nuevo en esta plataforma de Arduino, hicimos un pequeño proyecto en el cual se comunica mediante modbus a un dispositivo y manda informacion via GSM, en nuestra maqueta con el hardware de desarrollo Arduino UNO funciono muy bien, pero hice el primer prototipo y no puedo buscar la forma de programarlo, ya que el chip max485 interfiere electricamente con el usb-serial ttl que trato de conectar para programar el firmware, deje el puert icsp para programar la tarjeta para cuando la version final ya este lista, y no tenga que programar desde la interfaz de Arduino, pero no consigo hacerlo funcionar, existe alguna forma de programarlo directamente, trate de hacerlo desde un arduino UNO, usandolo como programador, pero no veo como, disculpen estas preguntas a lo mejor muy sencillas, pero como no estoy familiarizado todavía con el entorno de programación, se me dificulta, agradezco algun consejo, saludos

Es muy probable que tengas un problema de diseño/conexión en tu PCB, revisa bien el diseño, conexiones y soldado, concéntrate en las diferencias entre la "maqueta" que hiciste con la placa Arduino Uno y tu diseño.

En cuanto a programar el microcontrolador por ISP, si para el prototipo te basaste en el diseño de una Arduino Uno, supongo que habrás incluído conector para el puerto ISP, para programar el integrado necesitas un programador, si no tienes uno en el sitio oficial de Arduino describen cómo usar un Arduino como programador: https://www.arduino.cc/en/Tutorial/ArduinoISP.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Programar firmware de arduino directamente desde el icsp
« Respuesta #3 en: 04 de Septiembre de 2017, 15:54:19 »
Hola muchas gracias por sus respuestas, si puse el header del icsp, pensando en que seria muy engorroso una vez, que el firmware quede bien, programar primero el bootloader, y luego el programa desde arduino ide, sino programar directamente todo desde el header icsp, el problema que tengo, es que no se que configurar para que el arduino ide genere correctamente el archivo .hex que contenga el bootloader junto con el programa que realice, y cargarlo por el icsp, estoy usando como programador un Arduino UNO, adjunto el diagrama, mi problema es que no se como hacer eso
http://www.thinkchip.com.mx/wp-content/uploads/2017/09/diagrama-arduino-modbus-gsm.jpg
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Programar firmware de arduino directamente desde el icsp
« Respuesta #4 en: 04 de Septiembre de 2017, 18:14:05 »
Tienes dos opciones, cargar en un AtMega328P el botloader desde el IDE de Arduino (herramientas --> grabar secuencia de inicio), con esto te programa los fusibles, y luego le cargas el .hex desde el ide con la opción Archivo --> Cargar usando programador, via icsp.
Tienes que seleccionar el programador que usas, en tu caso Arduino as ISP.

La otra opción es cargar los fusibles a tu antojo con un programador, y su correspondiente software de control, y luego le cargas el .hex que te genera Arduino con el programador y el software, esto te permite proteger el código, de la otra forma que yo sepa no se puede.

Saludos!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Programar firmware de arduino directamente desde el icsp
« Respuesta #5 en: 05 de Octubre de 2017, 15:20:07 »
Gracias micro_pepe, ya vi cual era el problema, es el diagrama, puse la señal del reset que viene del programador (ftdi232) directamente al pin de reset del atmega328, y viendo el diagrama de nuevo del ardunino uno, hay un cap antes del pin, por eso al enviar la señal del reset para que entre al boot, no la recibia, y por ende no se dejaba programar, muchas gracias a todos, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....