Configure un ISR de ADC, pero cada vez que se llama una interrupción de ADC, va a isr_trap.asm en su lugar.

Estoy tratando de hacer un programa con mi MSP430FR6989 de Texas Instruments. Envío una señal analógica a mi módulo ADC en el uC, que la convierte en una señal digital. Si el valor es superior a 0x800 ( 1,65 V ), configure un LED azul; de lo contrario, borre el LED azul

Estoy tratando de hacer eso con interrupciones.

Este es un fragmento de mi código.

EDIT2 Agregué el código completo en lugar del fragmento

#include <msp430.h> 


#define ENABLE_PINS 0xFFFE

void ADC_SETUP (void);

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer
    PM5CTL0 = ENABLE_PINS;
    P4DIR = BIT3;

    ADC_SETUP ();

    ADC12IER0 = ADC12IE0;

    _BIS_SR(GIE);

    ADC12CTL0 = ADC12CTL0 | ADC12ENC;
    ADC12CTL0 = ADC12CTL0 | ADC12SC;

    while(1);

    return 0;
}

void ADC_SETUP (void)
{
    #define ADC12_SHT_16      0x0200
    #define ADC12_ON          0x0010
    #define ADC12_SHT_SRC_SEL 0x0200
    #define ADC12_12BIT       0x0020
    #define ADC12_P92         0x000A

    ADC12CTL0 = ADC12_SHT_16 | ADC12_ON;
    ADC12CTL1 = ADC12_SHT_SRC_SEL;
    ADC12CTL2 = ADC12_12BIT;
    ADC12MCTL0 = ADC12_P92;
}


#pragma vector = ADC12_VECTOR//0xFFEA//ADC12_VECTOR
__interrupt void ADC12_ISR (void)
{
    if(ADC12MEM0 > 0x0800)
        P4OUT = BIT3;
    else
        P4OUT = 0x00;

    ADC12CTL0 = ADC12CTL0 | ADC12SC;
}

cuando lo construyo, recibo esta advertencia.

#2580-D pragma vector = acepta argumentos numéricos o "unused_interrupt" pero no ADC12_VECTOR

Cuando lo depuro, y mi uC va a la Línea A y el bit ADC12SC está configurado, va a isr_trap.asm , y mi uC está atascado allí

Amablemente ayúdame con este problema.

Comienzo de EDIT_0

MSP430FR6989

Estudio de compositor de código 6.1.0

Compilador: TI v4.4.3

Fin de EDIT_0

Comienzo de EDIT_1

No puedo copiar y pegar el archivo .map aquí porque es demasiado grande, ya que superé el límite de caracteres para esta publicación.

En cambio, copié el archivo en un archivo de texto y lo envié a este enlace.

https://we.tl/t-4aECqSr4yA

Se llama ADC_ISR_UDEMY.map.txt

Fin de EDIT_1

Comienzo de EDIT_3

Perdón por la respuesta tardía, agradezco la ayuda de todos en este hilo.

Intenté hacer 3 proyectos, uno con Timer A0 CCR0 ISR ( ISR_TRAP_TIMER_TEST ), uno con ADC12_B ISR ( ISR_TRAP_ADC_TEST ) y otro con ADC12_B isr con @GVelascoh Header ( ISR_TRAP_ADC_HEADER_2 ).

ISR_TRAP_TIMER_TEST funcionó bien, el LED P1.0 parpadeaba

#include <msp430.h> 

#define ENABLE_PINS 0xFFFE

void init_Timer (void);

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer
    PM5CTL0 = ENABLE_PINS;
    P1DIR = BIT0;

    init_Timer ();

    _BIS_SR(GIE);

    while(1);

    return 0;
}

void init_Timer (void)
{
    TA0CTL = TASSEL__ACLK | MC__UP;
    TA0CCR0 = 3000;
    TA0CCTL0 = CCIE;
}

#pragma vector = TIMER0_A0_VECTOR //TA0 CCR0
__interrupt void Test_ISR (void)
{
    P1OUT = P1OUT ^ BIT0;

    //clear the flag
}

Construir:

**** Build of configuration Debug for project ISR_TRAP_TIMER_TEST ****

