|
Вопросы по Eclipse, CDT, Zylin embedded CDT, предлагаю обсуждать тут, может потом FAQ выжмем |
|
|
|
Apr 4 2008, 10:43
|

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

|
Чтобы не создавать по отдельной ветке на каждый мелкий вопрос, предлагаю обсуждать здесь всякие вопросы, касаемые работы в среде Eclipse. В крайнем случае можно будет при необходимости что-то "отпочковать" в отдельную ветку.
Вопрос первый - как в перспективе Debug расположить окно с переменными, регистрами и т.д. вдоль всего правого края экрана сверху вниз?
Вопрос второй - как заставить его показывать в окне регистров содержимое SPSR (для ARM), а также "затененных" регистров SP и LR (IAR их как-то показывает)?
Вопрос третий - как поставить точку останова на конкретный адрес не перезапуская отладку? Про break *addres в Debug dialog->commands->'Run' commands я знаю, но это требует перезапуска отладки. На строку в исходнике поставить можно, а если мне надо поставить на конкретную команду, причем не дожидаясь пока эта команда попадет в окно дизассемблера?
Вопрос четвертый - как его заставить показать в окне дизассемблера кусок с произвольного адреса или как "пролистать" дизассемблированный текст дальше вверх-вниз? Попутный вопрос - можно ли его заставить в этом окне показывать команды по порядку адресов - мне он часто показывает команды с пропусками или в причудливо перемешанном порядке.
Вопрос пятый - (ARM) можно ли как-то сбросить ядро не перезапуская сеанс отладки? Т.е. легким движением перевести его в ARM, SYSTEM, записать в PC 0 и остановить его на нулевом адресе.
Вопрос шестой - как его заставить запомнить, что в окне memory я хочу всегда видеть шестнадцатиричные цифры и не спрашивать об этом после каждого перезапуска отладки? При добавлении адреса в окно он этого дурацкого вопроса не задает.
Вопрос седьмой - где ставится галочка "открывать преспективу Debug при запуске отладки"? Оно спросило когда-то при создании не то проекта, не то воркспейса, я ответил неправильно а теперь не могу найти где это изменить.
Вопрос восьмой - работа с системой контроля версий. Что из каталога .metadata надо хранить в репозитории, а что создается само при старте среды? Хранить весь каталог не подходит - в нем после каждого старта среды создается куча новых файлов. Не хранить его тоже неудобно. Как я понял, в нем живут настройки Debug. Во всяком случае при переносе только проекта (без workspace) на другую машину настройки отладки пропадают (кто это придумал?? ведь в этих настройках указывается конкретный проект и выходной файл, т.е. эти настройки больше привязаны к конкретному проекту а не к workspace.)
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Apr 14 2008, 09:11
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Непомнящий Евгений @ Apr 4 2008, 14:14)  Один раз его настроил, после чего сделал экспорт настроек в файл (File->export->settings) ??? ! Не понял!
У меня нету export->settings! Есть только General->Prefences Это то же самое? Похоже,что нет Сёдня сдуру нажал кнопочку "Reset to defaults" в настройках проекта, потом целый час восстанавливал пути проекта, компилятора и линкёра Хотелось бы избежать таких проблем в будущем И ещё: почему опадают галки в настройках "Errors parsers" билдера?
Никак не найду закономерность...
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Apr 15 2008, 16:23
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 11-09-05
Из: Московская обл.
Пользователь №: 8 448

|
Цитата(demiurg_spb @ Apr 14 2008, 23:36)  У меня тоже есть два идиотских вопроса: 1. Где задаётся подсветка синтаксиса (хочу PROGMEM подсвечивать как часть языка С) Подсветка задаётся так: Window->Preferences->C/C++->Editor->Syntax Coloring а шрифты меняются почти там же: Window->Preferences->General->Appearance->Colors and Fonts А как быть с вопросом "0" для AVR - отладка в симуляторе? Как настраивать окно: Create, manage, and run configuration? Удаляю настройку для C/C++ Local Application Для Zylin Embedded debug (Native) задаю настройки: На вкладке Main - имя настройки в окне Name; в окне Project - имя проекта; в окне C/C++ Application путь к файлу *.elf; На вкладке Debugger - в окне Debugger - Embedded GDB; в поле Debugger Options на вкладке Main в окне GDB Debugger: путь к avr-gdb.exe; что должно быть в поле GDB command file - не знаю!; Вкладка Commands - без изменений; Вкладка Source - Default; Вкладка Common - Local file, в окне Display in favorites menu - галка Debug. Компилирую проект - проект компилируется - Finished building: sizedummy Запускаю отладку: На вкладеке Console - No registers. В окне Debug - Имя настройки, Embedded GDB, Thread[0] (Running) и пути к avr-gdb.exe и файлу - *.elf Кнопки Step Into, Step Over и т.д. - бледные. Отладка не происходит. На вкладке Registers в контекстном меню правой кнопки выбираю все регистры - не помогает! Подскажите pls что не так делаю?
|
|
|
|
|
Apr 15 2008, 21:06
|

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

