Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как можно дозалить код более 4К (массив констант) в MSP430
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
ad75
Добрый день, комрады.

Бесплатная, но любимая IAR Kickstart имеет ограничение на 4К кода,
что для программ хватает.

Появилась необходимость использовать в программе некий звук (массив констант)
длинной 8К-10К. Что наткнулось на ограничение в 4К кода.
Процессор - msp430g2553. Флеш - 16К.
Можно подцепить внешнюю память, можно переписать все под другой компилятор,
или полечить IAR. Но хочется сделать как-то хитрее.

Думаю о двух вариантах:
1) Возможно есть готовая утилита, которая могла бы дописать в прошитый процессор массив данных.
2) Деассемблировать код сгенерированный IAR, добавить массив констант,
а затем компилировать и прошить с помощью CCS. Нестандартно, но почему бы и нет.

У кого какие будут идеи по этому поводу?
MrYuran
На ассемблер ограничения нет (вроде бы)

На худой конец, можно непосредственно в прошивку вставить (TI Text)
Примерно таким образом: (адрес и данные - ваши)
Код
@754c
00 00 00 00 00 00 c8 41 00 00 00 00 00 00 00 00
00 00 c8 41 00 00 00 00 00 00 00 00 00 00 7a 43
00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 74
ff 00 00 00 00 00 00 00 00 00 c4 09 00 00 00 00
c4 09 00 00 00 40 52 49 1d 3a 10 27 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 c4 09 00 00
00 00 c4 09 00 00 48 42 00 00 48 42 00 00 c8 42
9a 99 99 3e 00 00 00 00 00 00 00 00 00 00 00 00
_Артём_
Цитата(ad75 @ Nov 14 2012, 14:10) *
У кого какие будут идеи по этому поводу?

Объединить два хекс-файла (1 - программа, 2 - массив констант) в один файл и зашить.
rezident
Цитата(ad75 @ Nov 14 2012, 17:10) *
У кого какие будут идеи по этому поводу?
В опциях проекта на вкладке свойств линкера есть возможность подгрузить внешний bin-файл, разместив его в определенном сегменте памяти. Попробуйте. Project->Options->Linker->Config->Raw binary image
ad75
Цитата(rezident @ Nov 14 2012, 21:36) *
В опциях проекта на вкладке свойств линкера есть возможность подгрузить внешний bin-файл, разместив его в определенном сегменте памяти. Попробуйте. Project->Options->Linker->Config->Raw binary image


Спасибо. Попробую!
rezident
Цитата(ad75 @ Nov 14 2012, 23:03) *
Спасибо. Попробую!

В дополнение. Для "склейки" прошивки можно еще воспользоваться утилитой SRecord. Естественно, что в любом случае при склейке для массива придется зарезервировать место в xcl-файле и обращаться к нему только через указатель.
Еще хочу заметить, что в опциях проекта можно задавать Pre-build и Post-build. Project->Options->Build Actions. Правда я ни разу не пользовался этими возможностями компиляции. laughing.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.