Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по Eclipse, CDT, Zylin embedded CDT
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
ST_Senya
Люди впорос по OpenOCD, ну к эой теме так же относящейся по скольку OpenOCD хочу запустить через дебаггер подключённый к Eclipse. Подключаюсь к отладочной плате через OpenOCD. Набираю там команду
flash probe 0
или например как в доке написано
flash protect 0 0 1 off
и получаю на это ответ

command requires more arguments in procedure 'flash', called at file 'command.c', line 650 called at file 'command.c', line 361

В чём ошибка??? Вроде всё по доке делаю, почитад форумы у всех эта команда работает.... а тут вот такое дело. OpenOCD версии 0.4.0
ШевченкоПетр
Цитата(ST_Senya @ Aug 17 2010, 08:58) *
Люди впорос по OpenOCD, ну к эой теме так же относящейся по скольку OpenOCD хочу запустить через дебаггер подключённый к Eclipse. Подключаюсь к отладочной плате через OpenOCD. Набираю там команду
flash probe 0
или например как в доке написано
flash protect 0 0 1 off
и получаю на это ответ

command requires more arguments in procedure 'flash', called at file 'command.c', line 650 called at file 'command.c', line 361

В чём ошибка??? Вроде всё по доке делаю, почитад форумы у всех эта команда работает.... а тут вот такое дело. OpenOCD версии 0.4.0


Ошибка в синтаксисе команды.
Если openocd запускается из командной строки, то перед командой ставиться ключ -с :

openocd -f<конфиг интерфейса> -f<конфиг таргета> -с flash banks

Если конфигурация находиться в окне Eclipse для команд gdb, то перед командой openocd пишут monitor :

monitor flash banks
ST_Senya
Да нет в том то и дело что я так и делаю....
И не черта не работет.....
Бох с ним с отладочником GDB, хотя бя с OPENOCD разобраться
Допустим запускаю два терминала.
В первом терминале набираю команду: openocd.exe -f openocd.cfg. Ну естественно с путями и со всем прочим. В конфигурациооном файле настройка на JTAG выбор параллельного порта, и настрйка на проц, по умолчанию, она лежит в папках. Отладочная плата SMDK6410, с процом на борту S3C6410, на базе ARM11.... Он пишет типо что нашёл проц и готов к работе.

Во втором терминале набираю: telnet localhost 4444
Входим в On-chip debugger>
там то я и набираю команды
flash probe 0
или
flash protect 0 0 1 off
и др.
Такие команды как допустим останвить проц, просмотреть содержание регистрв, перезапустить, такие команды работают, а вот выше перечисленые для работы с флэшом хрен тама....

Я Уже задавал этот вопрос в темах, и если вы заметите он остлся без ответаа... Многие работают с OpenOCD но не кто не может дть ответа ... А главное я не знаю в чём ошибка и почему не работает, и откуда начать копать.... Мне проект разрабатывать надо, и прошить загрузочник операционки в NAND флэш, через JTAG... А ещё с ECLIPsom разобраться. Может кто контакт свой оствит хотя бы чтобы в Online спросить.
ШевченкоПетр
Цитата(ST_Senya @ Aug 24 2010, 09:12) *
Такие команды как допустим останвить проц, просмотреть содержание регистрв, перезапустить, такие команды работают, а вот выше перечисленые для работы с флэшом хрен тама....


Откуда берете файл openocd.cfg? Попробуйте лучше взять стандартные из каталога openocd, я так понял, что отладчик Wiggler

openocd -f interface/parport.cfg -f target/samsung_s3c6410.cfg

Может еще аппаратная быть проблема, например с тактовым генератором или память физически не подключена, проверьте положение перемычек на плате согласно документации
ST_Senya
Файл cfg сам написал. В том то идело чо вроде как должен прокатить, он же вроде к процу подключается.... Но при этом эти команды не работают, ошибку не выдаёт, просто типо то что команде не достаточно аргуентов, и так всегда, хотя синтаксис команды по примерам должен проходить спокойно.
AHTOXA
У разных типов флеша разные команды с разным синтаксисом. У вас примеры от какого процессора?
ST_Senya
Ну вообще прмеры я брал из документа описния OpenOCD, там вроде флэш и проц не конкретизируется, а говорится об общем. И ещё одни примеры тут на форумах...
AHTOXA
Вот это читали?
ST_Senya
Сейчас прочту)) правдо с английским у меня не очень но поробую)))