|
Цитата(Daskar @ Apr 15 2008, 19:23)  Подсветка задаётся так: Window->Preferences->C/C++->Editor->Syntax Coloring а шрифты меняются почти там же: Window->Preferences->General->Appearance->Colors and Fonts Я тоже излазил эти окна, но так и не нашел, где там указывать новые ключевые слова. Цитата(Daskar @ Apr 15 2008, 19:23)  А как быть с вопросом "0" для AVR - отладка в симуляторе? Не пробовал, но попытаюсь на основе борьбы с внутрисхемным отладчиком: Цитата(Daskar @ Apr 15 2008, 19:23)  в окне Debugger - Embedded GDB; в поле Debugger Options на вкладке Main в окне GDB Debugger: путь к avr-gdb.exe; что должно быть в поле GDB command file - не знаю!; Пусто. Я пробовал указывать командный файл, но он почему-то приделывал к этому файлу цыгвиновский путь и не находил. Решил иначе, см. ниже. Цитата(Daskar @ Apr 15 2008, 19:23)  Вкладка Commands - без изменений; два варианта - либо перечислить команды на этой вкладке либо вписать там команду source <имя файла> и в этом файле уже указать команды. Команды должны быть примерно следующие: Код target remote localhost:1212 #simulavr слушает на порту 1212 load #загрузить .elf в память симулятора break main #по желанию. можно и break *0 - остановить на нулевом адресе. continue #бежать до точки останова. перед этим надо запустить simulavr. Попробуйте, вдруг поможет. Более детально описание команд для вкладки Commands нужно смтореть в описании simulavr и gdb. Как их вводить вручную во время отладки я пока не нашел.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Apr 16 2008, 04:42
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(MrYuran @ Apr 14 2008, 13:11)  Есть только General->Prefences Это то же самое? Похоже,что нет Я имел в виду именно это. Понадеялся на память и ошибся  Сохраняются только настройки воркспейса - хоткеи, раскраска и т.д. Цитата И ещё: почему опадают галки в настройках "Errors parsers" билдера? С этим не сталкивался
|
|
|
|
|
Apr 19 2008, 09:44
|
Гуру
     
Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613

|
Поставил amontec-sdk4arm, нашел демо проект lpc2378_demo1, уровень оптимизации поставил на 0. Компиляция без ошибок. Запустил sdk4arm-insight в режиме симуляции. Симуляция зависла на 124 while ( ((PLLSTAT & (1 << 26)) == 0) ); /* Check lock bit status */ Стал смотреть более внимательно и обнаружил непонятное для меня. Посмотрите, пожалуйста, на строки 0x71e, 0x720, 0x722 - это нормально? Код 111 PLLCFG = PLL_MValue | (PLL_NValue << 16); - 0x70a <ConfigurePLL+66>: movs r2, #11 - 0x70c <ConfigurePLL+68>: subs r3, #136 - 0x70e <ConfigurePLL+70>: str r2, [r3, #0] 112 PLLFEED = 0xaa; - 0x710 <ConfigurePLL+72>: ldr r2, [pc, #92] (0x770 <ConfigurePLL+168>) - 0x712 <ConfigurePLL+74>: movs r0, #170 - 0x718 <ConfigurePLL+80>: str r0, [r2, #0] 113 PLLFEED = 0x55; - 0x714 <ConfigurePLL+76>: movs r1, #85 - 0x71a <ConfigurePLL+82>: str r1, [r2, #0] 114 115 PLLCON = 1; /* Enable PLL, disconnected */ - 0x716 <ConfigurePLL+78>: subs r3, #4 - 0x71c <ConfigurePLL+84>: str r4, [r3, #0] 116 PLLFEED = 0xaa; - 0x71e <ConfigurePLL+86>: str r0, [r2, #0] 117 PLLFEED = 0x55; - 0x722 <ConfigurePLL+90>: str r1, [r2, #0] 118 119 CCLKCFG = CCLKDivValue; /* Set clock divider */ - 0x720 <ConfigurePLL+88>: adds r3, #132 - 0x724 <ConfigurePLL+92>: movs r2, #4 - 0x726 <ConfigurePLL+94>: str r2, [r3, #0] 120 #if USE_USB 121 USBCLKCFG = USBCLKDivValue; /* usbclk = 288 MHz/6 = 48 MHz */ - 0x728 <ConfigurePLL+96>: movs r2, #5 - 0x72a <ConfigurePLL+98>: adds r3, #4 - 0x72c <ConfigurePLL+100>: str r2, [r3, #0] 122 #endif 123 124 while ( ((PLLSTAT & (1 << 26)) == 0) ); /* Check lock bit status */ - 0x72e <ConfigurePLL+102>: ldr r2, [pc, #56] (0x768 <ConfigurePLL+160>) - 0x730 <ConfigurePLL+104>: ldr r3, [r2, #0] - 0x732 <ConfigurePLL+106>: lsls r1, r3, #5 - 0x734 <ConfigurePLL+108>: bpl.n 0x72e <ConfigurePLL+102>
|
|
|
|
|
Apr 19 2008, 10:25
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Почитал, решил присоединится в eclipse-водам  Возникли вопросы: 1. В проект добавляются файлы только автоматически? То есть все, что в каталоге проекта автоматически становиться его частью? А можно ли сделать так, что автоматом файлы и каталоги не добавлялись, а я добавлял их вручную? 2. Имеются проекты разделенные на каталоги. Например include - только *.h файлы, src - только *.c файлы, linker - только скрипты линкера и т.д. Прикомпиляции eclipse создает подкаталог Debug и компилирует оттуда. Указание ключа (как я раньше делал) -Iinclude приводит к тому, что gcc ищет каталог Debug/include а не include. Пока исправил ключ на -I../include, но это не нормально, по моему. Как объяснить eclipse, чтобы он брал не только src но и другие (выбранные мной) каталоги в Debug? 3. Работаю в Linux и потому *.s и *.S - это разные типы файлов. Нашел окно, где задаются типы файлов, добавил *.S - Assembler source file. Применил, нажал ОК. Открываю снова окно настроек типов файлов - моего определения нет! Куда оно делось и как его сохранить?
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Apr 19 2008, 11:04
|

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

