Autor Tema: de Freescale 8bits a PIC32...  (Leído 31063 veces)

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

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: de Freescale 8bits a PIC32...
« Respuesta #30 en: 03 de Mayo de 2013, 17:25:43 »
Me olvide ... Gustavo todos los IDE, debuggers, etc para embebidos son una porquería, están a años luz de MicroSoft ... El debugger del CodeWarrior era otra porqueria ...

Saludos !

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: de Freescale 8bits a PIC32...
« Respuesta #31 en: 03 de Mayo de 2013, 18:41:03 »
Hola,

Citar
o todavía no he conseguido domar el Debug de Microchip, acostumbrado al Visual Studio que funciona de fábula, lo de Microchip es una auténtica castaña o hay alguna configuración "secreta" que desconozco.

jajaja es tal cual, la gente habla pestes de Windows, pero cuando dejas de usar el debug de Visual Studio te das cuenta que algo bueno hicieron.

Para poder debuggear como dijeron acá, deberías deshabiltar todas las optimizaciones.

Citar
Planeta9999 declara las variables como volatile y veras que siempre las podras ver, en caso de querer verlas en la memoria en una funcion (no global) usamos el modificador static. Se trata de leer un poco el manual del compilador y no echarle las culpas a este xD

Lo que decís va en contra de los principios de diseño, el uso de la declaración es justamente para otra cosa, y no es cuestión de leer o no el manual, un buen compilador nunca debe optimizar por registros cuando las optimizaciones son deshabilitadas.

Citar
Por ejemplo, no es lógico que si utilizamos una variable en una función y solo la usamos para hacer un simple calculo se declare esta variable en memoria, para ello se utilizan los registros auxiliares Wx

El C nacio para independizarte en la medida que pueda de la arquitectura del micro, podes usar cosas de esas, ahora si, olvidate de una buena migración. Si lees el inicio del post Don Gustavo esta migrando código C de un FreeScale a un MicroChip, no le va a costar tanto porque justamente escribió casi todo en C.

Saludos !

Para hacer un buen Debug, hay que ser expertos en Bugs!!   :D :D :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: de Freescale 8bits a PIC32...
« Respuesta #32 en: 03 de Mayo de 2013, 19:52:18 »
Hola,

Citar
o todavía no he conseguido domar el Debug de Microchip, acostumbrado al Visual Studio que funciona de fábula, lo de Microchip es una auténtica castaña o hay alguna configuración "secreta" que desconozco.

jajaja es tal cual, la gente habla pestes de Windows, pero cuando dejas de usar el debug de Visual Studio te das cuenta que algo bueno hicieron.

Para poder debuggear como dijeron acá, deberías deshabiltar todas las optimizaciones.

Citar
Planeta9999 declara las variables como volatile y veras que siempre las podras ver, en caso de querer verlas en la memoria en una funcion (no global) usamos el modificador static. Se trata de leer un poco el manual del compilador y no echarle las culpas a este xD

Lo que decís va en contra de los principios de diseño, el uso de la declaración es justamente para otra cosa, y no es cuestión de leer o no el manual, un buen compilador nunca debe optimizar por registros cuando las optimizaciones son deshabilitadas.

Citar
Por ejemplo, no es lógico que si utilizamos una variable en una función y solo la usamos para hacer un simple calculo se declare esta variable en memoria, para ello se utilizan los registros auxiliares Wx

El C nacio para independizarte en la medida que pueda de la arquitectura del micro, podes usar cosas de esas, ahora si, olvidate de una buena migración. Si lees el inicio del post Don Gustavo esta migrando código C de un FreeScale a un MicroChip, no le va a costar tanto porque justamente escribió casi todo en C.

Saludos !

No es una optimizacion el hacer operaciones por registros, es lo normal, la optimizacion es algo distinto en el caso de los compiladores de microchip, siempre puedes ver el codigo asm con optimizacion y sin optimizacion, en ambos modos se utilizan los registros Wx.
Si no leemos el manual y cogemos un poco la idea entonces vamos dando palos de ciego, yo lo veo cuestion de leer el manual, porque yo he aprendido con el manual delante, cuando migre a C30 me ocurrio lo mismo, tuve que leer el manual porque muchas cosas eran distintas al C18 si no hubiese leido el manual aun estaria descubriendo como funcionan las interrupciones en el C30...
El C y el C para MCU solo se parece en lo basico, migrar de freescale a microchip no es tan sencillo, ambos compiladores no utilizan la misma sintaxis para muchas funciones y si ya hablamos de librerias menos aun, los registros son distintos y la forma de usarlos tambien son distintos.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: de Freescale 8bits a PIC32...
« Respuesta #33 en: 03 de Mayo de 2013, 20:08:27 »
ok, respeto tu opinión pero no es lo que yo pienso.

Saludos !

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: de Freescale 8bits a PIC32...
« Respuesta #34 en: 03 de Mayo de 2013, 20:33:52 »
Citar
Por ejemplo, no es lógico que si utilizamos una variable en una función y solo la usamos para hacer un simple calculo se declare esta variable en memoria, para ello se utilizan los registros auxiliares Wx

El C nacio para independizarte en la medida que pueda de la arquitectura del micro, podes usar cosas de esas, ahora si, olvidate de una buena migración. Si lees el inicio del post Don Gustavo esta migrando código C de un FreeScale a un MicroChip, no le va a costar tanto porque justamente escribió casi todo en C.