Кстати вот содержимое конфигурационного файла openocd.cfg

interface parport
parport_port 0x378
parport_cable arm-jtag
source [find target/samsung_s3c6410.cfg]

Открываю терминал1. тм набираю: openocd.cfg
и получаю рис.1.
Далее открываю терминал2, где набираю: telnet localhost 4444
И после захода в в On-Chip debugger набирая эти команды, получаю рис2.

пробежал я глазами по этому документу, впринципе статья из описания OpenOCD. Вот я вписал в скрипт команду nand list и запустил

interface parport
parport_port 0x378
parport_cable arm-jtag
source [find target/samsung_s3c6410.cfg]
nand list

На что получил рис1. токо с надписью что типо не хватает аргументов для команды nand list. Так и не работают эти комнды((((
AHTOXA
nand list надо было набирать как раз в терминале (в телтете).
Openocd сейчас находится в стадии бурного развития и реструктуризации, поэтому документация часто отстаёт от реального положения дел.
И вообще, вот по этой ссылке человек пишет, что для работы с NAND нужно самому собирать openocd из свежих исходников. Правда, неясно, когда это было написаноsmile.gif
dimka76
Подскажите, люди добрые, как в Eclipse сделать так, чтобы перед компиляцией все не сохраненные файлы сохранялись бы автоматически.
AHTOXA
Меню "Window" - "Preferences", слева "General"\"Workspace", справа птичка "Save automatically before build".
dimka76
Цитата(AHTOXA @ Aug 27 2010, 08:58) *
Меню "Window" - "Preferences", слева "General"\"Workspace", справа птичка "Save automatically before build".


Спасибо )))
IgorKossak
QUOTE (dimka76 @ Aug 27 2010, 08:11) *
Спасибо )))

Полезно также снять галочку Window->Preferences->General->Workspase->Build automatically, чтобы не вызывать билд всякий раз при сохранении файлов.
dimka76
Цитата(IgorKossak @ Aug 27 2010, 17:30) *
Полезно также снять галочку Window->Preferences->General->Workspase->Build automatically, чтобы не вызывать билд всякий раз при сохранении файлов.


Спасибо за совет smile.gif . Но снята она с самого начала, только в другом месте. Project->Build automatically.
IgorKossak
QUOTE (dimka76 @ Aug 28 2010, 07:21) *
Спасибо за совет smile.gif . Но снята она с самого начала, только в другом месте. Project->Build automatically.

Разница в том, что настройки Window->Preferences касаются воркспейса и наследуются всеми проектами в данном воркспейсе, что избавляет от необходимости делать аналогичные настройки в каждом проекте.
AlexMad
В настройках быстрых клавиш есть две строки с именем "Toggle breakpoint". В одной в комментарии стоит:"Toggle breakpoint in disassembly ruler", в другой:"Creates or removes a breakpoint".

В моем понимании, комментарий - это вторично, есть команда переключить состояние точки входа. Но у меня, почему-то, уже давно заметил, срабатывает по быстрой клавише только тогда, когда клавиша (F9) назначена на второй вариант, при этом в первом варианте должны быть удалены назначения клавиш.

И вот вопрос: это только у меня или это связано с системой (kubuntu, версии разные), или же это глюк эклипса?