|
Цитата(gte @ Apr 19 2008, 12:44)  Симуляция зависла на 124 while ( ((PLLSTAT & (1 << 26)) == 0) ); /* Check lock bit status */ Логично. 26 бит в PLLSTAT выставляется аппаратно, о чем симулятор, скорее всего, не знает. Чтобы проскочить это место нужно либо вручную взвести в окне памяти нужный бит в нужной ячейке, либо временно добавить в предыдущий код строчку, взводящую этот бит. Цитата(gte @ Apr 19 2008, 12:44)  Стал смотреть более внимательно и обнаружил непонятное для меня. Посмотрите, пожалуйста, на строки 0x71e, 0x720, 0x722 - это нормально? Вас смущает, что строки идут не по порядку адресов? Да, я это упоминал в четвертом вопросе первого поста. А в самом коде криминала не видно, кроме записи слова в байтовый PLLFEED. Не знаю, как отреаирует на это живой кристалл. Скорее всего нормально, там регистры идут с шагом 4 байта. Отступление: Аналог Девайс вот умудрились в своих ADuC70xx сделать трехбайтовый регистр FEESIGN. Какой командой они планировали в него писать? Цитата(amw @ Apr 19 2008, 13:25)  1. В проект добавляются файлы только автоматически? То есть все, что в каталоге проекта автоматически становиться его частью? А можно ли сделать так, что автоматом файлы и каталоги не добавлялись, а я добавлял их вручную? Скорее это файлы, которые он показывает в дереве проекта. А что будет компилиться - зависит от makefile. Во всяком случае так происходит, если при создании проекта выбрать makefile project. Цитата(amw @ Apr 19 2008, 13:25)  При компиляции eclipse создает подкаталог Debug и компилирует оттуда. У меня он ищет makefile в каталоге проекта, т.е. в том, где лежат .cproject и .project. А уже все подкаталоги создает makefile относительно своего расположения.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Apr 19 2008, 11:15
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(Сергей Борщ @ Apr 19 2008, 14:04)  Скорее это файлы, которые он показывает в дереве проекта. А что будет компилиться - зависит от makefile. Во всяком случае так происходит, если при создании проекта выбрать makefile project. У меня он ищет makefile в каталоге проекта, т.е. в том, где лежат .cproject и .project. А уже все подкаталоги создает makefile относительно своего расположения. Ну я для начала выбрал проект "Managed Make C Project", то есть Makefile создается и изменяется автоматически (я правильно понял?). Советуете использовать Standard Make C Project?
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Apr 19 2008, 12:37
|
Гуру
     
Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613

|
Цитата(Сергей Борщ @ Apr 19 2008, 15:04)  Логично. 26 бит в PLLSTAT выставляется аппаратно, о чем симулятор, скорее всего, не знает. Чтобы Да, но строки Код SCS |= 0x20; /* Enable main OSC */ while( !(SCS & 0x40) ); /* Wait until main OSC is usable */ он проходит. Правда только в том, случае, если выждать заметное время, затем остановить пошаговое выполнение, а потом продолжить. В этом случае команда выполняется. И попутно. Можно в нем как-то смотреть содержание отдельных ячеек памяти? Хочется состояние регистров смотреть. Цитата А в самом коде криминала не видно, кроме записи слова в байтовый PLLFEED. Именно это и смущает. А если переставить предыдущие команды, то уже совсем не безобидно. Правда, код все же оптимизирован, может в этом дело.
|
|
|
|
|
Apr 23 2008, 21:44
|
Гуру
     
Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613

