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

 
 
 
Reply to this topicStart new topic
> MSP430F5528 и объем кода больше 64KB
Alexander_84
сообщение Sep 6 2012, 09:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 14-09-08
Пользователь №: 40 181



Всем привет! Столкнулся с такой проблемой, что когда объем кода больше 64K приложение перестает запускаться (зацикливаетс в cstartup и до main() не доходит). Вычитал, что нужно использовать 20 битную адресацию. Поставил в IAR'e Data Model на Large, но все равно не работает, что нужно еще сделать?
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 6 2012, 10:39
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Alexander_84 @ Sep 6 2012, 15:55) *
Всем привет! Столкнулся с такой проблемой, что когда объем кода больше 64K приложение перестает запускаться (зацикливаетс в cstartup и до main() не доходит). Вычитал, что нужно использовать 20 битную адресацию. Поставил в IAR'e Data Model на Large, но все равно не работает, что нужно еще сделать?

а у Вас случаем не это? -- "http://zhevak.wordpress.com/2011/07/16/интересная-особенность-msp430/"

ЗЫ:
Извините, почему-то не могу правильно вставить ссылку. Все время она как-то криво встает -- ведет на сайт, но страницу не находит. Если у Вас тоже такое происходит, то сами найдите в блоге страницу с названием "интересная-особенность-msp430", она была опубликована 16.07.2011.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Alexander_84
сообщение Sep 6 2012, 11:18
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 14-09-08
Пользователь №: 40 181



zhevak, огромное спасибо! Все заработало! Что проблемма WDT я бы догадался нескоро... если бы вообще догадался.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 6 2012, 11:51
Сообщение #4


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

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



Цитата(Alexander_84 @ Sep 6 2012, 15:18) *
Что проблемма WDT я бы догадался нескоро... если бы вообще догадался.

А я бы даже и не подумал, что бывают такие проблемы...
Это все потому, что с тощими мсп-хами работаю...

zhevak, исправьте "Последниие публикации". А то прямо в глаза бросается.

По поводу вот этого
Цитата
Второй вариант, состоит в том, что массив можно объявить неинициализированным, все равно мы его сами инициализируем в функции main. В этом случае под него только выделится память, обнуления не произойдет. На данный момент, к сожалению, я не могу сказать как это правильно сделать.


может, положить в секцию .data вместо .bss ?

sometype foo __attribute__ ((section("data")));


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 6 2012, 13:34
Сообщение #5


Гуру
******

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



QUOTE (MrYuran @ Sep 6 2012, 14:51) *
может, положить в секцию .data вместо .bss ?
Тогда он не только обнуляться, он еще и копироваться из флеша будет. Кстати, в тексте zhevak ошибочно указана секция .data, хотя массив идет в .bss
А если речь идет про msp430-gcc, то я года 3-4 назад переделывал там библиотечный стартап-код по мотивам avr-libc. И там запрет собаки должен быть по умолчанию в секции .init3
А если его там не было (ну не помню, а исходников не сохранилось), то без накладных расходов на вызов функции можно было в эту секцию вставить:
CODE
__attribute__((naked, section(".init3"))) void __low_level_init()
{
    WDTCTL = WDTPW + WDTHOLD;
}


--------------------
На любой вопрос даю любой ответ
"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
zhevak
сообщение Sep 6 2012, 21:13
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(MrYuran @ Sep 6 2012, 17:51) *
zhevak, исправьте "Последниие публикации". А то прямо в глаза бросается.


Спасибо, но к сожалению я не знаю как это сделать. Я использую готовый профиль в wordpress.com. Я пересмотрел все опции, которые wordpress.com предоставляет мне для редактирования, но я так и не нашел где вообще находится этот виждет "ПоследниИ публикации".

Цитата(Сергей Борщ @ Sep 6 2012, 19:34) *
Кстати, в тексте zhevak ошибочно указана секция .data, хотя массив идет в .bss

Ага, ступил. Спасибо, Сергей! Всё, исправил.
А так же дописал твой подход -- затыканием WDT в секции .init3.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

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

 


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


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