реклама на сайте
подробности

 
 
51 страниц V  « < 18 19 20 21 22 > »   
Reply to this topicStart new topic
> Вопросы по Eclipse, CDT, Zylin embedded CDT, предлагаю обсуждать тут, может потом FAQ выжмем
gte
сообщение May 28 2010, 18:34
Сообщение #286


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(IgorKossak @ May 28 2010, 21:40) *
У меня. А что?

Значит есть полное основание переставить операционку и поставить с нуля.
Кстати, стоит на Windows?
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 28 2010, 19:02
Сообщение #287


Шаман
******

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



Цитата(gte @ May 28 2010, 21:34) *
Значит есть полное основание переставить операционку и поставить с нуля.
Кстати, стоит на Windows?

Yagarto не может стоять не на Windows. У меня WinXP(SP2 и SP3).
Go to the top of the page
 
+Quote Post
MegaFPGA
сообщение May 31 2010, 07:48
Сообщение #288


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 12-11-09
Из: Уфа
Пользователь №: 53 567



Вопрос по компилятору.
Проект собирается нормально когда флаг -О 1 2 или 3. Когда ставлю 0 то выползают ошибки.
Например функция:
CODE
extern inline unsigned int min(unsigned int dValue1, unsigned int dValue2)
{
if (dValue1 < dValue2) {

return dValue1;
}
else {

return dValue2;
}
}


Она находится в файле common.h
Вызывая эту функцию из других файлов получаю ошибку undefined reference to `min'
Если убрать extern inline то выдает ошибку multiple definition хотя это не так.

Хелп.

Сообщение отредактировал MegaFPGA - May 31 2010, 07:55
Go to the top of the page
 
+Quote Post
MegaFPGA
сообщение May 31 2010, 08:54
Сообщение #289


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 12-11-09
Из: Уфа
Пользователь №: 53 567



С этой ошибкой разобрался. Просто скопировал перед каждым вызовом тело функции.
Осталось последняя ошибка.
Строка:unsigned int baud_value = ((main_clock*10)/(baud_rate * 16));

undefined reference to `__aeabi_uidiv' lib_AT91SAM7S256.h
Вот тут совсем не понятно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 31 2010, 09:24
Сообщение #290


Гуру
******

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



Цитата(MegaFPGA @ May 31 2010, 10:48) *
Она находится в файле common.h
Вызывая эту функцию из других файлов получаю ошибку undefined reference to `min'
При -O0 встраивание отключено.
Цитата(MegaFPGA @ May 31 2010, 10:48) *
Если убрать extern inline то выдает ошибку multiple definition хотя это не так.
Это действительно так. Убрав inline (extern тут совершенно лишний, скорее нужен static) вы сделали функцию глобальной, а поскольку она находится в заголовочном файле - вы получили по копии функции в каждом файле, о чем и сообщил компилятор. Зачем -O0?
Цитата
undefined reference to `__aeabi_uidiv' lib_AT91SAM7S256.h
Поскольку вы отключили оптимизацию, компилятор должен выполнить все действия на этапе выполнения, т.е. и умножение и деление. А функции деления в библиотеке почему-то нет. Почему нет - это уже вопрос к авторам сборки.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MegaFPGA
сообщение May 31 2010, 10:01
Сообщение #291


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 12-11-09
Из: Уфа
Пользователь №: 53 567



-O0 для отладки.
Go to the top of the page
 
+Quote Post
agtsoft
сообщение Jun 24 2010, 06:18
Сообщение #292





Группа: Новичок
Сообщений: 2
Регистрация: 24-06-10
Пользователь №: 58 104



Народ, подскажите, это только у меня или закономерность: JLinkGDBServer.exe иногда вышибает во время отладки... В остальном не жалуюсь smile.gif
Использую Galileo, Keil, J-Link, отлаживаю axf при -O0.
Go to the top of the page
 
+Quote Post
agtsoft
сообщение Jun 24 2010, 07:56
Сообщение #293





Группа: Новичок
Сообщений: 2
Регистрация: 24-06-10
Пользователь №: 58 104



Цитата(agtsoft @ Jun 24 2010, 10:18) *
Народ, подскажите, это только у меня или закономерность: JLinkGDBServer.exe иногда вышибает во время отладки... В остальном не жалуюсь smile.gif
Использую Galileo, Keil, J-Link, отлаживаю axf при -O0.