|
Дошел до реальной платы. Пока не приехал MT-Link пытаю wiggler. Стоит Yagarto (openocd-r520, а не 592). Настроил по примеру две конфигурации openocd для загрузки и отладки из флэш. Запустил оба, затем настроенный embedded debug (native). Процесс замерз на 27% с сообщением launching dos_2368 launching: GDB commands: continue В чем может быть причина? Может wiggler? У меня NSRST на 15 ноге инверсный, а NTRST на 3 ноге нет. В зависшем положении NSRST =1, а на NTRST импульсы. Тесты сообщений выдаваемые при запуске и файлы *.cfg приложил. Да, в *.cfg из lpc2378_demo1_20070629 от Martin Thomas ошибка в строке flash bank lpc2000 0x0 0x80000 0 0 lpc2000_v2 0 12000 calc_checksum - должно быть 0x80000 0 0 0 lpc2000_v2.
|
|
|
|
|
Apr 24 2008, 05:19
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(amw @ Apr 19 2008, 14:15)  Ну я для начала выбрал проект "Managed Make C Project", то есть Makefile создается и изменяется автоматически (я правильно понял?). Советуете использовать Standard Make C Project? Для начала в свойствах компилятора нужно указать все папки проекта. А потом отдельные файлы можно выключить (правая мышь->Exclude from build). Значки "с" и "h" на отключенных файлах становятся не сплошными, а контурными
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Apr 24 2008, 07:47
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(MrYuran @ Apr 24 2008, 08:19)  Для начала в свойствах компилятора нужно указать все папки проекта. А потом отдельные файлы можно выключить (правая мышь->Exclude from build). Значки "с" и "h" на отключенных файлах становятся не сплошными, а контурными Хм. Обратная логика  . Спасибо.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Apr 24 2008, 08:32
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(amw @ Apr 24 2008, 10:47)  Спасибо. Да не за что. Я вот уже склоняюсь к мысле, что надо ручками мэйк писать. Синтаксис немного необычный (для меня) ЗАТО: 1. Не надо в начале каждого проекта колупать туеву хучу всяких мелких настроечек (и всё равно что-нето забудешь) 2. Автомэйк не всегда делает так, как хочется, особенно в сложных проектах
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Apr 29 2008, 06:14
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
все было шеколадно пока не обновился .... работаю для АRМ после обновления имею Eclipse 3.3.2 Build id: M20080221-1800 ZylinCDT версии 4.1.16 CDT 4.0.3.200802251018 gdb6.8 косяк в том что теперь CDT упорно создает в корне воркспейса папку zylin-cdt-debugging и почему то при отладке ищет именно там собранный бинарник.  с какого перепоя???? скрипт для осd в части касающейся : Код target remote localhost:3333 monitor poll monitor arm7_9 dcc_downloads enable monitor flash probe 0 monitor flash erase_sector 0 0 26 monitor flash write_bank 0 out/image.bin 0x0 monitor reset run monitor soft_reset_halt monitor arm7_9 force_hw_bkpts enable symbol-file out/image.elf thbreak main continue так вот СDT почемуто ????? выполняет команду скрипта monitor flash write_bank 0 out/image.bin 0x0 из текущей директории workspase/PROJECT_NAME/out/ а команду symbol-file out/image.elf из текущей директории workspase/zylin-cdt-debugging/out/image.elf в результате чего OCD чесно заливает бинарник во флешь а GDB чесно пытается найти ELF там где ему сказал CDT(т.е там где его ессесно нет) короче так.. кто еще не налетель на эту "фичу" не обновляйте ZylinCDT Очень возможно это просто несовместимость форматов файлов проекта от версии к версии - ну типа они там чето дорасширили в формате.
|
|
|
|
|
May 7 2008, 06:49
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(IgorKossak @ May 7 2008, 10:17)  Файлы в проект я добавляю через Import -> File System всю папку скопом с подпапками, потом удаляю ненужное, но на диске файлы, удалённые из проекта остаются. Не знаю то ли Вы имели в виду под ручным созданием ссылок на файлы. Насколько я понимаю, импорт->файлсистем просто копирует файлы из файловой системы в подпапки проекта. При этом когда вы удаляете файл из проекта, он физически удаляется с диска. Изначальный файл, разумеется, при этом никуда не девается. Ручное создание ссылок - это new\file\advanced\link to filesystem. При этом файл в проект не копируется. При удалении такого файла из проекта удаляется только ссылка. Файл на диске остается. Цитата(LessNik @ May 7 2008, 10:33)  У меня файл удаляется полностью с винта и с проекта. Если файл предварительно скопировать в другое место, затем удалить его из проекта (удалится физически), затем копию файла снова поместить в папку, где до этого был оригинал, то в ProjectExplorere снова он появится (после обновления проекта). В проект входят все файлы и папки, которые лежат на диске в папке с проектом. Если руками добавить\потереть файлы оттуда, то они станут видны в проекте после обновления. Цитата Я до этого работал в вислике (Visual Slick Edit), решил перебраться на фришный софт. Пытаюсь перетащить проект под эклипс.
Как мне это сделать быстро и безболезнено???
Мне не нужно видеть все файлы, которые у меня есть на винте в папках, но и удалять их нельзя. По файлу добавлять - не дело. Проект большой с множеством файлов и папок.
P.S. Делал через Import -> File System Тоже сидел на слике. Сейчас делаю так: пусть project - корневая папка проекта. Проект эклипса создаю в папке project. При этом он отображает в проекте все содержимое папки project. Часть содержимого можно выкинуть, настроив фильтры в project explorer. В принципе, мне оно особо не мешает, поэтому не заморачиваюсь. В таком режиме работы import(export)\to filesystem использовать не надо. Насколько я понял igor kossak, он создает папку с проектом eclipse "сбоку" от реального проекта. Чтобы засосать файлы в проект, надо выполнить import\filesystem. При засасывании вы можете указать только те файлы и папки, которые вам реально нужны. Но при этом вы будете работать с копиями оригинальных файлов и чтобы "сохранить" ваши изменения в папке с проектом, надо сделать export\filesystem.
|
|
|
|
|
May 7 2008, 12:54
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(Непомнящий Евгений @ May 7 2008, 09:49)  Насколько я понял igor kossak, он создает папку с проектом eclipse "сбоку" от реального проекта. Чтобы засосать файлы в проект, надо выполнить import\filesystem. При засасывании вы можете указать только те файлы и папки, которые вам реально нужны. Но при этом вы будете работать с копиями оригинальных файлов и чтобы "сохранить" ваши изменения в папке с проектом, надо сделать export\filesystem. Да, увы, так и есть. Не в ту папку смотрел. Но делать экспорт нет необходимости, т. к. применяю Subclipse.
|
|
|
|
|
May 11 2008, 10:30
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(klen @ Apr 29 2008, 09:14)  все было шеколадно пока не обновился .... работаю для АRМ после обновления имею Eclipse 3.3.2 Build id: M20080221-1800 ZylinCDT версии 4.1.16 CDT 4.0.3.200802251018 gdb6.8 косяк в том что теперь CDT упорно создает в корне воркспейса папку zylin-cdt-debugging и почему то при отладке ищет именно там собранный бинарник.  с какого перепоя???? Вышел ZylinCDT версии 4.1.17. Нет желания проверить на предмет указанного косяка?
|
|
|
|
|
May 12 2008, 14:08
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
чичас проверю - мне ужо терять нечего. а Вы пока погодите  пытаюсь эклипсу для всего насвете приладить... скатина падает под линуксом при отладке (GDB нипричем - с командной строки все шурует на оценку 5++) и вооще поповоду качества всего насвете... причем тенденция виднеется не только в железе и софте а в мировом-глобальном масштабе, уж не конец света наступает ли. Мысль конечно смешная но я иногда диву даюсь - признаки налицо. обновлюсь проверю отпишусь Нихера не поправили, желающим обновится можно не парится. Только если еще раз меня проверить - сделать копию рабочей папки эклипсы, провести апдейт, потестить и снести ее нах. Мож кому повезет  вот скрипт Код symbol-file out/image.elf target remote localhost:3333 monitor poll monitor arm7_9 dcc_downloads enable monitor flash probe 0 monitor flash erase_sector 0 0 26 monitor flash write_bank 0 out/image.bin 0x0 monitor reset run monitor soft_reset_halt monitor arm7_9 force_hw_bkpts enable thbreak main continue openocd по режнему забирает бинарник где нада и сует его в флеш. gdb по режнему получает инструкции свеху о том что все искать нада в .....\EclipseWorkspace_arm\zylin-cdt-debugging\out я уж грешным делом подумываю а не помоч ли Zylin, доки по плагинам есть даже на русском. Както ковырялся в исходниках Zylin CDT из интереса - чисто эмбедерских примочек было кране в них мало.
|
|
|
|
|
May 13 2008, 17:26
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
1 Мне помог разобраться в начальных настройках проекта в эклипсе вот этот атмеловский ман: GNU-Based Software Development on AT91SAM Microcontrollers (2,9 М). Внятно написано. 2 klen, не могли бы Вы описать процесс сборки arm-elf тулз в таком виде: какой пакет с какими ключами конфигурите и в какой последовательности? Типа, конфигурим бинутилы с ключами бла-бла, собираем, конфигурим гцц с ключами бла-бла, и т.д.
|
|
|
|
|
May 13 2008, 19:08
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(Leen @ May 13 2008, 21:26)  2 klen, не могли бы ....... для ARM elf binutils: --prefix= --disable-nls --enable-multilib --enable-interwork --target=arm-elf gcc: --prefix= --disable-nls --disable-threads --disable-shared --enable-languages=c,c++,fortran --target=arm-elf --enable-interwork --enable-multilib --with-float=soft --with-newlib --with-headers=../../src/newlib/src/newlib/libc/include newlib: --prefix= --target=arm-elf --enable-interwork --enable-multilib gdb: --prefix= --disable-nls --enable-multilib --enable-interwork --target=arm-elf
|
|
|
|
|
May 16 2008, 07:20
|

Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118