"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all 
'Building file: ../main.c'
'Invoking: MSP430 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/bin/cl430" -vmspx --abi=eabi --data_model=restricted --use_hw_mpy=F5 --include_path="C:/ti/ccsv6/ccs_base/msp430/include" --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include" --advice:power=all --advice:hw_config=all -g --define=__MSP430FR6989__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal --preproc_with_compile --preproc_dependency="main.pp"  "../main.c"
"../main.c", line 19: warning #112-D: statement is unreachable
"../main.c", line 17: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
'Finished building: ../main.c'
' '
'Building target: ISR_TRAP_TIMER_TEST.out'
'Invoking: MSP430 Linker'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/bin/cl430" -vmspx --abi=eabi --data_model=restricted --use_hw_mpy=F5 --advice:power=all --advice:hw_config=all -g --define=__MSP430FR6989__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal -z -m"ISR_TRAP_TIMER_TEST.map" --heap_size=160 --stack_size=160 --cinit_hold_wdt=on -i"C:/ti/ccsv6/ccs_base/msp430/include" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/lib" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include" -i"C:/ti/ccsv6/ccs_base/msp430/lib/5xx_6xx_FRxx" -i"C:/ti/ccsv6/ccs_base/msp430/lib/FR59xx" --reread_libs --priority --warn_sections --display_error_number --diag_wrap=off --xml_link_info="ISR_TRAP_TIMER_TEST_linkInfo.xml" --use_hw_mpy=F5 --rom_model -o "ISR_TRAP_TIMER_TEST.out" "./main.obj" "../lnk_msp430fr6989.cmd"  -l"libmath.a" -l"libc.a" 
<Linking>
remark #10372-D: (ULP 4.1) Detected uninitialized Port A in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port B in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port C in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port D in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port E in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
'Finished building target: ISR_TRAP_TIMER_TEST.out'
' '

**** Build Finished ****

ISR_TRAP_ADC_TEST El uC todavía va a isr_trap.asm

#include <msp430.h> 

#define ENABLE_PINS 0xFFFE

void init_ADC (void);

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer
    PM5CTL0 = ENABLE_PINS;
    P1DIR = BIT0;

    init_ADC ();

    _BIS_SR(GIE);

    ADC12CTL0 = ADC12CTL0 | ADC12ENC;
    ADC12CTL0 = ADC12CTL0 | ADC12SC;

    while(1);

    return 0;
}

void init_ADC (void)
{
    ADC12CTL0 = ADC12ON | ADC12SHT0_2;
    ADC12CTL1 = ADC12SHP;
    ADC12CTL2 = ADC12RES__12BIT;
    ADC12MCTL0 = ADC12INCH_10;

    ADC12IER0 = ADC12IE0;
}

#pragma vector = ADC12_VECTOR
__interrupt void ADC12_ISR (void)
{
    if(ADC12MEM0 > 0x0800)
        P1OUT = BIT0;
    else
        P1OUT = 0x00;
}

Construir:

**** Build of configuration Debug for project ISR_TRAP_ADC_TEST ****

"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all 
'Building file: ../main.c'
'Invoking: MSP430 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/bin/cl430" -vmspx --abi=eabi --data_model=restricted --use_hw_mpy=F5 --include_path="C:/ti/ccsv6/ccs_base/msp430/include" --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include" --advice:power=all --advice:hw_config=all -g --define=__MSP430FR6989__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal --preproc_with_compile --preproc_dependency="main.pp"  "../main.c"
"../main.c", line 22: warning #112-D: statement is unreachable
"../main.c", line 20: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../main.c", line 35: warning #2580-D: pragma vector= accepts numeric arguments or "unused_interrupts" but not ADC12_VECTOR
'Finished building: ../main.c'
' '
'Building target: ISR_TRAP_ADC_TEST.out'
'Invoking: MSP430 Linker'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/bin/cl430" -vmspx --abi=eabi --data_model=restricted --use_hw_mpy=F5 --advice:power=all --advice:hw_config=all -g --define=__MSP430FR6989__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal -z -m"ISR_TRAP_ADC_TEST.map" --heap_size=160 --stack_size=160 --cinit_hold_wdt=on -i"C:/ti/ccsv6/ccs_base/msp430/include" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/lib" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include" -i"C:/ti/ccsv6/ccs_base/msp430/lib/5xx_6xx_FRxx" -i"C:/ti/ccsv6/ccs_base/msp430/lib/FR59xx" --reread_libs --priority --warn_sections --display_error_number --diag_wrap=off --xml_link_info="ISR_TRAP_ADC_TEST_linkInfo.xml" --use_hw_mpy=F5 --rom_model -o "ISR_TRAP_ADC_TEST.out" "./main.obj" "../lnk_msp430fr6989.cmd"  -l"libmath.a" -l"libc.a" 
<Linking>
remark #10372-D: (ULP 4.1) Detected uninitialized Port A in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port B in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port C in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port D in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port E in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
'Finished building target: ISR_TRAP_ADC_TEST.out'
' '

