Autor Tema: Programateando #1. Mi tutorial básico para programar embebidos en C  (Leído 10251 veces)

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

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Hola. Conocía el foro hace un tiempo pero me había registrado con una cuenta de correo que no use nunca y no pude recuperar el registro. Así que me registré de vuelta y vine a pescar audiencia.

Estoy haciendo mi primer intento de video-tutorial de programación de micros.
Va a ser una serie de videos que se llama Programateando (programación + mate, a la Argentina). Empiezo con la implementación de una interfaz de comandos por puerto serie. NO ES para gente que arranca desde cero, sino para alguien que ya se marchitó la cabeza haciendo algún programa sencillo, que lidió con que no le ande el programador, la placa, que el micro no ejecute código, etc.
Requerimientos para verlo diría que es saber lenguaje C (nivel básico al menos), y alguna herida de batalla tratando de hacer funcionar el programa en físico.
Estoy usando un msp430 launchpad con el msp430g2553, pero lo que estoy haciendo (salvando la programación de registros específicos del micro) debería ser aplicable a cualquier micro en general, no me centro tanto en el micro como en el proceso de desarrollo.

Estuve el Domingo grabando clips y de ahí en adelante a editar, todavía no termino de procesar lo que grabé el Domingo pero ya hay más de 1 hora de video, mejor ir publicando de a poco.