|
А кто-нибудь пробовал собрать проект иаром (создать elf с отладочной информацией), а отлаживаться через эклипс, исползуя JLinkGDBServer + arm-elf-gdb?
Наблюдается какое-то странное поведение: Ставлю точку останова на строчке while(1) в main.cpp. Видно, что программа прерывает выполнение, но while(1) не подсвечивается (вообще ничего не подсвечивается) как строчка останова. Значение глобальной переменной отображается неверно, дизасемблер не отображается. В консоль выводится следующее:
785-exec-continue 785^running (gdb) 785*stopped,reason="signal-received",signal-name="SIGTRAP",signal-meaning="Trace/breakpoint trap",thread-id="0",frame={addr="0x90020000",func="??",args=[]} (gdb) 786 info threads &"info threads\n" &"warning: RMT ERROR : failed to get remote thread list.\n" 786^done (gdb) 787-stack-info-depth 787^done,depth="1" (gdb) 788-stack-list-frames 0 1 788^done,stack=[frame={level="0",addr="0x90020000",func="??"}] (gdb) 789-var-update var1 789^done,changelist=[] (gdb) 790-var-update var2 790^done,changelist=[] (gdb) 791-data-list-changed-registers 791^done,changed-registers=[] (gdb) 792-data-disassemble -s 0x90020000 -e 0x90020064 -- 0 &"Cannot access memory at address 0x90020000\n" 792^error,msg="Cannot access memory at address 0x90020000" (gdb) 793-stack-list-arguments 0 0 0 Cannot access memory at address 0x90020000 793^done,stack-args=[frame={level="0",args=[]}] (gdb) 794-stack-list-locals 0 794^done,locals=[] (gdb) 795-var-evaluate-expression var1 795^done,value="167772160" // Такого значения переменной быть не может (gdb) 796-var-evaluate-expression var2 796^done,value="{...}" (gdb) 797-data-evaluate-expression Led 797^done,value="{<No data fields>}" (gdb)
Может что-то с elf файлом не так?
#C++ compiler options -z2 --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --no_clustering --no_scheduling --debug --cpu_mode arm --endian little --cpu ARM7TDMI --stack_align 4 --interwork -e --fpu None --eec++ --dlib_config $(LIB_DIR)\dl4tpainl8n.h
# Assembler options --cpu ARM7TDMI --fpu None -O$(OBJ_DIR)/ -s+ -M<> -w+ -r
# Linker options ... -Oelf,as=$(TARGET).elf -Oraw-binary=$(TARGET).a79 ...
|
|
|
|
|
May 16 2008, 08:04
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
А чё это у меня какие-то фиговинки оранжевые появились? (см. на рис. стрелками указано) И звёздочка какая-то чёрная около названия проекта?  Раньше такого не было... Цитата А кто-нибудь пробовал собрать проект иаром (создать elf с отладочной информацией), а отлаживаться через эклипс, исползуя JLinkGDBServer + arm-elf-gdb? Вот уж воистину, любит русский народ поизгаляться...
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 16 2008, 10:33
|

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

|
Цитата(LessNik @ May 16 2008, 10:20)  А кто-нибудь пробовал собрать проект иаром (создать elf с отладочной информацией), а отлаживаться через эклипс, исползуя JLinkGDBServer + arm-elf-gdb? Пытался наоборот - создать .elf при помощи arm-elf-gcc и отлаживать его в ИАРе. Не получилось. ИАР выругался на отладочную информацию в .elf Отладчик у ИАРа на порядок или даже два лучше чем gdb с разными GUI.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 16 2008, 10:56
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(IgorKossak @ May 16 2008, 14:57)  На мой взгляд вполне разумное стремление. Не знаю, насколько оно разумно. Какой в нем смысл? Если рассуждать с точки зрения лицензионности софта, так если уж ИАР-вским компилятором проект и так собирается, так и отлаживать его в том же ИАР. Более интересно было бы как раз, собирать проект бесплатным gcc, получить elf и грузить его в ИАРовский дебагер. Но у меня это не получилось. ИАР вроде как только умеет генерить elf, но не грузить его в свой отладчик. Сейчас как раз тут пытаюсь наладить связку gcc + OpenOCD + ARM-USB-OCD + отладка под SlickEdit с истользованием его встроенного gdb клиента. В принципе работает неплохо, но есть ньюансы с загрузкой во flash (пробую на NXP2294 и NXP2378). Иногда всё становится колом и перестает грузиться. Разбираюсь.
--------------------
Пасу котов...
|
|
|
|
|
May 20 2008, 09:46
|

Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118