**** Build Finished ****

ISR_TRAP_ADC_HEADER_2 Todavía tengo el mismo problema, donde el uC va a isr_trap.asm (espero haber agregado tu encabezado a la derecha @GVelascoh)

#include <msp430.h> 


#define ENABLE_PINS 0xFFFE

void init_ADC (void);

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer
    PM5CTL0 = ENABLE_PINS;
    P1DIR = BIT0;

    init_ADC ();

    _BIS_SR(GIE);

    ADC12CTL0 = ADC12CTL0 | ADC12ENC;
    ADC12CTL0 = ADC12CTL0 | ADC12SC;

    while(1);

    return 0;
}

void init_ADC (void)
{
    ADC12CTL0 = ADC12ON | ADC12SHT0_2;
    ADC12CTL1 = ADC12SHP;
    ADC12CTL2 = ADC12RES__12BIT;
    ADC12MCTL0 = ADC12INCH_10;

    ADC12IER0 = ADC12IE0;
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
    if(ADC12MEM0 > 0x0800)
        P1OUT = BIT0;
    else
        P1OUT = 0x00;
}
#elif defined(__GNUC__)
void __attribute__ ((interrupt(ADC12_VECTOR))) ADC12_ISR (void)
#else
#error Compiler not supported!
#endif

Construir:

**** Build of configuration Debug for project ISR_TRAP_ADC_HEADER_2 ****

"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all 
'Building file: ../main.c'
'Invoking: MSP430 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/bin/cl430" -vmspx --abi=eabi --data_model=restricted --use_hw_mpy=F5 --include_path="C:/ti/ccsv6/ccs_base/msp430/include" --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include" --advice:power=all --advice:hw_config=all -g --define=__MSP430FR6989__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal --preproc_with_compile --preproc_dependency="main.pp"  "../main.c"
"../main.c", line 23: warning #112-D: statement is unreachable
"../main.c", line 21: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../main.c", line 37: warning #2580-D: pragma vector= accepts numeric arguments or "unused_interrupts" but not ADC12_VECTOR
'Finished building: ../main.c'
' '
'Building target: ISR_TRAP_ADC_HEADER_2.out'
'Invoking: MSP430 Linker'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/bin/cl430" -vmspx --abi=eabi --data_model=restricted --use_hw_mpy=F5 --advice:power=all --advice:hw_config=all -g --define=__MSP430FR6989__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal -z -m"ISR_TRAP_ADC_HEADER_2.map" --heap_size=160 --stack_size=160 --cinit_hold_wdt=on -i"C:/ti/ccsv6/ccs_base/msp430/include" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/lib" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include" -i"C:/ti/ccsv6/ccs_base/msp430/lib/5xx_6xx_FRxx" -i"C:/ti/ccsv6/ccs_base/msp430/lib/FR59xx" --reread_libs --priority --warn_sections --display_error_number --diag_wrap=off --xml_link_info="ISR_TRAP_ADC_HEADER_2_linkInfo.xml" --use_hw_mpy=F5 --rom_model -o "ISR_TRAP_ADC_HEADER_2.out" "./main.obj" "../lnk_msp430fr6989.cmd"  -l"libmath.a" -l"libc.a" 
<Linking>
remark #10372-D: (ULP 4.1) Detected uninitialized Port A in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port B in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port C in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port D in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
remark #10372-D: (ULP 4.1) Detected uninitialized Port E in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
'Finished building target: ISR_TRAP_ADC_HEADER_2.out'
' '

**** Build Finished ****

Fin de EDIT_3

Comienzo de EDIT_4

