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

 
 
> Проблемы с адресацией памяти.
tdi@013h
сообщение Feb 8 2011, 11:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 8-02-11
Пользователь №: 62 795



Здравствуйте уважаемые форумчане. Свалилась на меня задача обновления комплекса ПО (Eclipse 3.5.1+Codeosurce 4.5.1+OpenOCD всё крутится под Calculate Linux).
Есть железка на stm32f107 и проект под неё написанный. На соседнем компьютере с аналогичным ПО (версии эклипса, кодсоурса по древнее будут) проект собирается, линкуется, заливается в контроллер и всё работает.
С обновлением на стадии линковки начинают лезть ошибки. Проект, все файлы в нём и скрипт линковки идентичны. Ошибки такие
Код
section .ARM.extab.text.__gxx_personality_v0 loaded at [0802e5d0,0802e5f3] overlaps section .init_array loaded at [0802e5d0,0802e5d7]
section .fini_array loaded at [0802e5d8,0802e5db] overlaps section .ARM.extab.text.__gxx_personality_v0 loaded at [0802e5d0,0802e5f3]
section .init loaded at [0802db0c,0802db17] overlaps section .data loaded at [0802db0c,0802e5cf]


Пробовал скормить стандартный сценарий generic.ld из состава Codesource, предварительно изменив количество памяти в тексте сценарии. Проект линкуется, создаёт объект, но на стадии заливки начинаются проблемы (section too long, если не изменяет память, чуть позже скину точный лог).

Кусочно объединить "родной" скрипт и generic.ld не удалось, ошибки.
Текст родного скрипта.

Linker Script

В силу слабого знакомства с предметом темы вообще слабо представлю логику происходящего(кроме того, что с адресацией памяти косяк).

Вопроса два:
Что поправить в "родном" скрипте?
Где бы найти картинку под мой stm32f107 аналогичную этой?


Сообщение отредактировал tdi@013h - Feb 8 2011, 11:41
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
tdi@013h
сообщение Feb 22 2011, 12:03
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 8-02-11
Пользователь №: 62 795



Пересобиранием openocd вылечилось. Теперь такая проблема с заливкой.
Если общаться с gdb через консоль, то нехитрая последовательность команд
Код
target remote localhost:3333
monitor soft_reset_halt
load /home/edd/workspace/OB7_NEW/Debug/ob7
b main
monitor soft_reset_halt

выполняется, и загружает прошивку в память железки.

При попытке сделать всё тоже самое через связку Eclipse+Zylin имеем ругань
Код
source /home/edd/workspace/OB7_NEW/target.cfg
target remote localhost:3333
Remote 'g' packet reply is too long: c80a00202f295aa5f53292e4a4ddbf0e0cb4a4779e
90377038c549e82d4c20065c1b8931542c8b121015b150a8e84ae862e89d40e4b90208ffffffff
1d000008000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000020000001
monitor soft_reset_halt
"monitor" command not supported by this target.
load /home/edd/workspace/OB7_NEW/Debug/ob7
You can't do that when your target is `exec'
b main
During symbol reading, debug info gives in-file macro definition with zero line 0: __STDC__ 1.
Breakpoint 1 at 0x80003aa: file ../main.cpp, line 85.
monitor soft_reset_halt
"monitor" command not supported by this target.


Куда смотреть?


Также прошу помощи по команде
Код
(gdb) monitor flash write_image erase unlock /home/edd/workspace/OB7_NEW/Debug/ob7 0x08000000
auto erase enabled
auto unlock enabled
No flash at address 0x10000000

No flash at address 0x1002e7d8

Как в консольном режиме ей указать адреса флэша?

Сообщение отредактировал tdi@013h - Feb 22 2011, 12:19
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 22 2011, 13:22
Сообщение #3


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

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



Цитата(tdi@013h @ Feb 22 2011, 17:03) *
Куда смотреть?

Может запускаете не тот gdb?
Цитата(tdi@013h @ Feb 22 2011, 17:03) *
Как в консольном режиме ей указать адреса флэша?

Так вроде в openocd.cfg указывается?


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

Сообщений в этой теме
- tdi@013h   Проблемы с адресацией памяти.   Feb 8 2011, 11:37
- - AHTOXA   Вот тут лежит рабочий скрипт для 107.   Feb 8 2011, 11:58
- - tdi@013h   Со скриптом из предыдущего поста получается вот та...   Feb 8 2011, 12:46
|- - AHTOXA   Цитата(tdi@013h @ Feb 8 2011, 17:46) Реши...   Feb 8 2011, 14:17
- - tdi@013h   Добавил syscalls, не взлетело. Жалуется на отсутст...   Feb 9 2011, 10:38
|- - AHTOXA   Цитата(tdi@013h @ Feb 9 2011, 15:38) Доба...   Feb 9 2011, 15:18
- - tdi@013h   При запуске тогоже самого через консоль та же байд...   Feb 9 2011, 12:49
- - tdi@013h   openocd запускается так. openocd.cfg в аттаче.   Feb 10 2011, 10:00
- - tdi@013h   Откатился по openocd до 0.3.1, но лыжи по прежнему...   Feb 11 2011, 12:02
- - tdi@013h   К gdb путь явно прописал. /opt/codesource/bin/arm-...   Feb 24 2011, 10:01
- - tdi@013h   Поздравьте. Всю прошлую неделю насиловал "тру...   Feb 28 2011, 12:30
|- - AHTOXA   Бывает   Feb 28 2011, 12:35
- - tdi@013h   Новую тему поднимать не буду, продолжу здесь. С за...   Mar 1 2011, 12:36
|- - Сергей Борщ   QUOTE (tdi@013h @ Mar 1 2011, 14:36) Куда...   Mar 1 2011, 13:05
- - tdi@013h   Библиотеки армовские вместе с компилятором перетащ...   Mar 2 2011, 09:54
|- - Сергей Борщ   QUOTE (tdi@013h @ Mar 2 2011, 11:54) Есть...   Mar 2 2011, 10:06
- - tdi@013h   Методом arm-none-eabi-readelf project -all >...   Mar 3 2011, 10:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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