Tengo este Microcontrolador - S32K118 64 pines.
Quiero cargar mi archivo de datos de software en el microcontrolador usando el depurador mencionado a continuación.
Estoy usando este modelo de depurador J-LINK Segger BASE para programar mi microcontrolador.
Tengo un sistema operativo Windows y el archivo de datos del software que me gustaría descargar al microcontrolador tiene una extensión: ".s28"
Tengo las líneas de interfaz JTAG en mi PCB que está conectada al microcontrolador. Y he conectado las Líneas JTAG del depurador a la PCB. No hay discrepancias como TDI a TDO (como en el protocolo UART). Me conecté como la línea TDI en el depurador a la línea TDI en la PCB. Así para todas las conexiones JTAG.
(PD En realidad, tengo 2 microcontroladores en la PCB. Pero no están conectados en cadena. Cada microcontrolador tiene un conjunto separado de líneas de interfaz JTAG)
Tenga paciencia con mis preguntas a continuación, ya que no estoy tan versado en software.
Mis preguntas :
Pero, ¿cómo se selecciona la interfaz JTAG o SWD para programar el microcontrolador? ¿Se mencionará esta selección de la interfaz de programación en el código del software o la persona encargada del hardware debe seleccionarla? Si la persona del hardware tiene que seleccionarlo, ¿cómo debería hacerlo?
Pregunta básica: ¿cómo se determina la interfaz de programación entre JTAG y SWD? ¿Se menciona en el código del software o cómo es?
se menciona que el archivo de datos del software debe tener formato .hex, .mot, .srec o .bin.
Pero la extensión de mi archivo de datos de software es .s28
Entonces, ¿el depurador aceptará este archivo? Tras una simple búsqueda en Google, encontré que los archivos .s28 y .srec son Motorola S-record es un formato de archivo, creado por Motorola, que transmite información binaria como valores hexadecimales en forma de texto ASCII. Este formato de archivo también puede conocerse como SRECORD, SREC, S19, S28, S37. ¿Menciona que .srec y .s28 son lo mismo?
Entonces, ¿puedo cargar este archivo .s28 en el microcontrolador con este depurador?
Recibí 2 tipos de errores como se muestra a continuación
Error 1:
En la imagen de arriba, puede ver que seleccioné el número de pieza correcto de mi microcontrolador y seleccioné el archivo de datos de software requerido (no sé si esta extensión .s28 será compatible con el microcontrolador). Pero recibí el error como, NO SE PUEDE CONECTAR AL OBJETIVO.
¿Por qué viene este error? Revisé la conexión del hardware, está perfecta.
Traté de cambiar la interfaz de SWD a JTAG (como se destaca en la imagen de arriba. Pero no cambié la velocidad. Ambos estaban a 4000 kHz). Aún así, el mismo resultado que obtuve. Ningún cambio
Error 2: después de un tiempo, en la misma ventana, comencé a recibir el error como: "ERROR: no se pudo descargar el archivo"
No hice ningún cambio en la configuración de mi hardware ni nada en absoluto. Pero el error fue diferente.
Investigué en el manual del depurador, no pude encontrar ninguna solución para estos errores. También participo en los foros de Segger y en los foros de la comunidad de NXP. Pero todavía no hay resultados.
¿Puede alguien ayudarme con estos errores y cómo resolverlos?
Pregunta 3 :
Supongamos que el depurador programa el microcontrolador. En el momento o instante en que el depurador está cargando el archivo de datos del software en el microcontrolador, ¿cuál debería ser el nivel de voltaje en el pin RESET? ¿Debería el RESET ser alto o el RESET debería ser bajo? Y si debe ser BAJO, ¿el Depurador Despliega el REINICIO?
EDITAR :
Esquema: Microcontrolador - S32K118 64 pines.
La señal de reinicio en la base del transistor que se muestra a continuación está en estado Siempre alto. Por lo tanto, no será un problema. Para la conexión de reinicio JTAG, he tomado la señal de REINICIO del extremo superior del condensador C0103.
Intentaré responder a las preguntas.
Pregunta 1: De forma predeterminada, el controlador inicializará el puerto de depuración (después del reinicio) en el modo JTAG. Si desea utilizar SWD, deberá aplicar la Secuencia de comando mencionada en el Manual de referencia Cap. 56.3.1 en la pág. 1968. Entonces la Selección no se hace ni en HW ni en el archivo de programación. Usted (tal vez) debería poder seleccionar el modo de programación en su herramienta de flasheo.
Pregunta 2: J-Flash es compatible con los siguientes formatos de archivo de Motorola S: .mot, .srec, .s, .s19, .s28, .s37 Por lo tanto, debería poder actualizar su firmware generado por su cadena de herramientas.
Pregunta 3: La depuración está deshabilitada cuando el controlador está en modo de bajo consumo o la "Seguridad" está habilitada (consulte el Capítulo 56.15 en la página 1978). Así que asegúrese de que ambos no sean el caso. Para flashear tendrás que mantener el RESET bajo por un cierto tiempo. Se puede encontrar más información en el siguiente modo de aplicación: https://www.nxp.com/docs/en/application-note/AN12130.pdf Pero no es necesario que lo haga manualmente. Esto lo hará la aplicación J-LINK/J-Flash. Pero deberá asegurarse de que su J-Link tenga control sobre la línea de reinicio (conecte el pin de reinicio al pin apropiado en el conector JTAG/SWD).
La distribución de pines del conector SWD/JTAG debe tener el siguiente aspecto:
La conexión en el controlador debería tener el siguiente aspecto. He resaltado los Pines relevantes en el esquema para 32K118:
En el ejemplo anterior, solo las líneas SWD están conectadas al 32K118. Pero, por supuesto, también puede adjuntar las otras 2 líneas para JTAG. Lo importante que tal vez falte es la línea de reinicio para el J-Link. ¿ O está RESET_MC1
conectado al conector de depuración? Tal vez podría publicar el esquema para el conector de depuración.
Con respecto al .s28
formato específicamente:
Sus archivos binarios aquí son el buen y antiguo formato S-record de Motorola , que es un formato de archivo que expresa archivos binarios mediante representación de texto; puede abrirlo en notepad.exe y leerlo. (Otro popular y muy similar es Intel Hex).
Los registros S constan de varias entradas. Una línea que comienza con S1, S2 o S3 significa que contiene una dirección de 16, 24 o 32 bits respectivamente. Una línea que comienza con S7, S8 o S9 significa que contiene la dirección de inicio del programa de 16, 24 o 32 bits.
Aparentemente, su binario se genera con direcciones de 24 bits, por lo que su archivo contendrá líneas S2 y S8. De ahí el formato .s28
, que puede considerarse como un subconjunto de .srec
. Cualquier herramienta que afirme ser compatible .srec
también lo será .s19
, .s28
y .s37
dado que en realidad es todo el mismo formato de archivo.
.mot
probablemente también se refiere a los registros S, aunque no puedo decir que lo haya visto mucho.
Y sí, todos estos son compatibles con Segger.
chupacabras
novato
brahans
brahans
novato
chris stratton
chris stratton
novato
novato
Lundin