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

 
 
> MSPGCC + MSP430X - проблемы с .far_rom
MrYuran
сообщение Feb 12 2014, 11:01
Сообщение #1


Беспросветный оптимист
******

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



Здравствуй, народ!
Нид ё хелп!

Пришлось таки столкнуться с верхней памятью MSP430X, возникли проблемы.

История болезни:

1. Код перевалил за 53кБ на f2618 и перестал влезать в секцию .rom

2. Не долго думая, некоторые функции перенаправили в верхнюю флешь через __attribute__((section(".far_rom")))
вроде прокатило, но функции почему-то легли с адреса 0x200 вместо 0x10000.

3. Добавили флаг -memory-model = large
Линкер съел, компилятор не понял.

4. Выяснилось, что готовая сборка mspgcc_20120911 не поддерживает нужные ключи (или чяднт?)

Насколько я понял, все доработки находятся в DEVEL ветках и их нужно встраивать ручками.
Сборка gcc конечно полезна для общего развития, но совершенно бессмысленна с т.з. производственного процесса.

Нельзя ли где взять готовые сборки, поддерживающие верхнюю флешь?
Или я чего-то неправильно понимаю?

PS: есть ещё свежак от TI+RH, но там похоже пока только голое ядро, все остальное нужно навешивать самостоятельно.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Feb 12 2014, 11:58
Сообщение #2


Гуру
******

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



Цитата(MrYuran @ Feb 12 2014, 13:01) *
2. Не долго думая, некоторые функции перенаправили в верхнюю флешь через __attribute__((section(".far_rom")))
вроде прокатило, но функции почему-то легли с адреса 0x200 вместо 0x10000.
Давно этим не занимался, возможно сильно изменили после меня, но я вводил другой атрибут. Там не только переместить функцию надо, но и вызовы ее и из нее другими командами делать, и возврат.
Цитата(MrYuran @ Feb 12 2014, 13:01) *
3. Добавили флаг -memory-model = large
Линкер съел, компилятор не понял.
Такого флага не помню. А в доке совсем ничего нет на эту тему? Помню делал несколько флагов - для проектов только с близким кодом, с дальним кодом и какие-то вариации не то с константами, не то с указателями еще... Практически ничего уже не помню...

У меня два компа сменилось с тех пор, исходники навряд ли найду, да и наворотили там с тех пор уже много чего. Последний раз когда заглядывал в исходники увидел большие куски своего кода под чужими фамилиями. Видимо фамилии тех, кто сливал с sourceforge в официальные исходники.

Добавлено: глянул вику - да, все теперь по-другому. Придется вам разбираться самому.


--------------------
На любой вопрос даю любой ответ
"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



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

 


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


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