|
Цитата(Andy Mozzhevilov @ May 19 2008, 07:09)  Ну вкусы вкусами, о них не спорят. Но все же - в чем комфортнее? Может я тоже так хочу, просто не знаю?  Мне не нравится иаровский редактор (мягко скажем) и не нравится переключаться меджу n-надцатью окнами, пытаясь найти нужное приложение (для отладки, для редактирования, особено, если работаешь сразу над несколькими проектами одновременно). А в эклипсе это можно всё очень хорошо настроить так, чтоб не напрягало. + ещё все проекты под иаровский компилятор, а времени особо нет всё переписывать под другой компилятор (его ещё выучить нужно). Вот в том и комфортнее.
|
|
|
|
|
May 20 2008, 09:57
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(LessNik @ May 20 2008, 15:46)  Мне не нравится иаровский редактор (мягко скажем) и не нравится переключаться меджу n-надцатью окнами, пытаясь найти нужное приложение (для отладки, для редактирования, особено, если работаешь сразу над несколькими проектами одновременно). А в эклипсе это можно всё очень хорошо настроить так, чтоб не напрягало. + ещё все проекты под иаровский компилятор, а времени особо нет всё переписывать под другой компилятор (его ещё выучить нужно). Вот в том и комфортнее. Не надо агитировать за другой редактор. Речь не о том. Есть мнение - собирать IAR-ом проект (не суть важно сейчас из-под оболочки IAR или из командной строки и другого редактора), получить выходной формат ELF, который уже отлаживать через GDB. Утверждалось, что в этой связке что-то удобнее, комфортнее (насколько я понял в сравнении с отладкой под IAR). Вот мне и интересно знать, что?
--------------------
Пасу котов...
|
|
|
|
|
May 20 2008, 10:56
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Цитата(Сергей Борщ @ Apr 16 2008, 08:06)  Пусто. Я пробовал указывать командный файл, но он почему-то приделывал к этому файлу цыгвиновский путь и не находил. У меня там прописан файл gdb.sim, в нем простенький скрипт для симулятора (эмулятор привинтить руки не доходят) - gdb его находит и выполняет. Не находил, когда файл с точкой перед именем был - это скрытый файл в *них (вроде бы - если не прав, поправьте). Люди, а как в эклипсе кто мониторит SFR? Т.е. работаю я с периферией и мне надо знать в каком состоянии, например, регистр статуса PIO. Какие есть варианты по их чтению при остановке программы?
Сообщение отредактировал Leen - May 20 2008, 11:19
|
|
|
|
|
May 29 2008, 07:50
|

Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118

|
Цитата(xelax @ May 29 2008, 09:34)  Window -> Show View -> Problem Цитата по моему небогатому опыту, должны быть включены соответствующие парсеры ошибок в настройках проекта. У меня почему-то иногда галки опадают и ошибки не подсвечиваются. Закономерности особой не нашёл, но при компиляции в консоль выводится лог, в котором описание ошибки, файл и номер строки. Я включил отображение номеров строк и с тех пор особо не парюсь.. Я имел ввиду: Как можно создать САМОМУ СВОЙ СОБСТВЕННЫЙ обработчик ошибок, если стандартные не подходят. Например, компилятор выдаёт номер строки, где произошла ошибка и другую нужную информацию в формате, отличающемся от других компиляторов и поэтому стандартные обработчики ошибок не могут мне показать конкретную строку в исходнике. Зато в консоль выводится вся информация: номер строки, ошибка и причина появления main.cpp", 10 Error[Pe135]: class "BLABLA" has no member "ShowBlaBla" Вот основываясь на этой информации мне нужно отметить в main.cpp строку 10 как ошибку и по двойному нажатии мыши на списке ошибок перейти в место возникновения ошибки.
|
|
|
|
|
May 29 2008, 08:05
|

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

|
Цитата(LessNik @ May 29 2008, 10:50)  Я имел ввиду: Как можно создать САМОМУ СВОЙ СОБСТВЕННЫЙ обработчик ошибок, если стандартные не подходят Писать свой плугин. За образец можно взять любой с sourceforge, например вот или вот
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 31 2008, 20:05
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 13-03-06
Пользователь №: 15 171

|
Недавно приобрели отладочную плату Atmel STK1000 под их новый микроконтроллер AVR32 AP7000. Плата управляется ОС Linux. Всё работает нормально. В Atmel сочинили среду отладки для неё AVR32Studio. За основу взят Eclipse. Там есть пример Hello world для Linux. Он нормально компилируется, но запустить отладку никакими силами не удаётся. Кто-нибудь пользовался этой штукой? Что вообще нужно eclipse, чтобы отладить программу, для платы, на которой есть линукс?
|
|
|
|
|
Jul 18 2008, 06:10
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045

|
Цитата(Johny @ Jul 17 2008, 23:04)  А объясните новичку, где взять плагин Zylin? Всё очень просто. Пошаговая инструкция есть на на сайте subclipse. Выполнять надо с одной поправкой, вместо ссылки на http://subclipse.tigris.org/... надо прописать http://www.zylin.com/zylincdt
|
|
|
|
|
Jul 18 2008, 09:00
|
Частый гость
 
Группа: Свой
Сообщений: 140
Регистрация: 18-10-05
Пользователь №: 9 792

|
Цитата(gotty @ Jul 18 2008, 10:10)  Всё очень просто. Пошаговая инструкция есть на на сайте subclipse. Выполнять надо с одной поправкой, вместо ссылки на http://subclipse.tigris.org/... надо прописать http://www.zylin.com/zylincdtПросто почему-то мой eclipse упорно не хочет плагины из интернета забирать, наверное какие-то проблемы с настройкой сети. А в виде архивного файла, как остальные плагины Zylin отсутствует
|
|
|
|
|
Jul 28 2008, 05:53
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(klen @ Jul 26 2008, 14:01)  обновил все - сам eclips, cdt, zylin-cdt. пропал гиммарой с необходимостью проекта zylin-cdt из которого GDB забирал elf. Я как раз собираюсь разобратся с отладкой прилагух на TionPRO (ep9315). Вероятно встанет таже проблема поскольку приложение заводит три потока для обопботки данных а один основной рулит QT интерфейс. Покажите пожалуйста как вообще эклипс+arm-linux-gdb прикрутить к целевой плате. А то пока просто заливаю и смотрю как работает без отладчика. Чесно говоря с Eclipse не пробовал. А в общем так-же как и openocd. Залить на целевую плату gdbserver и запустить. Потом на PC запустить gdb и дать команду target remote. (ну в скрипт прописать)
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Aug 6 2008, 05:41
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Цырен @ Aug 5 2008, 18:46)  3. Можно ли прошивать MSP из Eclipse? И как это сделать. Через ФЕТ не знаю как (да и нет необходимости (да и возможности - JTAG не выведен)) А через БСЛ очень просто. В менюшке тулз прикручиваем msp430-bsl из состава mspgcc - и всё отлично прошивается. Правда, я уже с эклипса слазию. На кодеблокс. Проще и проворнее. И каспер доволен.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Aug 6 2008, 09:48
|