Saludos !

+1 Si es una aplicación donde se requiera optimizar para el recurso que se usa si se puede pensar en eso, sino hay que hacerlo lo mas estándar posible para una posible futura migración, sino vas a tener que re-escribir todo  :x

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: de Freescale 8bits a PIC32...
« Respuesta #35 en: 03 de Mayo de 2013, 20:44:54 »
ok, respeto tu opinión pero no es lo que yo pienso.

Saludos !

No es una opinion, es una realidad, te voy a poner ejemplos y ya me dices si tengo o no razon:
-Usar una UART en pic, es igual que en freescale??
-Interrupciones en freescale igual que en microchip?
-Registros de puertos PORTx... en pic es igual que en freescale?
-Configuracion no tiene nada que ver en pic con freescale
-Perifericos (timers, ccp...) no son iguales en pic que freescale

Yo no creo que sea tan facil migrar de freescale a pic, las funciones serviran todas, pero, el procedimiento sera distinto cuando hablamos de un codigo especifico para freescale a uno para pic.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: de Freescale 8bits a PIC32...
« Respuesta #36 en: 03 de Mayo de 2013, 20:45:45 »
Gracias Suky !!!, voy a contestar un poco mas, hoy x hoy con los cambios de tecnología que se vienen, siempre es recomendable escribir en C plano, obvio que las cosas de hardware o arquitectura tiene que ser resueltas para cada micro. Hay info en le web sobre como construir un HAL ( Hardware Abtsraction layer ) lo que significa es hacer una serie de funciones que maneje todas las particularidades de la arquitectura. Cuando cambias de micro solo re escribís esta parte del código y tenes el problema resuelto.

Saludos !

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: de Freescale 8bits a PIC32...
« Respuesta #37 en: 03 de Mayo de 2013, 20:48:22 »
Por supuesto, para mediar, ya que están hablando de lo mismo con palabras diferentes, lo que están diciendo ambos es que Hay que conocer la arquitectura y los detalles para poder migrar código de uno a otro micro. :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: de Freescale 8bits a PIC32...
« Respuesta #38 en: 03 de Mayo de 2013, 20:53:42 »
Hola MGLSOFT, si eso es así. Ejemplo de lo que digo, Uart, tendrás funciones como open, close, write, read, etc. Esas son las que tenes que rescribir,  código de mas alto nivel terminan llamando a estas "primitivas" y eso no cambia. Algunos consejos para escribir código migrable.

  • Casteos
  • Padding en la estructuras o uniones
  • Alineación
  • Precedencia de operadores
  • Tamaño de los tipos de datos canónicos

Saludos !

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: de Freescale 8bits a PIC32...
« Respuesta #39 en: 03 de Mayo de 2013, 21:00:10 »
Puedes citar links de esa info??
O donde encontrar literatura??
esta interesante...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: de Freescale 8bits a PIC32...
« Respuesta #40 en: 03 de Mayo de 2013, 21:03:20 »
Dame tiempo, muchas cosas fueron a pulmón, por favor respeto muchisimo a este foro y no quiero generar malos pensamientos, pero hace casi 20 años que lidio con estos problemas...

Saludos !

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: de Freescale 8bits a PIC32...
« Respuesta #41 en: 03 de Mayo de 2013, 21:08:57 »
 :shock: :shock: :shock: :shock: :huh: :huh: :huh: :z) :z) :z)
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: de Freescale 8bits a PIC32...
« Respuesta #42 en: 03 de Mayo de 2013, 21:09:49 »
:shock: :shock: :shock: :shock: :huh: :huh: :huh: :z) :z) :z)
siii mal que me pese soy un viejo de mierda ....

Saludos !

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: de Freescale 8bits a PIC32...
« Respuesta #43 en: 03 de Mayo de 2013, 22:01:20 »
RICHI eso seria usando librerias y que las librerias fuesen iguales para ambos mcus pero esto no es asi, microchip pone sus librerias y el orden de los operadores puede cambiar, incluso el nombre de las funciones por lo cual ya tenemos que cambiar el nombre y orden de operadores. Ahora bien cuando nosotros hacemos el codigo, por ejemplo un PWM, CCP, TIMER... o algo asi no utilizamos libreria alguna yo por ejemplo no utilizo ninguna libreria para mis proyectos utilizo mis propias funciones adaptadas a mi proyecto, entonces al ser asi no podria migrar las funciones tal y cual, tendria que reescribir el codigo especifico para este hardware.
Entiendo como quieres enfocar la situacion, pero resulta que no es solo cuestion de cambiar de pic y ya esta, ni tampoco nadie hace un codigo generico que se pueda migrar entre fabricantes, porque requiere mas tiempo hacer esto que hacerlo para un unico hardware. Microchip por ejemplo hace placas de entrenamiento para distintos pics y estos codigos son migrables entre pics sin problema, aun asi no es del todo tan sencillo aunque ellos nos lo pongan asi, han tenido que cambiar funciones entre pics para hacerlo de tal forma y eso les ha costado el doble de tiempo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: de Freescale 8bits a PIC32...
« Respuesta #44 en: 03 de Mayo de 2013, 22:22:03 »
No voy a discutir con vos ... lee un poco del concepto llamado "wrappers"

Saludos !