Estoy separando los videos por semana (Programateando #1 va a ser la 1ra semana, #2 la 2da, etc) para poder dividir los temas temporalmente y poder discutirlos por separado.

Playlist:
https://www.youtube.com/playlist?list=PLGL5AjNW8FqrC4nG78msLqIiTcxzeSBIO

Programateando #1. Presentación del proyecto CLI. Visión rápida de las herramientas utilizadas:

Programateando #1 - Verificando herramientas de desarrollo, led blink. Hacemos una verificación rápida y somera de las herramientas de desarrollo, con el nunca bien ponderado proyecto de hacer parpadear un led.

Programateando #1 - Planificando el proyecto. Hacemos una planificación muy básica y mínima del proyecto. El objetivo es obtener la primera tarea a desarrollar con un objetivo muy claro.

Programateando #1 - Eco por uart. Escribimos código muy básico para recibir/enviar un caracter por el puerto uart usando un ejemplo de código provisto por el fabricante.

Programateando #1 - Refactorizando. Luego de tener código que funciona, lo corregimos y estructuramos para que sea más legible y fácil de mantener.

Programateando #1 - Interrupciones, plantUML. ¿Por qué precisamos utilizar interrupciones para recibir texto por uart?. ¿Cómo cambia el flujo de programa?. Una presentación rápida de PlantUML. Actualizamos lista de tareas.

Programateando #1 - Implementando fifo (básica). Programamos una fifo para recibir los caracteres uart.Inicializamos estructura con macros. Convención de código John Carmack.

Programateando #1 - Fifo test, introduciendo código de test. Un primer test de la fifo. Escribimos código de test que se ejecuta dentro de la aplicación para determinar si cometimos algún error. Mini-crítica de IDEs (Eclipse, Arduino IDE, Code Blocks).

Escucho críticas, sugerencias, insultos  :D y cualquier otro feedback que crean oportuno para mejorar ésto que, seguramente, tendrá errores varios e irá mejorando a medida que tenga más práctica.
Saludos!!!.
« Última modificación: 08 de Agosto de 2016, 19:04:30 por colotron »

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #1 en: 03 de Agosto de 2016, 09:18:23 »
Da error en Youtube, revisalo...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #2 en: 03 de Agosto de 2016, 10:00:04 »
Ups  :oops: gracias...
Este anda (por ahora):
https://www.youtube.com/playlist?list=PLGL5AjNW8FqrC4nG78msLqIiTcxzeSBIO
Parece que al agregar videos cambia el link de la lista?, no se.

Primero de la lista:

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #3 en: 04 de Agosto de 2016, 08:35:17 »
Otro recién salido del horno, en este perdí un poco el orden de los temas y divagué más de la cuenta. En vista de eso en la descripción puse las marcas temporales de cada cosa


Todavía me faltan editar 2 más para dar por terminado el Programateando #1. Pero sarna con gusto no pica  :-)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #4 en: 04 de Agosto de 2016, 09:05:00 »
La interrupcion en los micros, al menos no conozco alguno que interrumpa la instruccion en curso, Lo que si hace es terminar de ejecutar la instruccion ( de ASM ) y procede a ir a la interrupcion. Tal ves te referiste a la instruccion de C, y yo me hice una historia.

Tambien pienso que hubiera estado bueno que separas la sintaxis para cada compilador, ya que lo tenias al frente. Con el compilador de TI, IAR, entre otros era una linea mas simple:

Código: C
  1. __interrupt void INTERRUPT_SOURCE(void)

Y como todo GCC la interrupcion se declara con el __attribute__

Es lo unico que tenia para decir :P

--------------

Una pregunta, comprando la placa de evaluacion MSP te da acceso a todas las funcionalidades del CCS y compilador de TI?, yo poseo una de TM4 y me permite todo tamaño de codigo y usar el compilador de TI ( aunque es ARM ), por eso pregunto, ya que veo que estas usando la sintaxis de GCC.
Mas que nada pregunto por que el MSP a pesar de todo sigue vigente, me refiero a que no es viejo sino que hay versioens nuevas con el core del MSP

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #5 en: 04 de Agosto de 2016, 10:04:43 »
Hola me interesa entrar con la plataforma de desarrollo de Texas Instrumets (TI), por motivos educativos, ya que una parte de la compañía TI esta enfocada en este mercado https://education.ti.com/en/us/home

hay un foro en francés que habla sobre conexión "TI LaunchPad MSP-EXP432P401R" con calculadoras TI-NSPIRE-CX-CAS y TI84





Enlaces: https://tiplanet.org/forum/viewtopic.php?p=206200&sid=40a1ba84c8a3cfa6eb8ccc5fb77912df#p206200

https://tiplanet.org/forum/viewtopic.php?p=206169&sid=40a1ba84c8a3cfa6eb8ccc5fb77912df#p206169
Desde Colombia

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #6 en: 04 de Agosto de 2016, 10:36:55 »
La interrupcion en los micros, al menos no conozco alguno que interrumpa la instruccion en curso, Lo que si hace es terminar de ejecutar la instruccion ( de ASM ) y procede a ir a la interrupcion. Tal ves te referiste a la instruccion de C, y yo me hice una historia.

Es que tenes razon, yo me expresé mal. Quería explicarlo por arriba y a la pasada, por ahí fue demasiado. Después meto una aclaración en texto sobre impuesto.

Tambien pienso que hubiera estado bueno que separas la sintaxis para cada compilador, ya que lo tenias al frente. Con el compilador de TI, IAR, entre otros era una linea mas simple:

Código: C
  1. __interrupt void INTERRUPT_SOURCE(void)

Y como todo GCC la interrupcion se declara con el __attribute__

Es lo unico que tenia para decir :P
Sí... por ahora quería hacerlo para un compilador solo y en alguna otra oportunidad abordar las extensiones para hacerlo multiplataforma/multicompilador/multiplaca.

Una pregunta, comprando la placa de evaluacion MSP te da acceso a todas las funcionalidades del CCS y compilador de TI?, yo poseo una de TM4 y me permite todo tamaño de codigo y usar el compilador de TI ( aunque es ARM ), por eso pregunto, ya que veo que estas usando la sintaxis de GCC.
Mas que nada pregunto por que el MSP a pesar de todo sigue vigente, me refiero a que no es viejo sino que hay versioens nuevas con el core del MSP

La verdad, no sé. Yo tenía un par de launchpads que compre cuando estaban a U$S4  :D
El compilador para msp430 (16 bits) tenés:
  • El de IAR (pago), nunca lo usé
  • El msp430-gcc: compilador gratis mantenido por Texas (por ahora, quizás a futuro cambien)
  • El mspgcc, mantenido por pabigot hasta hace algún que otro año atrás, también gratis y open source.
  • Hay uno más viejo, ni me acuerdo el nombre, que es desde donde empezó a trabajar pabigot
 
También tengo un TM4C123G launchpad. Pasa que ahí está el compilador arm-none-eabi que en general soporta una variedad amplia de micros ARM de 32 bits (no solo de Texas).

Muchas gracias por el feedback!!!  :) , es la única prueba de que alguien lo vió, jajaja.

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #7 en: 04 de Agosto de 2016, 10:47:55 »
Hola me interesa entrar con la plataforma de desarrollo de Texas Instrumets (TI), por motivos educativos, ya que una parte de la compañía TI esta enfocada en este mercado https://education.ti.com/en/us/home

hay un foro en francés que habla sobre conexión "TI LaunchPad MSP-EXP432P401R" con calculadoras TI-NSPIRE-CX-CAS y TI84