alekstr
Подскажите, кто в последнее время ставил в Eclipse плагин Zylin embedded CDT. Прописываю location: http://opensource.zylin.com/zylincdt - Eclipse плагин не находит. Иду по этой ссылке через браузер - там сообщение "Pages have moved". В результате небольшого поиска нашел на этом сайте страничку "Zylin Embedded CDT" с сообщением "The binary downloads and source code for Zylin Embedded CDT is now hosted at Ultimate Solutions server." Перешел по ссылке - попал на страничку регистрации, зарегистрировался, но письма с сылкой на загрузку плагина так и не получил. Может кто знает альтернативные источники загрузки?
spasbyspas
Цитата(alekstr @ Sep 13 2010, 07:30) *
Подскажите, кто в последнее время ставил в Eclipse плагин Zylin embedded CDT. Прописываю location: http://opensource.zylin.com/zylincdt - Eclipse плагин не находит. Иду по этой ссылке через браузер - там сообщение "Pages have moved". В результате небольшого поиска нашел на этом сайте страничку "Zylin Embedded CDT" с сообщением "The binary downloads and source code for Zylin Embedded CDT is now hosted at Ultimate Solutions server." Перешел по ссылке - попал на страничку регистрации, зарегистрировался, но письма с сылкой на загрузку плагина так и не получил. Может кто знает альтернативные источники загрузки?


Привет!
Подтверждаю, что действительно есть проблем. Совсем недавно я добавил по этой же ссылке на новый Еclips Helios, Zylin plugin.
Если вы не нашли другое решение, я могу дать вам то, что установлено в папке плагинов. По крайней мере, я никогда не имел проблем с простого копирования.
alekstr
Цитата(spasbyspas @ Sep 13 2010, 13:53) *
Если вы не нашли другое решение, я могу дать вам то, что установлено в папке плагинов. По крайней мере, я никогда не имел проблем с простого копирования.

Пока ничего не нашел. А в папку плагинов достаточно это просто скопировать? И как это состыкуется с собственным Eclipse CDT?
spasbyspas
Да, я использовал этот вариант (копирования) и не было никаких проблем. Найдено прямая связь, но он может быть загружен архив, а затем распаковать его в Eclipse. http://repo.or.cz/w/zylincdt.git
alekstr
Цитата(spasbyspas @ Sep 13 2010, 14:53) *
Найдено прямая связь, но он может быть загружен архив, а затем распаковать его в Eclipse. http://repo.or.cz/w/zylincdt.git


Подскажите, какой архив скачивать и как его распаковать в Eclipse
spasbyspas
Более удобным для меня, чтобы дать вам ссылку, чтобы разархивировать в главный каталог Eclipse. Один в папка plugins и другую папку features.
zylincdtlocal_4.14.1.rar
http://ifile.it/pe6ldvn

Вот и screеn:
http://ifile.it/vz8oqas
alekstr
Цитата(spasbyspas @ Sep 13 2010, 16:12) *
Более удобным для меня, чтобы дать вам ссылку, чтобы разархивировать в главный каталог Eclipse. Один в папка plugins и другую папку features.
zylincdtlocal_4.14.1.rar
http://ifile.it/pe6ldvn

Вот и screеn:
http://ifile.it/vz8oqas

Спасибо, вроде заработало.
injen-d
Цитата(alekstr @ Sep 13 2010, 07:30) *
... зарегистрировался, но письма с сылкой на загрузку плагина так и не получил. Может кто знает альтернативные источники загрузки?

Я попробовал зарегистрироваться сразу с двух ящиков: один на mail.ru другой на gmail.com. Ответ пришел только на тот, что на gmail.com.
В письме всего лишь ссылка на эту страницу: http://www.ultsol.com/zylin-cdt.html
А на данной страничке всего лишь написано, что при обычном способе установки zylin-cdt из Eclipse, нужно прописать следующий адрес: http://www.zylin.com/zylincdt

Скачалось, установилось, работает.
IgorKossak
QUOTE (injen-d @ Sep 15 2010, 19:46) *
Скачалось, установилось, работает.

И это правильный способ, т. к. разработчиками Eclipse ясно сказано - не устанавливать плагины распаковкой архива.
При штатном способе установки обязательно проверяются зависимости, чего нет при распаковке.
spasbyspas
Цитата
... А на данной страничке всего лишь написано, что при обычном способе установки zylin-cdt из Eclipse, нужно прописать следующий адрес: http://www.zylin.com/zylincdt


