Hutch84 0 6 сентября, 2012 Опубликовано 6 сентября, 2012 · Жалоба Всем привет! Столкнулся с такой проблемой, что когда объем кода больше 64K приложение перестает запускаться (зацикливаетс в cstartup и до main() не доходит). Вычитал, что нужно использовать 20 битную адресацию. Поставил в IAR'e Data Model на Large, но все равно не работает, что нужно еще сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 6 сентября, 2012 Опубликовано 6 сентября, 2012 · Жалоба Всем привет! Столкнулся с такой проблемой, что когда объем кода больше 64K приложение перестает запускаться (зацикливаетс в cstartup и до main() не доходит). Вычитал, что нужно использовать 20 битную адресацию. Поставил в IAR'e Data Model на Large, но все равно не работает, что нужно еще сделать? а у Вас случаем не это? -- "http://zhevak.wordpress.com/2011/07/16/интересная-особенность-msp430/" ЗЫ: Извините, почему-то не могу правильно вставить ссылку. Все время она как-то криво встает -- ведет на сайт, но страницу не находит. Если у Вас тоже такое происходит, то сами найдите в блоге страницу с названием "интересная-особенность-msp430", она была опубликована 16.07.2011. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hutch84 0 6 сентября, 2012 Опубликовано 6 сентября, 2012 · Жалоба zhevak, огромное спасибо! Все заработало! Что проблемма WDT я бы догадался нескоро... если бы вообще догадался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 6 сентября, 2012 Опубликовано 6 сентября, 2012 · Жалоба Что проблемма WDT я бы догадался нескоро... если бы вообще догадался. А я бы даже и не подумал, что бывают такие проблемы... Это все потому, что с тощими мсп-хами работаю... zhevak, исправьте "Последниие публикации". А то прямо в глаза бросается. По поводу вот этого Второй вариант, состоит в том, что массив можно объявить неинициализированным, все равно мы его сами инициализируем в функции main. В этом случае под него только выделится память, обнуления не произойдет. На данный момент, к сожалению, я не могу сказать как это правильно сделать. может, положить в секцию .data вместо .bss ? sometype foo __attribute__ ((section("data"))); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 6 сентября, 2012 Опубликовано 6 сентября, 2012 · Жалоба может, положить в секцию .data вместо .bss ?Тогда он не только обнуляться, он еще и копироваться из флеша будет. Кстати, в тексте zhevak ошибочно указана секция .data, хотя массив идет в .bss А если речь идет про msp430-gcc, то я года 3-4 назад переделывал там библиотечный стартап-код по мотивам avr-libc. И там запрет собаки должен быть по умолчанию в секции .init3 А если его там не было (ну не помню, а исходников не сохранилось), то без накладных расходов на вызов функции можно было в эту секцию вставить: __attribute__((naked, section(".init3"))) void __low_level_init() { WDTCTL = WDTPW + WDTHOLD; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 6 сентября, 2012 Опубликовано 6 сентября, 2012 · Жалоба zhevak, исправьте "Последниие публикации". А то прямо в глаза бросается. Спасибо, но к сожалению я не знаю как это сделать. Я использую готовый профиль в wordpress.com. Я пересмотрел все опции, которые wordpress.com предоставляет мне для редактирования, но я так и не нашел где вообще находится этот виждет "ПоследниИ публикации". Кстати, в тексте zhevak ошибочно указана секция .data, хотя массив идет в .bss Ага, ступил. Спасибо, Сергей! Всё, исправил. А так же дописал твой подход -- затыканием WDT в секции .init3. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться