¿cómo ejecutar el código escrito para un microcontrolador en otro microcontrolador? [cerrado]

-4

He escrito código para el microcontrolador NXP LPC802 pero ahora quiero probarlo en el microcontrolador lpc824 ¿Es posible ejecutar el código. Si es así, ¿cuáles son las Hay que hacer cambios. por favor sugiéreme amigos ..

    
pregunta Sai Kumar

2 respuestas

2
¿cómo ejecutar el código escrito para un microcontrolador en otro microcontrolador?
  • No lo haces en el nivel binario.
  • No, si la fuente está en el ensamblador.

Si la fuente está en un lenguaje estándar de alto nivel, como C por ejemplo, entonces debería ser posible, pero generalmente requiere algo de trabajo. C no es adecuado para la arquitectura de memoria inusual de muchos microcontroladores, por lo que el lenguaje termina extendiéndose de manera patentada para cada plataforma. También hay diferencias en lo que es el tamaño de entero predeterminado, etc.

Es posible escribir código por adelantado que mitiga la mayoría de estos problemas, pero ahora es demasiado tarde para pensar en eso.

De cualquier manera, no hay sustituto para leer el manual del compilador para el sistema original, leer el manual del compilador para el nuevo sistema, observar cuidadosamente las diferencias y luego revisar el código para actualizarlo. Cuánto trabajo es esto depende de qué tan bien se haya escrito el código en primer lugar.

Añadido

Respondí el caso general anterior. Acabo de darme cuenta de que está intentando portar código entre dos procesadores similares. No conozco la línea NXP, y usted no ha proporcionado información sobre estos dos micros, pero al menos son del mismo fabricante. Eso significa que las extensiones propietarias al lenguaje de alto nivel probablemente serán similares, si no idénticas, entre los dos procesadores. Si ambos usan el mismo compilador, entonces no debería haber mucho problema con el idioma.

Cualquier tarea de transferencia se reduce a cambiar el código de bajo nivel para tener en cuenta la diferencia de hardware. Esto debería ser fácil si el hardware es similar y el código fue escrito correctamente en primer lugar. Mire las hojas de datos de los dos procesadores, vea qué hay de diferente en los periféricos y otro hardware, averigüe cuáles está usando en realidad y luego haga los cambios. Si el código se escribió correctamente, esto podría ser tan fácil como cambiar algunas constantes de configuración.

    
respondido por el Olin Lathrop
1

Si el código está en ensamblaje, será una tarea larga.

Si es, muy probablemente, escrito en C, la mayoría del código aplicativo funcionará bien tal como está.

El lugar donde tendrá problemas es en el nivel de hardware tanto en la placa como en los periféricos de chip.

Es por eso que las buenas prácticas son mantener siempre separados el código de aplicación y el código relacionado con el hardware, a menudo llamados controladores, así como la asignación de hardware de la placa (a la que está conectado el pin) que se llama perfil de hardware.

Dependiendo de su código, debe evaluar qué tan complejo sería, si los controladores y los periféricos de nivel de hardware (temporizadores, spi, interrupciones, etc.) están bien separados, no debería ser difícil, probablemente necesita volver a escribir o encontrar algunos de los controladores de acuerdo con su nuevo chip.

Si está todo mezclado, podría volverse muy complejo y laborioso.

    
respondido por el Damien

Lea otras preguntas en las etiquetas