Спасибо!
IgorKossak
Вопросы по установке AVR32 studio выделил в отдельную тему и перенёс сюда.
sangre
доброго всем времени суток.
вопрос по eclipse, gdb, gdbserver, arm и linux
у меня есть компутер, на нем я имею ubuntu 10.10, немного софта(не относящегося к делу) и относящийся: eclipse, набор кросс-компиляторов (arm-angstrom-linux-gnueabi-...), обычный gdb, специально скомпилированный gdb (работающий на i686, но работает с кодом для arm)
у меня есть плата at91sam9xeek, на ней: angstrom linux, gdb (соответственно работающий на arm и с кодом для arm), gdbserver тоже работающий на arm.
задача: безнаказанно отлаживать код для arm в eclipse. по рабоче крестьянски, если пользоваться на большой манише gdb в терминале - то все работает. он связывается с gdbserver на arm, что то делает и в общем можно сказать что как то работает (еще бы я умел с ним работать), но с эстетической точки зрения мне кажется что это не камильфо. есть желание что бы eclipse со всеми связывался и все культурно мне отображал и давал посмотреть и попробовать поменять. вро де бы eclipse даже пытается работать, вроде как подсоединяется к gdbserver на arm, но потом выдает следующее:

Error in final launch sequence
Failed to execute MI command:
-exec-run
Error message from debugger back end:
The "remote" target does not support "run". Try "help target" or "continue".
The "remote" target does not support "run". Try "help target" or "continue".

может поможет кто расшифровать глубокий смысл и средства для излечения?
Сергей Борщ
QUOTE (sangre @ Dec 14 2010, 10:16) *
может поможет кто расшифровать глубокий смысл и средства для излечения?
Поставьте в эклипсе в настройках дабаг-конфигурации галочку verbose console mode. Возможно там будет более продробная информация.
sangre
можно поподробнее? что то не нашел

Цитата(sangre @ Dec 14 2010, 12:28) *
можно поподробнее? что то не нашел
и еще, я так полагаю под linux zylin плагин не нужен?



ну и еще для кучи вопрос, когда я завожу на arm gdbserver, он слухает порт, слухает и слухает, как его выгнать из этого состояния? ни на что не реагирует! а перегружать всю платку как то не комфортно
Сергей Борщ
QUOTE (sangre @ Dec 14 2010, 11:31) *
можно поподробнее? что то не нашел
Debug configurations на вкладке Debugger галочка Verbose console mode. После запуска Debug в окне Debug выбираем ветку c gdb и в окне Console смотрим о чем же они договорились. Или в окне console выбираем консоль дебагера.
sangre
не, нету такой галки. есть:
- non-stop mode
- enable reverse debugging at startup
- force thread list update on suspend

а в консоли вообще ничего не говорит. даже команды задавать не хочет
_3m
У меня эклипс время от времени перестает собирать проект с маловразумитеьной ошибкой, уже начинает доставать. В консоль выдает такое:
Код
**** Rebuild of configuration Debug for project sourcerey1 ****

**** Internal Builder is used for build               ****
arm-none-eabi-gcc -I/home/user/workspace/sourcerey1/include -O0 -ffunction-sections -fdata-sections -Wall -Wa,-adhlns=$@.lst -c -fmessage-length=0 -mcpu=arm926ej-s -g3 -gdwarf-2 -osrc/imx-serial.o ../src/imx-serial.c
Internal Builder: Cannot run program "/home/user/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-eabi-gcc": Unknown reason
Build error occurred, build is stopped
Time consumed: 234  ms.


Лечится это только перезапуском эклипса, после чего он работает какое-то время а потом снова дурит.
Из консоли руками компилятор вызывается без проблем это похоже Internal Builder дурит.
sangre
это в виндах что ли?
_3m
Цитата(sangre @ Dec 15 2010, 14:03) *
это в виндах что ли?

Ubuntu 10.04 (32-bit)

Eclipse IDE for C/C++ Developers
Version: Helios Service Release 1
Build id: 20100917-0705
IgorKossak
_3m, проапдейтить CDT пробовали? Вам нужен 7.0.1
_3m
Цитата(IgorKossak @ Dec 15 2010, 17:47) *
_3m, проапдейтить CDT пробовали? Вам нужен 7.0.1