Gracias por su ayuda, solucioné mi problema, desinstalé CCS v6.1.0 e instalé CCS 8.2.0, escribí el mismo programa y el problema desapareció.

Pensé en compartir esto, así que no lo dejaré colgado.

Fin de EDIT_4

Parece más que usted uC no sabe dónde saltar cuando llega la interrupción de ADC, por lo tanto, entra en pánico. Debe decirle a su controlador de interrupción que salte @ ADC12_Vector. ¿Estás seguro de que estás haciendo eso?
solo hace eso para la interrupción de ADC, no para el Timer0_A0 ISR, por ejemplo. como lo soluciono
Hasta donde yo sé, sí, habilité la interrupción ADC12 MEM0, la interrupción global, y cuando el valor en ADC12MEM0 cambie (conversión finalizada) saltará a la ISR
Bueno, la advertencia parece contar la historia. ADC12_VECTOR parece ser irresoluble a un valor numérico que espera el compilador. ¿Estás seguro de que estás usando el símbolo correcto?
¿Para qué CPU está configurado el compilador?
@Arsenal sí, ese es el símbolo correcto, incluso reemplacé el símbolo con el número hexadecimal, la advertencia desapareció, pero el uC todavía va a isr_trap.asm
@CL No sigo, si te refieres a la computadora portátil que estoy usando, es Dell Inspiron 15
¿Qué compilador estás usando para compilar ese programa? ¿Cómo se configura?
@CL Es TI v4.4.3 y se configuró como Depuración
@CL se refiere al compilador, si va a proyecto> propiedades> general, verá las opciones del compilador, podría estar usando el compilador TI o gcc. Pondré una posible solución como respuesta si este es el caso.
@GVelascoh Lo abrí y en la pestaña general/Configuración avanzada menciona la versión del compilador: TI v4.4.3 (compilador de Texas Instrument)
¿Podría publicar su archivo .map?
@GVelascoh lo publicaré en EDIT_1
@GVelascoh, era demasiado grande para agregarlo en la publicación, así que le agregué un enlace, espero que esté bien
Agregue las siguientes tres líneas: #if !defined (__MSP430FR5989__) #error __MSP430FR5989__ is not defined #endif¿Recibe un error?

Respuestas (2)

Desde su archivo de mapa, parece que su función ISR no está compilada ya que no hay ningún código asociado. En el "mapa de asignación de secciones" puede encontrar que no hay ninguna referencia al símboloADC12_ISR

.text:_isr 
*          0    00004400    00000020     
                00004400    0000001a     rts430x_lc_rd_eabi.lib : boot_special.obj (.text:_isr:_c_int00_noargs_noexit)
                0000441a    00000006                            : isr_trap.obj (.text:_isr:__TI_ISR_TRAP)

Esto es parte de un archivo de mapa para otro proyecto que tengo, vea cómo se detallan los símbolos ISR en él:

.text      0    0000c600    00000d30     
                0000c600    0000023c     main.obj (.text:main)
                   ...
                0000cc62    0000007e     my-lib-Debug_2.lib : events.obj (.text:events_insert)
                0000cce0    0000007c                            : i2c_master.obj (.text:_isr:USCIB0_ISR)
                0000ce30    0000005e     port_interrupts.obj (.text:_isr:Port3_ISR)
                   ...

Intente limpiar su proyecto y reconstruirlo nuevamente. Además, qué archivos está incluyendo, ya que el código que publicó no es compilable tal como es. Además, desde el archivo del mapa, veo que tiene otra función, ADC_SETUP.

Editar: solo veo que en su código no está desactivando el perro guardián, que está habilitado al inicio. Por lo general, esta línea se agrega al comienzo de la función principal para hacerlo:WDTCTL = WDTPW | WDTHOLD;


