|
|
  |
Eclipse + GCC для ARM, Среда разработки для ARM, причем бесплатная... |
|
|
|
Nov 10 2011, 11:46
|
Группа: Новичок
Сообщений: 4
Регистрация: 22-06-09
Пользователь №: 50 524

|
Подскажите пожалуйста, как установить точки останова в оболочке Eclipse?
Использую оболочку Eclipse (Helios Release Build id: 20100617-1415). Компилятор gcc version 4.4.1. и отладчик gdb (GDB) 7.0. Пытаюсь отлаживать ядро Linux. При попытке поставить точку останова в некоторых файлах исходников ядра, вместо нее появляется желтый треугольник с восклицательным знаком? В чем проблема?
|
|
|
|
|
Nov 10 2011, 13:25
|
Группа: Новичок
Сообщений: 4
Регистрация: 22-06-09
Пользователь №: 50 524

|
Цитата(Aaron @ Nov 10 2011, 16:02)  сейчас попробовал - ставятся точки останова в любом месте, никаких проблем (eclipse indigo). А если в например в файле ./linux/net/compat.c? При этом gdb trace выводит: 650,138 (gdb) 650,138 1817-break-insert /usr/src/linux-2.6.31.14/net/compat.c:36 650,502 1817^error,msg="No source file named /usr/src/linux-2.6.31.14/net/compat.c." При удачной установки: 208,155 1823-break-insert /usr/src/linux-2.6.31.14/net/socket.c:269 208,334 1823^done,bkpt={number="11",type="breakpoint",disp="keep",enabled="y",addr="0xc0526138",func\ ="init_once",file="net/socket.c",fullname="/usr/src/linux-2.6.31.14/net/socket.c",line="269",times="\ 0",original-location="/usr/src/linux-2.6.31.14/net/socket.c:269"}
Сообщение отредактировал oliva_av - Nov 10 2011, 13:27
|
|
|
|
|
Nov 21 2011, 12:25
|
Группа: Новичок
Сообщений: 4
Регистрация: 22-06-09
Пользователь №: 50 524

|
Модули должны быть статическими, ставятся точки без проблем.
|
|
|
|
|
Jan 27 2012, 07:11
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Сегодня из рассылки по OpenOCD удалось выловить ссылки на еще две сборки gсc-arm. Не припомню, чтобы они упоминалось на этом форуме. Обе сборки под Win и Lin. Цитата As part of its ongoing commitment to maintaining and enhancing GCC compiler support for the ARM architecture, ARM is maintaining a GCC toolchain source branch targeted at Embedded ARM Processors, namely Cortex-R/Cortex-M processor families. As part of this, ARM will, at regular intervals, release binaries pre-built and tested from the ARM embedded branch. The improvements will be freely available for integration into 3rd party toolchains, and for direct download by end-users. GNU Tools for ARM Embedded ProcessorsТам также есть подробная инструкция "как собрать атомную бомбу gcc для винды или линуха под убунтой самостоятельно". Цитата The Toolchain Working Group now provides pre-built binary versions of Linaro GCC, Linaro GDB and binutils. These binary versions work under generic Linux and Windows and can be used by an end developer to cross-compile programs for either a Linaro Evaluation Build or a bare-metal target. Linaro (искать в конце страницы)
Сообщение отредактировал IgorKossak - Jan 27 2012, 10:10
Причина редактирования: Первый линк
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Feb 22 2012, 14:35
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(AHTOXA @ Feb 22 2012, 16:13)  Попробуйте поставить перед ef "::": Код ::ef. Помогло. Но этож две лишних буквы писать. Цитата(AHTOXA @ Feb 22 2012, 16:13)  местами работает - попробуйте в main(). Да - всё работает. Цитата(AHTOXA @ Feb 22 2012, 16:13)  Попробуйте поставить перед ef "::": Код ::ef. В других проектах всё нормально, отлично автодополняет. А вот именно в примерах к scmRTOS - нет. Хм...тенденция однако. Редактирую обычно проекты в Studio: в 99% всё устраивает. Создал проект с scmRTOS - та же фигня: часто не те блоки #if...#endif становятся неактивными/неактивными, автодополнение как правило работает (возможно благодаря VisualAssist, не знаю справился бы IntelleSence), ну и целом создалось впечатление что с проектом что-то нетак. Думал, что недоконфигурил проект для студии, но теперь получается что Eclipse тоже scmRTOS не переваривает. Возможно все глюки вызваны широким использованием шаблонов и современные IDE не справляются. Надо бы найти время и попробывать создать проект с scmRTOS в AVRStudio 5 - может она справится?
|
|
|
|
|
Feb 22 2012, 18:41
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(AHTOXA @ Feb 22 2012, 18:19)  У меня другие проекты, в которых автодополнение работает - тоже с scmRTOS. Обнадёживает. Цитата(AHTOXA @ Feb 22 2012, 18:19)  Видимо просто звёзды не так расположились  Звёзды наверное на месте. Как назвали так работает - затмение солнца. Только как его расчитать. Цитата(AHTOXA @ Feb 22 2012, 18:19)  У меня другие проекты, в которых автодополнение работает - тоже с scmRTOS. Видимо просто звёзды не так расположились  У эклипсы самый навороченный парсер, полноценный парсер си/си++, практически компилятор. А в таких сложных системах практически невозможно отловить все баги. Да, не поймать. Сделал так: Код void Process2() { for(;;) { OS::sleep(1000); LedOn(); OS::sleep(10); LedOff(); } } namespace OS {
template <> OS_PROCESS void TProc2::exec() { Process2(); } } Автозавершение появилось. Но по шагам не ходит в отладчике. И корректно ли это?
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|