Стоит

Eclipse C/C++ Development Tools

Version: 7.0.1.201009241320
Build id: 201009241320
Сергей Борщ
В режиме отладки после запуска и останова если открыта вкладка Variables, в ней сворачиваются все открытые структуры. Приходится каждый раз после останова снова нажатием на плюсики добираться до нужного поля структуры или класса. При пошаговой отладке или если открыта другая вкладка - структуры остаются развернутыми. Как заставить его не сворачивать структуры?
AndOr
Доброго всем...
Пишу сюда из уважения к автору темы a14.gif
Но, вынужден добавить свою ложку дегтя к хваленому Eclipse.
Нахожусь в состоянии поиска и тестирования халявных IDEшек для работы с LPC2478 (на замену IAR).
Итак недостатки (кроме, разумеется, тяжеловесности и не простой настройки, об этом понаписано уже немало):
1. При импорте проекта с ассемблерными файлами *.s (или просто при открытии), то вместо русских комментов получите крокозябры:
Нажмите для просмотра прикрепленного файла
Выход конечно был найден - копипастить через блокнот.
Но тут Вас подстерегает засада №2:
2. После сохранения в Eclipse блокнотом уже пользоваться не удастся, т.е. если вдруг понадобится скопипастить кусок кода из Makefile, ххх-rom.ld, Startup.s или из *.h файлов - придется грузить воркспейс с проектом и копировать из окна Eclipse-вского редактора.
3. Мне так и не удалось настроить привычную для меня расцветку синтаксиса typedef-ов если Eclipse не "видит" stdint.h
Я это обнаружил когда вместо CodeSoursery подключил IAR-овский тулчейн и Eclipse вдруг засветил синтаксис:
Нажмите для просмотра прикрепленного файла
Не поленился, стал разбираться.
Так вот Eclipse почему-то видит IAR-овский stdint.h, который х.з. где зарыт, а вот в автоматом подключаемых инклюдах от CodeSoursery не видит:
Нажмите для просмотра прикрепленного файла
При попытке открыть Open Declaration (F3) пишет вот что:
Нажмите для просмотра прикрепленного файла
Экспортировать свою боевую расцветку синтаксиса в файл для переноса на др. комп. не удастся, а только лишь стиль:
Нажмите для просмотра прикрепленного файла
4. Плагин от IAR, как я понял, есть интерфейс Eclipse к установленному IAR-овскому воркбенчу, т.е. тогда это не халява!
Кроме того так и не понял как из выходной кучи объектников *.o собрать elf и hex.
Попытка запустит постпроцессом GCC-шный -objcopy отказал за несовместимость, сильно надеюсь на помощь сообщества rolleyes.gif
5. Это проблемы GCC ARM тулчейнов:
при спользовании sprintf с форматированием чисел типа такого:

if(sprintf(s, "Cont2/10 = %i.%u", cont2/10, cont2%10) > 0)
str_to_lcd_xy(s, font10x7, 200, 480 - 6*16, use_fcolor, use_bcolor);
else str_to_lcd_xy("Ошибочка2!", font10x7, 200, 480 - 6*16, DKGREY, BLACK);

почему-то жалуется, что параметры i и u должны быть unsigned int, а задан тип long int. Как обойти проблему пока не знаю, опять надеюсь на помощь сообщества rolleyes.gif
Ну и последнее:
Ни CodeSoursery Lite ни WinARM ни Yagartu ни kgp сборка уважаемого Klen'а не понимают команду sed в Makefile.
Например:
%.d: %.c
set -e; $(CC) -MM $(addprefix -I,$(SOURCEDIRS)) $< | sed 's/\.o[ :]*/\.o $(subst /,\/,$@) : /' | sed 's/^\(.*\.o\)/$(subst /,\/,$(dir $<))\1/' > $@