Частый гость
 
Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714

|
Знаете, я не очень понимаю теорию построения Eclipse под контроллер и хочу разобраться. Объясните на пальцах. Ссылку данную мне ранее я читал, но ввввввввввввв Знаю только в общих чертах, что после того, как я установил "Ява-движок JRE версии не ниже 1.4.2", "среду разработки eclipse-cpp-europa-winter-win32 со встроенным CDT С/С++ Development Toolkit", добавил CDT 4.0.3 мне требуется установить плагин компилятора MSP430. 1. Я его скачал с sourceforge
net.sf.mspgcc.zip ( 309.74 килобайт )
Кол-во скачиваний: 107. Там три папки. Они были тупо скопированы в папку Plagins моего Эклипса. 2. Теперь, очевидно, требуются mspgcc, в состав которого входят разл апликухи, например, msp430-bsl, чтобы можно было скачивать прошивку в контроллер. Его я нашел в виде установочного пакета (9,92 МБ) на sourceforge. Установил (распаковал в C:\Program Files\mspgcc\ ). 3. Запускаю Эклипс. 4. Создаю новый проект. Вот скриншот.
Выбираю mspgcc elf(GNU). Выбираю тулчейны Release и Debug. 5. Создаю файл main.c с простым кодом. 6. Подключаю стандартные файлы Properties->C/C++ General->Paths and Symbols->Includes как для Debug так и для Release
7. Задаю тип контроллера (блин, вот для AVR тип контроллера и частота кварца задается удобнее) при поможи вкладки Properties->C/C++ General->Paths and Symbols->Symbols "__MSP430_1121__". 8. Сохраняю. Компилю. 9. и тут я понимаю, что делаю что-то не так... И еще, что такое cygwin? Тут http://msp430.techcontent.net/wiki/index.p...Es/EclipseTutor увидел как настраивать и компилить проект. И вообще запутался. Я что же не тот плагин установил?
|
|
|
|
|
Aug 6 2008, 10:03
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Цырен @ Aug 6 2008, 13:48)  и тут я понимаю, что делаю что-то не так... откуда такое понимание? сигвин побоку, нужно ещё настроить проект. Или писать свой мэйк-файл и отключать автогенерацию мэйка.
Такое окошко есть? (проект->свойства) надо пробежаться по вкладкам и пунктам и всё там настроить (в основном пути к библиотекам, м.б. некоторые флаги, обязательно прописать кристалл, например, msp430x149)
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Aug 6 2008, 10:52
|

Частый гость
 
Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714

|
Как это бывает с АВРом я в соответствующей папке получаю хекс-файл. Тут же при компиляции ошибок нет, как и выходного файла, который можно было бы прошить, но есть предупреждение типа: "Error launching external scanner info generator (gcc -E -P -v -dD C:/Projects/Eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c)" А про то, что тип процессора можно задавать во вкладке miscellaneous я не заметил... Вроде пробежался по всем настройкам. Полного понимания что за что отвечает у меня нет. В поле Build Artifact у меня вообще пусто и нет возможности выбрать Artifact Type. Делаю все по наитию. В результате опять двадцать пять. Как настраивать-то?
Сообщение отредактировал Цырен - Aug 6 2008, 10:57
|
|
|
|
|
Aug 6 2008, 14:31
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906

|
Уважаемые коллеги!!! Кто-нить сталкивался с проблемой такого характера в ECLIPSE (а может это руки у меня раскривушные). В общем, собираю (давно уже) проекты в эклипсе для AT91SAM7x256 (под FreeRTOS). Причем и мэйкфайлы приходилось править (свои файлы включать, убирать, пути другие прописывать) и проект ребилдить (clean all) - никаких проблем не возникало. А недавно вот начала работать над протоколом ModbusRTU (уже почти закончила) и надо было добавить к стандарному makefile 2 файлика - один в Thumb режиме компилится (simple_serial.c), а другой в ARM (simple_serial_ISR.c). Все скомпилилось, работает. Но теперь, когда я хочу добавить в мэйкфайл какие-нить еще необходимые файлы (например для работы с MMC картой), проек компилится без ошибок, но бинарник не пашет, то есть задачи не запускаются и т. д. (хотя по отдельности modbus и mmc) работают. Приходится опять проект пересобирать и все функции валить в один файл (simple_serial.c) - и, о чудо все работает. Помогите, плз, кто сталкивался с подобным, или тыкните носом в ошибку В один файл не особо хочется все настройки и функции пихать!
|
|
|
|
|
Aug 7 2008, 17:39
|

Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 10-10-07
Из: Воронежа
Пользователь №: 31 250

|
Цитата(ZAA @ Aug 6 2008, 18:31)  Уважаемые коллеги!!! Кто-нить сталкивался с проблемой такого характера в ECLIPSE (а может это руки у меня раскривушные). ... Помогите, плз, кто сталкивался с подобным, или тыкните носом в ошибку В один файл не особо хочется все настройки и функции пихать! С 99% уверенностью можно сказать, что ошибка где-то в make-файле, а его то Вы и не удосужились показать.
|
|
|
|
|
Aug 11 2008, 05:08
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906

|
Цитата(injen-d @ Aug 7 2008, 20:39)  С 99% уверенностью можно сказать, что ошибка где-то в make-файле, а его то Вы и не удосужились показать. Прикрепляю текст мэйкфайла)
|
|
|
|
|
Aug 11 2008, 15:14
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(ZAA @ Aug 11 2008, 08:08)  Прикрепляю текст мэйкфайла) Код RTOSDemo.elf : $(THUMB_OBJS) $(ARM_OBJS) boot.s Makefile $(CC) $(CFLAGS) $(ARM_OBJS) $(THUMB_OBJS) $(LIBS) boot.s $(LINKER_FLAGS) Что такое boot.s? Если исходник- то почему он примешан в линковку? Если объектник - то почему такое странное имя? Не помешает еще скрипт линкера. Подозрение на то, что загрузочный код попадает не по тем адресам. Я так понимаю компиляция и линковка идет без ошибок и варнингов? Переставте объектный файл с векторами в самое начало перед $(ARM_OBJS) или в самом $(ARM_OBJS) поставте его первым в списке.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Aug 11 2008, 15:38
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906

