Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: eclipse для Fujitsu
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
jum_kaash
Установил вот эту! сборку эклипса и добавил в неё MinGW.
По указанному там гайду пытаюсь помигать светодиодом
Код
#include "mb90540.h"
#include <stdlib.h>
#include <stdio.h>

void main(void)
{
    DDRA_DA0=1;
    while(1)
    {
        PDRA_PA0|=PDRA_PA0;
    }
}

подчеркивает DDRA_DA0 и PDRA_PA0.

в mb90540.h подчеркивает строчки вида
Код
__IO_EXTERN __io DDRASTR _ddra;

в vectors.c подчеркивает все ICRxx.

WTF?!!

Заранее спасибо за помощь.
AHTOXA
Ему не нравится __io - это нестандартное расширение языка.
Определите дефайн __io: меню Project - Properties, затем C/C++ General - Paths and Symbols.
Вкладка Symbols, GNU C, Add - __io.
jum_kaash
Цитата(AHTOXA @ Sep 8 2011, 11:31) *
Ему не нравится __io - это нестандартное расширение языка.
Определите дефайн __io: меню Project - Properties, затем C/C++ General - Paths and Symbols.
Вкладка Symbols, GNU C, Add - __io.


так?


так исчезли все подчеркивания, но появилось "*** E4304L: Symbol name is not found (__io)"

Ошибку нашел,
Пока диод не мигает. Буду разбираться.
Большое спасибо за помощь.
jum_kaash
Подскажите пожалуйста значения для __interrupt, __far, __direct, __nosavereg.
AHTOXA
Попробуйте пустые значения.
jum_kaash
Цитата(AHTOXA @ Sep 9 2011, 08:41) *
Попробуйте пустые значения.


Начинает показывать кучу очень странных ошибок.
Например "E4062C: syntax error near `1'" ,
подчеркивая всю строчку __interrupt void uart0_RX_IRQ(void); //reg bank 17

Если замену не указывать то подчеркивает желтым неизвестные слова и "Syntax error", но в Проблемах ничего не пишет и файл создает.

Попробую, может так работать будет.
AHTOXA
Тут дело вот в чём. Сначала эклипса самостоятельно парсит код, и подчёркивает ошибки, которые по её мнению имеются. (Как раз здесь вылезают ошибки от нестандартных слов.) Потом уже компилятор компилирует код, и эклипса подчёркивает ошибки, которые выдаёт компилятор (они появляются в Проблемах).
Ошибки первого типа - не мешают компиляции. В моём случае для избавления от них оказалось достаточно определить пустые символы __io и прочие. Но у меня компиляция производится под управлением моего makefile, то есть, эти дефайны влияют на то, как эклипса парсит код, но не влияют на компиляцию. В вашем случае, похоже, эти дефайны передаются компилятору, отчего и возникает путаница.
Выходов у вас два - убрать дефайны и не обращать внимания на подчёркивания эклипсы, или перейти на свой мейкфайл.
jum_kaash
Первый вариант =)
На данный момент прерывания UART работают, так и оставлю.

Спасибо за информацию.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.