Я где-то видел, что это вроде как для редактирования текста, типа заменить одни крокозябры на другие.
Мне эта команда попалась в демке от Terra вместе с платой TE-LPC2478LCD56.
Разбираться не стал - закомментил эти две строки, в результате компилится и работает, но обида осталась.
Всем удачи, жду советов...
IgorKossak
Цитата(AndOr @ Jan 13 2011, 03:00) *
1. При импорте проекта с ассемблерными файлами *.s (или просто при открытии), то вместо русских комментов получите крокозябры

Дя начала разберитесь в какой кодировке Вы эти файлы создавали. Затем проверьте, в какой пытаетесь их смотреть.
Window->Preferences->General->Workspace->Text file encoding
Цитата(AndOr @ Jan 13 2011, 03:00) *
Так вот Eclipse почему-то видит IAR-овский stdint.h, который х.з. где зарыт, а вот в автоматом подключаемых инклюдах от CodeSoursery не видит

В системной переменной PATH должен быть путь к папке, где лежат arm-none-eabi-... файлы.
Project->Properties->C/C++->Discovery Options->Clear discovered entries now: Clear
Там же: Compiler invocation command: arm-none-eabi-gcc(или g++)
Запустите компиляцию и посмотрите обнаруженные инклуды.
Кроме того, в контекстном меню проекта (правой кнопкой по названию проекта) есть пункт Index. Иногда полезно делать Index->Rebuild, Index->Search for unresolved includes
Ещё одна полезная вещь: Window->Show View->Include Browser. Перетаскиваете в этот вид файл исходника из вида проекта и смотрите всю иерархию инклудов.
AndOr
Цитата
Дя начала разберитесь в какой кодировке Вы эти файлы создавали. Затем проверьте, в какой пытаетесь их смотреть.

Это я пробовал, поверьте, перебрал фсе 7 вариантов.
Мне как пользователю пофиг, Cp1251 там было или что то еще, это же просто текст а не Word-овый документ.
К стати виндовозный блокнот и CodeBlocks открывают правильно, а Eclipse нет.
Я даже пробовал текст с крокозябрами из окна Eclipse скопипастить и распознать с помощью SHTIRLITZ'а - тоже не вышло.

Цитата
В системной переменной PATH должен быть путь к папке, где лежат arm-none-eabi-... файлы.
Project->Properties->C/C++->Discovery Options->Clear discovered entries now: Clear
Там же: Compiler invocation command: arm-none-eabi-gcc(или g++)

Все так и настроено, причем автоматом при установке плагинов от CodeSourcery и инсталяции тулчейна CodeSourcery Lite.
Сейчас попробовал по-переключась профайлы Discovery - без результатно в части расцветки, но код компилится нормально.
Может надо тут поковырять?!
Нажмите для просмотра прикрепленного файла

Цитата
Кроме того, в контекстном меню проекта (правой кнопкой по названию проекта) есть пункт Index. Иногда полезно делать Index->Rebuild, Index->Search for unresolved includes
Ещё одна полезная вещь: Window->Show View->Include Browser. Перетаскиваете в этот вид файл исходника из вида проекта и смотрите всю иерархию инклудов.

первое не помогло...
второе засветило проблему:
Нажмите для просмотра прикрепленного файла
последнее тоже хорошая весч - засвечивает проблемные места, спасибо!
Нажмите для просмотра прикрепленного файла
однако результата пока нет - синтаксис не расцветает, растет один бамбук 05.gif
Жду дальнейших рекомендаций...
IgorKossak
Покажите, что у Вас в папке проекта Includes после дискаверинга получилось.
Посмотрите также Project->Properties->C/C++->Paths and Symbols->Includes (по языкам).
Второе. Что у Вас за проект? Чистый makefile или Вы каким-то визардом типа arm-eclipse пользовались?

Цитата(AndOr @ Jan 13 2011, 12:12) *
Может надо тут поковырять?!

Не надо, у меня так же.
Сергей Борщ
QUOTE (AndOr @ Jan 13 2011, 03:00) *
5. Это проблемы GCC ARM тулчейнов:
при спользовании sprintf с форматированием чисел типа такого:

if(sprintf(s, "Cont2/10 = %i.%u", cont2/10, cont2%10) > 0)
str_to_lcd_xy(s, font10x7, 200, 480 - 6*16, use_fcolor, use_bcolor);
else str_to_lcd_xy("Ошибочка2!", font10x7, 200, 480 - 6*16, DKGREY, BLACK);

почему-то жалуется, что параметры i и u должны быть unsigned int, а задан тип long int. Как обойти проблему пока не знаю
Как объявлены переменная cont2? Если она (unsigned)long int, то надо писать %il.%ul. И GCC ARM тут не при чем.
AndOr
После дискаверинга происходит исчезновение инклюдов из дерева проекта.
Перепробовал разные варианты этого пункта, типа Discovery Profiles Scope -> Configuration Wide / Per Language.
Нажмите для просмотра прикрепленного файла
После Clean и Build в дереве появляются инклюды:
Нажмите для просмотра прикрепленного файла

В Path and symbols все пути к CodeSourcery прописаны и символы в таблице наблюдаются.
Проект - это GCC демка скачанная с сайта Terraelectronica, там стартап рамконфиг мейкфайл и т.д. присутствовало, я только sed закоментил.
Импортировал в Eclipse в соответствии с рекомендациями от Yagartu.
Результат - компилится и на плате работает, т.е. точка за пальцем бегает и след на ЖКД оставляет...
Что-бы не терять время, я уже развил эту же самую демку, но под IAR-ом и скоро упрусь в кикстартовое ограничение... срочно нужна рабочая халява...

Цитата
Как объявлены переменная cont2? Если она (unsigned)long int, то надо писать %il.%ul. И GCC ARM тут не при чем.