Si tu problema se debe al compilador, estas condicionales del preprocesador te ayudarán:

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = ADC12_VECTOR
__interrupt void ADC12_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(ADC12_VECTOR))) ADC12_ISR (void)
#else
#error Compiler not supported!
#endif
Perdón por la confusión, cuando publiqué solo traté de agregar un fragmento del código, no todo el código real, ya que estaba tratando de poner cosas relevantes de mi código en este hilo. ADC_SETUP es lo mismo que init_ADC. Cambiaré init_ADC a ADC_SETUP y pondré el código completo (como referencia). Desactivé WDT, pero no pensé que fuera relevante para la publicación, así que no lo agregué en mi código, solo lo reemplacé. con // código
Reemplacé el fragmento de mi código con el código real que estoy usando
Busqué en línea isr_trap.asm, y hay varios enlaces de los foros de TI que dicen que ocurre isr_trap si no borré el indicador de interrupción, que verifiqué que estaba borrado, o habilité 2 interrupciones pero solo hay una función ISR, y el segundo ISR se llama uC no sabe a dónde ir, que también verifiqué que solo hay una interrupción habilitada (ADC12IE0)
isr_trap.asm de alguna manera es una trampa/un punto de interrupción para mi depurador si el uC siente que hay algo mal con mi interrupción, intentaré nuevamente con 2 proyectos diferentes, uno para ADC ISR y el otro para Timer ISR y veré cómo va
En realidad ISR_trap()es la función predeterminada para procesar interrupciones, es decir, en caso de que habilites una interrupción pero no definas una ISR (u olvides hacerlo), ISR_trap()la procesará. Por defecto, todos los vectores de interrupción apuntan a esa función.
Como @CL preguntó en los comentarios, verifique que el dispositivo en las propiedades del proyecto sea el que está utilizando (MSP430FR6989) y que el archivo del vinculador coincida con el dispositivo. Además, puede publicar todos los mensajes de advertencia que recibe de la compilación, que también podrían ser útiles.
@GVeloscoh bueno, uso el asistente CCS para crear un proyecto y dejo el trabajo de compilar/construir y vincular a CCS, pensé que si no había problemas con los archivos del vinculador del proyecto isr del temporizador, entonces no debería haber un Problema con el proyecto ADC isr. Además, en la compilación de mi ISR_TRAP_ADC_TEST, menciona 'Building target: ISR_TRAP_ADC_HEADER_2.out' 'Invoking: MSP430 Linker'si es suficiente o debería hacer otra cosa
¿Podrías adjuntar tu archivo de enlace, por favor? Probé su código en CCS en línea y no genera la advertencia #pragma, y ​​está usando una versión más nueva del compilador.
Soy un poco principiante en microcontroladores, ¿cómo obtengo los archivos del enlazador de mi proyecto? (PD: mi CCS es Code Composer Studio 6.1.0)
Mi proyecto se llama ISR_TRAP_ADC_TEST, cuando creé un proyecto CCS creó una carpeta llamada ISR_TRAP_ADC_TEST ISR_TRAP_ADC_TEST/Debug/ISR_TRAP_ADC_TEST.out ¿Es el archivo .out el archivo enlazador que desea, si es así lo he puesto en este enlace we.tl/t -8hECUpt9i1
Si observa el directorio de su proyecto, encontrará un archivo .cmd, como lnk_msp430fr6989.cmd, que es el archivo del enlazador. por cierto, ¿por qué estás usando versiones antiguas de las herramientas de TI? CCS lo último es v8 y el compilador TI incluso cambió su sintaxis de control de versiones
Este es el enlace al enlazador (archivo .cmd) we.tl/t-RY9YecOvmJ Estoy haciendo un curso de Udemy para microcontroladores, y el curso sugirió que usara la versión 6 de CCS, para que el estudiante y el profesor puedan estar en el mismo página si había alguna pregunta con respecto a sus tutoriales. Actualizaré la versión cuando termine el curso o si resuelve este problema
Intente actualizar su compilador, creo que la última versión de TI 4.4.x es 4.4.8. No pude encontrar grandes diferencias con la última versión de linker file, aquí está, aunque linkerfile v1.206 . También puede verificar dónde está implementada la función isr_trap y antes de ella debería estar la lista de todos los vectores de interrupción. Puedes comparar cómo es la sintaxis allí.
Desinstalé CCS 6.1.0 e instalé CCS 8.2.0, y el problema desapareció. Gracias por la ayuda

Debe decirle al compilador qué microcontrolador está utilizando. Esto se pregunta al crear un proyecto, pero se puede cambiar más tarde con Proyecto → Propiedades → General → Dispositivo → Variante .

Hice eso, Variante: MSP430FRxxx