|
Цитата(amw @ Aug 11 2008, 18:14)  Я так понимаю компиляция и линковка идет без ошибок и варнингов? Переставте объектный файл с векторами в самое начало перед $(ARM_OBJS) или в самом $(ARM_OBJS) поставте его первым в списке. Спасибо за совет. Завтра попробую. Да, все компилируется без ошибок.
Сообщение отредактировал ZAA - Aug 11 2008, 15:39
|
|
|
|
|
Sep 10 2008, 15:32
|

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

|
Отвечаю на некоторые свои же вопросы. Цитата(Сергей Борщ @ Apr 4 2008, 13:43)  Вопрос третий - как поставить точку останова на конкретный адрес не перезапуская отладку? Про break *addres в Debug dialog->commands->'Run' commands я знаю, но это требует перезапуска отладки. На строку в исходнике поставить можно, а если мне надо поставить на конкретную команду, причем не дожидаясь пока эта команда попадет в окно дизассемблера? Поставил эклипсу 3.4.0 ganymede, комплект разработки C/C++. Инсталлировал плагин Zylin embedded cdt 4.5.1. В окне консоли gdb теперь можно вводить команды вручную. Цитата(Сергей Борщ @ Apr 4 2008, 13:43)  Вопрос четвертый - как его заставить показать в окне дизассемблера кусок с произвольного адреса или как "пролистать" дизассемблированный текст дальше вверх-вниз? Попутный вопрос - можно ли его заставить в этом окне показывать команды по порядку адресов - мне он часто показывает команды с пропусками или в причудливо перемешанном порядке. Частично решается вводом команды disassemble адрес1 адрес2 в консоли gdb. Цитата(Сергей Борщ @ Apr 4 2008, 13:43)  Вопрос пятый - (ARM) можно ли как-то сбросить ядро не перезапуская сеанс отладки? Т.е. легким движением перевести его в ARM, SYSTEM, записать в PC 0 и остановить его на нулевом адресе. Опять же - monitor reset в консоли. Вопрос к админам: Можно ли (и как) в этой ветке первым сообщением поместить выжимку вопросов и ответов из этого обсуждения? Можно ли (и как) почистить эту ветку, чтобы первым сообщением висели вопросы с ответами, а ниже - вопросы, на которые пока нет ответов, и по мере появления ответов переносить вопросы в первое сообщение?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Oct 16 2008, 16:28
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 27-07-05
Пользователь №: 7 138

|
В CDT 5.0 указано поддержка doxygen Цитата Doxygen editor support (plus framework) Что имеется в виду? Aвтовставка комментариев doxygen? Тогда как это работает? Мне не удалось заставить Eclipse вставить комментарий.
|
|
|
|
|
Oct 17 2008, 12:50
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 27-07-05
Пользователь №: 7 138

|
Цитата(xelax @ Oct 17 2008, 12:39)  У меня вставляет шапки в файлы, а также подсвечивает doxygen'овский синтаксис. А подробнее можно?. Пишу я к примеру int foo(int x, int y){}. Что нужно нажать/вызвать для вставки Eclips'ой doxygen комментария ?
|
|
|
|
|
Oct 17 2008, 13:42
|

Местный
  
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035

|
Цитата(ikX @ Oct 17 2008, 16:50)  А подробнее можно?. Пишу я к примеру int foo(int x, int y){}. Что нужно нажать/вызвать для вставки Eclips'ой doxygen комментария ? Кликаешь на проекте Properties -> C/C++ General ставишь галочку Enable project specific settings и выбираешь Documentation Tool Doxygen. Шапку у меня генерит для файла, а не для каждой функции. Наверное можно сделать и для каждой функции. Я не пытался. Очень удобно то, что расцвечивает синтаксис doxygen.
|
|
|
|
|
Oct 20 2008, 04:58
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(ikX @ Oct 17 2008, 16:50)  А подробнее можно?. Пишу я к примеру int foo(int x, int y){}. Что нужно нажать/вызвать для вставки Eclips'ой doxygen комментария ? Если написать int foo(int a, int b ) и перед функцией ввести /**, то автоматом вставится примерно такая шапка: Код /** * * @param a * @param b * return */ Кроме того, внутри doxygen-комментариев работает автокомплит по его ключевым словам. Цитата(xelax @ Oct 17 2008, 17:42)  Шапку у меня генерит для файла, а не для каждой функции. У шапки файла, насколько я понимаю, ноги растут от шаблонов файлов, а не от doxygen-а.
|
|
|
|
|
Oct 20 2008, 07:24
|

Местный
  
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035

|
Цитата(Непомнящий Евгений @ Oct 20 2008, 08:58)  У шапки файла, насколько я понимаю, ноги растут от шаблонов файлов, а не от doxygen-а. Скорее всего так и есть. /** - это уже и есть doxygen тэг.
|
|
|
|
|
Nov 17 2008, 21:18
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(IgorKossak @ Nov 17 2008, 22:56)  Project->Properties->C/C++ General->Includes-> во всех трёх наборах Languagess поменял бывшие там пути на истинные в моей файловой системе. ...->C/C++ Build->Settings->Error Parsers все включены. забавно... Project->Properties->C/C++ General->Includes в моей конфигурации не существуют Project->Properties->C/C++ General имеет: CodeStyle Documentation File Types Indexer Languages Mappings ... и все .... есть подозреня CDT криво работает. у меня установлен Mylyn 3.0.3.v20081015-1500-e3x Zylin Embedded CDT 4.5.1 устал я боротся, наверно откачусь на европу.
|
|
|
|
|
Nov 22 2008, 09:38
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(IgorKossak @ Nov 19 2008, 12:26)  Не спешите пока. Вот, что у меня установлено. Помимо этого ещё стоит тулчейн от Yagarto.
soft.bmp ( 1.15 мегабайт )
Кол-во скачиваний: 103один в один... наверно глюки. попробую винду переставить. но странно, на ноуте тоже самое...
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|