int main()
{
uint32_t cont1, cont2;
uint16_t use_fcolor = GREEN;
Тоже самое в IAR не вызывает недоразумений.

В stdin.h нашел следующее:
CODE
#if __have_long32
typedef signed long int32_t;
typedef unsigned long uint32_t;
#define __int32_t_defined 1
#elif __STDINT_EXP(INT_MAX) == 0x7fffffffL
typedef signed int int32_t;
typedef unsigned int uint32_t;
#define __int32_t_defined 1
#elif __STDINT_EXP(SHRT_MAX) == 0x7fffffffL
typedef signed short int32_t;
typedef unsigned short uint32_t;
#define __int32_t_defined 1
#elif __STDINT_EXP(SCHAR_MAX) == 0x7fffffffL
typedef signed char int32_t;
typedef unsigned char uint32_t;
#define __int32_t_defined 1
#endif

т.е. мне нужно для совместимости _STDINT_EXP(INT_MAX) == 0x7fffffffL где-то указать ???
Сергей Борщ
QUOTE (AndOr @ Jan 13 2011, 13:30) *
В Path and symbols все пути к CodeSourcery прописаны
А в path виндовса прописан путь к arm-none-eabi-gcc.exe? Ведь эклипса вызывает ее без указания абсолютного пути (во всяком случае именно так у вас прописан вызов в окне Discovery в строке Compiler invocation command. Попробуйте запустить arm-none-eabi-gcc.exe из командной строки - найдется?
QUOTE (AndOr @ Jan 13 2011, 13:30) *
т.е. мне нужно для совместимости _STDINT_EXP(INT_MAX) == 0x7fffffffL где-то указать ???
Нет, там все нормально. Да, что-то я затупил. Как точно выглядит жалоба?
AHTOXA
Цитата(AndOr @ Jan 13 2011, 15:12) *
Это я пробовал, поверьте, перебрал фсе 7 вариантов.

А если ткнуть правой кнопкой мыши на название файла, выбрать Properties, и там выбрать вкладку "Recource", то
- какая кодировка указана? (в строке "inherited from container:xxx"_)?
- что будет, если отметить "Other" и выбрать UTF-8 (вроде она)?
Что касаемо notepad-а, то он определяет UTF-8 по специальному заголовку, который все остальные редакторы смело отрезают.
AndOr
Спасибо всем.
Половина одной проблемы решилась:
При инсталяции CodeSourcery Lite в path прописывается только C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin;
Для того, что бы инклюды видели не только arm-none-eabi-xxx, но и Ecliplse, надо добавить C:\Program Files\CodeSourcery\Sourcery G++ Lite\arm-none-eabi\include; и не забыть перезагрузить Eclipse, т.к. похоже path цепляется один раз при загрузке.
Забавно, но синтаксис typedef-ов в самом stdint-gcc.h светится как надо, а в main.c серамно никак...
Доеду до дома, попробую еще и C:\Program Files\CodeSourcery\Sourcery G++ Lite\lib\gcc\arm-none-eabi\4.5.1\include; в path прописать...
IgorKossak
Цитата(AndOr @ Jan 13 2011, 20:44) *
При инсталяции CodeSourcery Lite в path прописывается только C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin;

И этого достаточно.
Цитата(AndOr @ Jan 13 2011, 20:44) *
Для того, что бы инклюды видели не только arm-none-eabi-xxx, но и Ecliplse, надо добавить C:\Program Files\CodeSourcery\Sourcery G++ Lite\arm-none-eabi\include; и не забыть перезагрузить Eclipse, т.к. похоже path цепляется один раз при загрузке.
Доеду до дома, попробую еще и C:\Program Files\CodeSourcery\Sourcery G++ Lite\lib\gcc\arm-none-eabi\4.5.1\include; в path прописать...

Это всё лишнее. Путь к arm-none-eabi-xxx уже есть, а нужные инклуды эклипс вычисляет по discovery, она там для этого и нужна. И это нужно только для правильного "показывания" проекта и навигации по нём в среде. Что же касается компилятора, то он сам знает где искать свои инклуды. У меня всё так и работает и под Windows и под Linux на очень многих машинах. Результат абсолютно идентичен.
Кстати, что запускаете для линковки? ld или gcc (g++). Лучше второе, здесь уже писали почему.
AndOr
И снова драсьте! Всем спасибо за подсказки.

Цитата
А в path виндовса прописан путь к arm-none-eabi-gcc.exe? Ведь эклипса вызывает ее без указания абсолютного пути (во всяком случае именно так у вас прописан вызов в окне Discovery в строке Compiler invocation command. Попробуйте запустить arm-none-eabi-gcc.exe из командной строки - найдется?

Находится и версию правильно выдает, а иначе проект не компилился бы.

Цитата
Да, что-то я затупил. Как точно выглядит жалоба?

Жалоба конечно мелкая, но дело же в принципе. (Кстати со sprintf это действительно я сам ступил, а IAR проглотил... +1 в пользу GCC)
Собсно жалоба вот:
Нажмите для просмотра прикрепленного файла
Если открываю в окне системные инклюды от CodeSourery Lite, например stdint-gcc.h, то там все typedef'ы светятся, а вот в *.c и *.h в проекте не светятся, причем ТОЛЬКО typedef'ы.
При нажатии F3 на uint32_t например, пишет внизу, что Eclipse не находит этот символ в индексе. wacko.gif
Странно, что редактор понимает что происходит инициализация переменной new_x, т.е. то, что uint32_t это typedef редактор знает и переменную раскрашивает.

Цитата
Это всё лишнее. Путь к arm-none-eabi-xxx уже есть, а нужные инклуды эклипс вычисляет по discovery, она там для этого и нужна. И это нужно только для правильного "показывания" проекта и навигации по нём в среде.

У меня почему-то Eclipse не находил stdint.h, stdbool.h и т.д., пока не прописал C:\Program Files\CodeSourcery\Sourcery G++ Lite\arm-none-eabi\include; в PATH.
Теперь, как видите, все нашлось, правда прописка C:\Program Files\CodeSourcery\Sourcery G++ Lite\lib\gcc\arm-none-eabi\4.5.1\include; раскрасить typedef'ы не помогла laughing.gif

Тут весь воркспейс Нажмите для просмотра прикрепленного файла с импортированным проектом от Terraelectronica, у кого есть время и желание - гляньте плз, на предмет раскраски синтаксиса.

З.Ы.
Что то не пойму, как указывать автора в шапке вставляемой цитаты?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.