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

 
 
> 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
 
Start new topic
Ответов
Alexander_84
сообщение Sep 6 2012, 11:18
Сообщение #2


Участник
*

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



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


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

Группа: Свой
Сообщений: 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
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 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



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

 


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


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