Convertir código de STM8L151 a C++...¿Se Puede?

Hola. No sé si es posible hacer lo que pretendo. Tengo un archivo extensión .xwpprj que uso para programar un STM8L151G6U6. Lo he programado cientos de veces en esos microcontroladores y funciona perfecto. El fabricante, STMicroelectronics, va a dejar de fabricar ese Micro. El problema es que me gustaría hacer modificaciones en el código y seguir usándolo en otro Micro tipo PIC o el que necesite . En otras ocasiones lo he hecho con archivos HEX y funciona. Como hacerlo en este archivo .xwpprj ??? Dicho de otra forma: ¿Se puede convertir el archivo .xwpprj a C++ ???

El código actual lo compré y lo programo sin problema las veces que necesite a nivel profesional. En unos meses tendré un problema grande si no consigo utilizar ese código en otro Micro… Saludos y gracias de antemano

1 me gusta

Si no tienes el código fuente lo dudo.
En su día habían desensambladores. Pero descompiladores de C no me suena.
¿Que extensión es esa?, no la conocía.

Hola.
El archivo tiene la extensión .xwpprj que en realidad es .prj generada por un software chino de la empresa xwopen.com. Que les asigna su extensión wxp+prj a los códigos que se guardan desde ella. No soy ni mucho menos experto, pero creo que es así. Esa empresa tiene software y programador para STM8L entre otros. He descargado el soft con la esperanza de abrir mi archivo con él. Pero está totalmente en chino y no lo consigo. Hasta ahora solo puedo grabar el archivo en todos los dispositivos que desee, pero sin opción a ver su contenido ni modificarlo. Estoy desesperado y no encuentro quien me de una solución.
Saludos,

Como tampoco sé que es un .prj me he quedado igual.

Me parece que tienes algo así como un .bin o un volcado de la rom. Es decir que no tienes nada en absoluto.

Con suerte de ese archivo sacarías un binario y de ese binario sacarías un desensamblado en código máquina. Cosa inentendible por completo a no ser que sea un programa de “aeiou” y por lo tanto no exportable a otra plataforma.

Te queda contactar con el que desarrolló el programa que lo exporte a otra plataforma o hacer ingeniería inversa y replicar el funcionamiento de tu sistema cuidando que haga exactamente lo que hace ahora.
De todos modos si quieres modificar el código, necesitas el código, mira a ver si lo puedes conseguir.
Generar el código desde el binario no es posible fácilmente. Si que es posible “complicadamente” pero llegados a ese punto sería seguramente mas rápido y eficiente recrear el código a partir de las especificaciones de funcionamiento.

Ya me temía que la respuesta no me iba a gustar…Ya me lo han dicho, rehacer el codigo desde cero con cuidado que haga lo mismo que este. Lo que me extraña es que un codigo que puedo programar miles de veces y el dispositivo furrula, no se pueda editar…
Gracias igualmente

Algo como el IDA podría ayudarte, al menos a extraer ciertas partes en pseudo código C, no es perfecto, pero tampoco es sencillo de usar: https://www.hex-rays.com/products/decompiler/compare/compare_vs_disassembly/

Gracias, lo miro a ver si saco algo en claro