В какой среде открывать файлы prj/dtp?

У меня есть проект, который включает в себя «main.c», где мне нужно изменить несколько жестких переменных, но моя компания давно потеряла связь с кодировщиком по контракту, который написал код. Исходные файлы, которые я получил, включают типы файлов .dtp, .prj, .c и .r43, а IC — MSP430F437IPZ. У меня есть лицензия на IAR, и один нетехнический человек сказал мне, что это может быть то, что использовал подрядчик.

Я не могу открыть dtp/prj в IAH или в компоновщике кода или импортировать их, и когда я копирую/вставляю код в новый проект, пытаюсь его скомпилировать, он выдает ошибки в большинстве строк.

Вот некоторые из main.c на случай, если это поможет:

interrupt[TIMERA0_VECTOR] void Timer_A(void){
    Tb++;
    Ta++;
    HSF = (~HSF)&0x01;
    if(Tb >= 30){
        Tb = 0;
        P2OUT &= 0x7f;
    }
    if(Ta >= 120){
        Ta = 0;
        close_meter();
    }
}

interrupt[PORT2_VECTOR] void poweroff(void){
    P2IFG = 0x00;
    CCTL0 |= CCIE;
    LPM3_EXIT;
}
void main(void){
    int i;
    WDTCTL = WDTPW + WDTHOLD;
    FLL_CTL0 = XCAP14PF;
    SCFQCTL = 0x3f;
    SCFI0 = FN_2 | FLLD_4;
    FLL_CTL0 |= DCOPLUS;
    TACTL = TASSEL0 + TACLR + MC0;
    CCR0 = 16384;
    CCTL0 = CCIE;
    _EINT();

Прошу прощения, если не те вопросы задаю, я обычно аппаратно занимаюсь.


person Hatman    schedule 13.05.2019    source источник
comment
В примере кода явно используется набор расширений стандартного C (например, аннотации interrupt[XYZ_VECTOR]). Вам нужно будет точно определить, какой компилятор использовался, прежде чем вы сможете что-либо с ним сделать. Скорее всего, вам нужен не только конкретный компилятор и IDE, но и определенная версия этого компилятора и IDE. К сожалению, я сам не узнаю эту среду.   -  person zwol    schedule 13.05.2019
comment
Что именно вы здесь спрашиваете? Что использовалось при создании проекта? Вероятно, IAR Embedded Workbench. Возможно одна из старых версий.   -  person Eugene Sh.    schedule 13.05.2019
comment
в опубликованном фрагменте кода недостаточно информации. Однако вам придется настроить необходимую среду разработки. Сюда входят все библиотеки, все заголовочные файлы, компилятор, компоновщик, make-файл, make-утилита и т. д., которые необходимы в среде разработки.   -  person user3629249    schedule 13.05.2019
comment
В прошлый раз, когда я работал с MSP430, я использовал CodeWrit, для которого определенно не был написан пример кода, поскольку эта среда требовала написания отдельного файла для векторов прерываний.   -  person user3629249    schedule 13.05.2019
comment
Здесь на странице 171 перечислены различные типы файлов, используемые EWB. dtp нет, а остальные есть.   -  person Eugene Sh.    schedule 13.05.2019
comment
Я предположил, что dtp или prj — это файлы, которые мне нужны для открытия рабочей области, в которой я могу все это настроить, и мне просто нужна определенная среда, чтобы открыть ее. Должен ли я просто создать новое рабочее пространство в IAR и настроить все это?   -  person Hatman    schedule 13.05.2019
comment
@EugeneSh.ah, спасибо, я вижу, что prj — это старый формат проекта для IAR. я посмотрю как его открыть   -  person Hatman    schedule 13.05.2019
comment
Можешь попробовать. Все еще существует вероятность того, что синтаксис языковых расширений изменился между версиями.   -  person Eugene Sh.    schedule 13.05.2019
comment
Хм, кажется, я помню, когда я работал с MSP430 через IAR, векторы прерываний обозначались #pragma vector или что-то в этом роде. Хотя это было несколько лет назад.   -  person Christian Gibbons    schedule 13.05.2019
comment
Среда разработки для конкретного проекта имеет только файл проекта, локальные заголовочные файлы, локальные исходные файлы C и make-файл. Все остальные необходимые файлы связаны с необходимыми/будущими использоваться вами инструментами.   -  person user3629249    schedule 13.05.2019
comment
@ChristianGibbons Я где-то видел синтаксис, как в вопросе, но не могу вспомнить, где .. :( Но мне довелось работать с какой-то очень старой рабочей средой IAR (тогда Hitachi), так что это может быть она.   -  person Eugene Sh.    schedule 13.05.2019
comment
@ЕвгенийШ. Я помню, что видел синтаксис, отличный от синтаксиса #pragma vector, когда начал работать в Code Composer. Я не уверен, что когда-либо имел дело с прерываниями, когда использовал mspgcc, но я полагаю, что это не будет использовать синтаксис прагмы.   -  person Christian Gibbons    schedule 13.05.2019
comment
@ChristianGibbons Это будет использовать __attribute__ stackoverflow.com/questions/15500826/   -  person Eugene Sh.    schedule 13.05.2019
comment
У вас есть документация для MSP430? Включая техническое описание, документ о встроенных периферийных устройствах и т. д.? у вас есть библиотеки, заголовочные файлы и т. д. от TI?   -  person user3629249    schedule 13.05.2019
comment
Учитывая возраст MSP430, я ожидаю, что CodeComposer IDE (от TI) будет правильным выбором.   -  person user3629249    schedule 13.05.2019
comment
@ЕвгенийШ. спасибо за советы, я использовал новое рабочее пространство и просто вставил свой код, оказывается, что до сих пор масса ошибок была из-за очень старого синтаксиса. я заменяю все это новыми терминами и ошибки быстро исчезают   -  person Hatman    schedule 13.05.2019


Ответы (1)


Копирование/вставка кода в новое рабочее пространство в IAR сработало. Чтобы избавиться от всех ошибок, мне просто нужно было обновить устаревший синтаксис прерываний от

interrupt[TIMERA0_VECTOR] void Timer_A(void){

а также

interrupt[PORT2_VECTOR] void poweroff(void){

to

#pragma vector = TIMER0_A0_VECTOR
__interrupt void Timer_A(){

а также

#pragma vector = PORT2_VECTOR
__interrupt void poweroff(void){

Спасибо @Eugene Sh. и @Christian Gibbons за разговор о том, что синтаксис прерывания выглядит старым и сомнительным, что поставило меня на правильный путь.

person Hatman    schedule 13.05.2019