Использование Visual Studio для разработки прошивки MSP430 - PullRequest
0 голосов
/ 14 ноября 2018

Привет, я мигрирую проект Code Composer Studio в Visual Studio 2017 (Visual GDB)

Я создал новый пример проекта, как объяснено здесь для MCU: MSP430 FR5729

Затем включил (скопировал) все файлы .c и .h в папку Source files в моем обозревателе решений

При попытке создать проект я получаю четыре ошибки

Параметр атрибута 'interrupt' 96 выходит за границы msp430fr5729

Параметр атрибута 'interrupt' 86 выходит за границы msp430fr5729

Атрибуту 'interrupt' требуется целочисленная константа msp430fr5729

Атрибут 'interrupt' требует целочисленной константы msp430fr5729

Я сделал аналогичную миграцию для других MCU MSP430 F149 , и это работало как чудо.

Здесьэто сегменты кода, в которые он выдает ошибки

параметр 96 атрибута 'interrupt' выходит за границы msp430fr5729

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
#elif defined(__GNUC__)
/**
 * \brief 
 */
void __attribute__ ((interrupt(USCI_A0_VECTOR))) USCI_A0_ISR (void)
#else
#error Compiler not supported!
#endif

msp430fr5729.h файл содержит

#define USCI_A0_VECTOR      (0x0060) /* 0xFFF0 USCI A0 Receive/Transmit */

атрибут 'interrupt'Параметр 86 выходит за пределы msp430fr5729

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_A1_VECTOR))) USCI_A1_ISR (void)
#else
#error Compiler not supported!
#endif

msp430fr5729.h Файл содержит

#define USCI_A1_VECTOR      (0x0056) /* 0xFFE6 USCI A1 Receive/Transmit */

* атрибут прерывания требует целочисленной константы msp430fr5729

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A0 (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMER_A0_VECTOR))) Timer_A0 (void)
#else
#error Compiler not supported!
#endif

msp430fr5729.h не содержит TIMER_A0_VECTOR определен

атрибут 'прерывание' требует целочисленной константы msp430fr5729

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMER1_A0_VECTOR
__interrupt void Timer1_A0 (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMER_A0_VECTOR))) Timer1_A0 (void)
#else
#error Compiler not supported!
#endif

msp430fr5729.h не содержит TIMER_A0_VECTOR определено

Любая помощь будет принята с благодарностью

Информация о версии для msp430fr5729.h

/********************************************************************
*
* Standard register and bit definitions for the Texas Instruments
* MSP430 microcontroller.
*
* This file supports assembler and C development for
* MSP430FR5729 devices.
*
* Texas Instruments, Version 1.23
*
* Rev. 1.0, Setup
* Rev. 1.1  Fixed definition of RTCTEV__0000 and RTCTEV__1200
*           Removed not availabe bits RTCMODE and RTCSSELx
*           Added PxSELC registers
* Rev. 1.2  Removed Port Drive Strenght Registers
* Rev. 1.3  updated PxSELC register address to offset 0x16 (instead of 0x10)
*
********************************************************************/
...