Hola, no conozco ese programa educativo. ¿Parece más orientado a programación de calculadoras?.
En temas educativos Texas Instruments tiene una presencia muy fuerte en USA, pero no tanto por acá (me parece).
Acá en Argentina yo me inicié con pics (2005, el tiempo pasa...), que junto con Motorola/Freescale/[inserte futuro nombre] eran las opciones más comunes, y te enviaban samples, y abusábamos de eso, etc...

Hoy por hoy para educación lo más inmediato es Arduino, porque para dar un curso de algunos meses no hay que perder el 80% del tiempo hablando de arquitectura/teoría y se puede empezar a teclear código casi de inmediato, y hasta enseñar C directamente sobre las placas.

De hecho hay un spin-off de Arduino para msp430 que es el proyecto Energía: http://energia.nu/

En fin, a lo mejor esa no era tu pregunta, y quizás ni siquiera preguntabas nada :lol:
Saludos.

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #8 en: 04 de Agosto de 2016, 23:01:25 »
TI education ofrece un software matemático avanzado que se instala tanto en calculadoras físicas como en PC y i-OS, pero recientemente agregaron comandos de comunicación para las tarjetas de TI, de esta manera se podrían crear aplicaciones interesantes pues se aprovecha el motor de calculo avanzado o CAS, para hacer cálculos complejos sin necesidad de programarlos en el microocntrolador, este "matrimonio" entre plataformas (maths-uctrl) puede ser interesante, TI tiene mucho dinero, esta invirtiendo en educación y en conjunto con la NASA
Desde Colombia

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #9 en: 05 de Agosto de 2016, 14:00:34 »
Va saliendo uno nuevo...
Da para charlar la fifo. ¿Qué tipos de datos usar? (1 solo tipo de dato, puntero a void?), ¿punteros o indices?, ¿como llevar la cuenta?. Todas cosas que omito haciéndome el tonto, porque sino no avanzamos más  :)

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re:Programando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #10 en: 05 de Agosto de 2016, 14:54:27 »
Hola , que bueno que hayas arrancado el hilo y usando los micros de texas, lo seguiré de cerca
Yo aun soy muy nuevo , actualmente uso el launchpad del MSP430FR5739 con el CCS studio
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #11 en: 06 de Agosto de 2016, 20:23:19 »
Hola , que bueno que hayas arrancado el hilo y usando los micros de texas, lo seguiré de cerca
Yo aun soy muy nuevo , actualmente uso el launchpad del MSP430FR5739 con el CCS studio

Gracias jhozate!!!.
Sí... tenes un micro FRAM, ahí tenés para sacarle el jugo al bajo consumo; ideal para cosas que funcionen con pilas botón (así se cambia una pila cada 1 o 2 años en vez de cada 3 meses).
Ya voy a llegar a hablar algo de bajo consumo... pero esto toma tiempo, para procesar lo que grabo en 1 día estoy toda la semana  :lol:

Hablando de eso... acá viene el último de lo que grabé el Domingo pasado, ahora tengo que grabar, ahí vamos!!!  :mrgreen:

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #12 en: 08 de Agosto de 2016, 09:30:07 »
Si de hecho, estoy trabajando en eso, he logrado poner al micro en el modo de bajo consumo LPM4.5 con un consumo de 7uA, aunque es bajo comparado con el consumo que estaba teniendo no he logrado el valor típico que dice la hoja de datos.

Seria bueno que en tu primer post pongas los links con el nombre del tutorial que estas llevando.

Saludos
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #13 en: 08 de Agosto de 2016, 18:34:29 »
Si de hecho, estoy trabajando en eso, he logrado poner al micro en el modo de bajo consumo LPM4.5 con un consumo de 7uA, aunque es bajo comparado con el consumo que estaba teniendo no he logrado el valor típico que dice la hoja de datos.
¿En LPM4.5 casi como que lo único que lo puede despertar es una interrupción por pin externo no?. ¿Estás deshabilitando el supervisor de lado bajo SVSL? (https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/298276).

Seria bueno que en tu primer post pongas los links con el nombre del tutorial que estas llevando.
Saludos
De inmediato, es cierto, queda más ordenado con los videos al principio. ¿Quizás debería editar el primer mensaje cada vez que agrego un video?, ¿o las dos cosas? (aviso con una respuesta nueva que subí algo nuevo para reflotar el tema, y a la par edito el primer mensaje).

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #14 en: 09 de Agosto de 2016, 10:40:38 »
si , ya he deshabilitado el SVS.
Bueno sera un tema que quizás podamos tocar luego en los tutoriales. Mientras tanto sigamos adelante
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA


 

anything