В логе: Failed to measure CPU clock frequency: second loop count is less than first one!
При этом замечено, что вышибает, когда несколько "неудачныхsmile.gif" бреакпоинтов стоит. Если их убираешь, проходит "на ура"....
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Jul 11 2010, 10:35
Сообщение #294


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Есть вопрос при переходе на Гелиос:

Есть два еклипса (гелиос и галилео).

Воркспейс для гелиоса взял пустой, настроил так же, как и галилео, добавил проект. В Галилео отладка через open-ocd/mt-link идет "на ура", а в Гелиосе идет запуск, можно нажать паузу - камушек остановится, НО в окне кода такая строка: No source available for ""

 

Повторюсь: при тех же настройках в Галилео все отлично работает, более того, это проявляется на двух разных машинах.

Go to the top of the page
 
+Quote Post
ШевченкоПетр
сообщение Jul 30 2010, 13:08
Сообщение #295


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 6-08-07
Пользователь №: 29 593



Использую связку FT2232_JTAG + OpenOCD + Eclipse для отладки тестового проекта под STM32F103RBT6.

JTAG c OpenOCD соединяется, при запуске отладки в лог выводиться сообщение
Цитата
Open On-Chip Debugger 0.3.0-in-development (2009-09-05-16:24) Release
$URL: http://svn.berlios.de/svnroot/repos/openoc...k/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
1000 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
Warn : use 'stm32.cpu' as target identifier, not '0'
Info : device: 4 "2232C"
Info : deviceID: 67330064
Info : SerialNumber: FT29304050A
Info : Description: USB <-> Serial Cable A
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)
Info : accepting 'gdb' connection from 0
Warn : target was in unknown state when halt was requested
Warn : acknowledgment received, but no packet pending
Info : device id = 0x20036410
Info : flash size = 128kbytes
Info : device id = 0x20036410
Info : flash size = 128kbytes
flash 'stm32x' found at 0x08000000
stm32x mass erase complete
Error: No flash at address 0x00000000

wrote 0 byte from file main.bin in 0.062500s (0.000000 kb/s)
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
requesting target halt and executing a soft reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
Warn : negative acknowledgment, but no packet pending


Похоже, что не хочет прошивать flash , так как не находит ее по заданному адресу.
Аналогичный лог выводит и при отладке проекта для stm_p103 от Olimex.
В чем может быть причина такого поведения?
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Aug 6 2010, 11:00
Сообщение #296


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Цитата(AlexMad @ Jul 11 2010, 14:35) *
Есть вопрос при переходе на Гелиос:

Есть два еклипса (гелиос и галилео).

Воркспейс для гелиоса взял пустой, настроил так же, как и галилео, добавил проект. В Галилео отладка через open-ocd/mt-link идет "на ура", а в Гелиосе идет запуск, можно нажать паузу - камушек остановится, НО в окне кода такая строка: No source available for ""


Вобщем, решилось достаточно просто: пришлось заново создать проект в гелиосе.


Так что при переходе недостаточно взять чистый воркспейс, вместо импорта старых проектов нужно новые создавать.

Go to the top of the page
 
+Quote Post
ШевченкоПетр
сообщение Aug 12 2010, 11:28
Сообщение #297


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 6-08-07
Пользователь №: 29 593



Пытаюсь запустить отладку в Eclipse - пока безуспешно.
Использую JTAG - адаптер на ft2232C, микроконтроллер STM32F103RBT6( 128кб флеш 20кб ОЗУ ) ,

openocd запускаю с конфигурационными файлами -f interface/ftdi_jtag.cfg -f target/stm32.cfg

stm32.cfg cтандартный из директории openocd

содержимое ftdi_jtag.cfg:

Цитата
interface ft2232
ft2232_device_desc "USB <-> Serial Cable A"
ft2232_layout usbjtag
ft2232_vid_pid 0x0403 0x6010


скрипт компоновщика для загрузки в SRAM :

Цитата
MEMORY
{
rom (rx) : ORIGIN = 0x00000000, LENGTH = 128K
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
}
SECTIONS
{
. = 0x00000000; /* From 0x00000000 */
.text : {
*(vectors) /* Vector table */
*(.text) /* Program code */
*(.rodata) /* Read only data */
}>ram
. = 0x20000000; /* From 0x20000000 */

.data : {
*(.data) /* Data memory */
}>ram
.bss : {
*(.bss) /* Zero-filled run time allocate data memory */
}>ram
}


команды отладчика:

Цитата
target remote localhost:3333
monitor halt
monitor load_image out/arm_project.elf
monitor verify_image out/arm_project.elf
thbreak main
continue


в консоль выводит:

Цитата
target remote localhost:3333
0x00000000 in ?? ()
monitor halt
monitor load_image out/arm_project.elf
264 bytes written at address 0x20000000
downloaded 264 bytes in 0.343750s (0.750 kb/s)
monitor verify_image out/arm_project.elf
checksum mismatch - attempting binary compare
Verify operation failed address 0x20000000. Was 0x02 instead of 0x00

Command handler execution failed
in procedure 'verify_image' called at file "command.c", line 650
called at file "command.c", line 361
thbreak main
Hardware assisted breakpoint 1 at 0x20000084
continue
stm32.cpu -- clearing lockup after double fault

Program received signal SIGINT, Interrupt.
0x20000004 in VectorArray ()


Судя по логу верификация дает несовпадение записанного и считанного образа.
Надпись "stm32.cpu -- clearing lockup after double fault" вызывает недоумение, к чему это?

Для загрузки в флеш использовал :

Цитата
target remote localhost:3333
monitor halt
monitor flash probe 0
monitor stm32x mass_erase 0
monitor flash write_bank 0 out/arm_project.elf 0x08000000
monitor reset halt
monitor soft_reset_halt
thbreak main
continue


и подправил соответственно в скрипте компоновщика для секции кода "> rom" , для data и bss "> ram AT>rom"

Лог следующий :

Цитата
target remote localhost:3333
0x00000000 in VectorArray ()
monitor halt
monitor flash probe 0
device id = 0x20036410
flash size = 128kbytes
flash 'stm32x' found at 0x08000000
monitor stm32x mass_erase 0
stm32x mass erase complete
monitor flash write_bank 0 out/arm_project.elf 0x08000000
not enough working area available(requested 16384, free 16336)
stm32.cpu -- clearing lockup after double fault
error executing stm32x flash write algorithm
flash writing failed with error code: 0xfffffc7a
error writing to flash at address 0x08000000 at offset 0x08000000 (-902)
Command handler execution failed
in procedure 'flash' called at file "command.c", line 650
called at file "command.c", line 361
monitor reset halt
JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)
target state: halted
target halted due to debug-request, current mode: Handler HardFault
xPSR: 0x00000003 pc: 0x20000004 msp: 0x20004fe0
monitor soft_reset_halt
requesting target halt and executing a soft reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x20000108 msp: 0x20005000
thbreak main
Hardware assisted breakpoint 1 at 0xc0
continue
stm32.cpu -- clearing lockup after double fault

Program received signal SIGINT, Interrupt.
0x20000004 in ?? ()


Подскажите в каком направлении копать?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 12 2010, 13:32
Сообщение #298


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Вообще-то этот вопрос к Эклипсе практически никак не относится.
Вот мой рабочий скрипт (отладка из flash):
Код
target remote localhost:3333
load
monitor soft_reset_halt
set mem inaccessible-by-default off
compare-sections
tbreak main
continue


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
ШевченкоПетр
сообщение Aug 13 2010, 12:37
Сообщение #299


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 6-08-07
Пользователь №: 29 593



Цитата(AHTOXA @ Aug 12 2010, 15:32) *
Вообще-то этот вопрос к Эклипсе практически никак не относится.
Вот мой рабочий скрипт (отладка из flash):
Код
target remote localhost:3333
load
monitor soft_reset_halt
set mem inaccessible-by-default off
compare-sections
tbreak main
continue


Вопрос не по оболочке Eclipse, но зато в Eclipse все эти инструменты вместе используются.


За скрипт спасибо .


Ошибки выводит те же.

Похоже, что проблемы с железкой, на кварце 8МГц высокий уровень, проскакивают короткие нулевые импульсы частотой 1 - 2 Гц, устройство собрано на макетной плате, разобраться будет непросто.

В документации на STM32 пишут , что у этих кристаллов есть внутренний RC-генератор, можно ли выбросить кварц 8МГц?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 13 2010, 13:22
Сообщение #300


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(ШевченкоПетр @ Aug 13 2010, 18:37) *
В документации на STM32 пишут , что у этих кристаллов есть внутренний RC-генератор, можно ли выбросить кварц 8МГц?

Можно, JTAG замечательно цепляется и без кварца.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

51 страниц V  « < 18 19 20 21 22 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016