Добрый день, комрады.
Бесплатная, но любимая IAR Kickstart имеет ограничение на 4К кода,
что для программ хватает.
Появилась необходимость использовать в программе некий звук (массив констант)
длинной 8К-10К. Что наткнулось на ограничение в 4К кода.
Процессор - msp430g2553. Флеш - 16К.
Можно подцепить внешнюю память, можно переписать все под другой компилятор,
или полечить IAR. Но хочется сделать как-то хитрее.
Думаю о двух вариантах:
1) Возможно есть готовая утилита, которая могла бы дописать в прошитый процессор массив данных.
2) Деассемблировать код сгенерированный IAR, добавить массив констант,
а затем компилировать и прошить с помощью CCS. Нестандартно, но почему бы и нет.
У кого какие будут идеи по этому поводу?
MrYuran
Nov 14 2012, 12:14
На ассемблер ограничения нет (вроде бы)
На худой конец, можно непосредственно в прошивку вставить (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
_Артём_
Nov 14 2012, 12:21
Цитата(ad75 @ Nov 14 2012, 14:10)

У кого какие будут идеи по этому поводу?
Объединить два хекс-файла (1 - программа, 2 - массив констант) в один файл и зашить.
rezident
Nov 14 2012, 17:36
Цитата(ad75 @ Nov 14 2012, 17:10)

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

В опциях проекта на вкладке свойств линкера есть возможность подгрузить внешний bin-файл, разместив его в определенном сегменте памяти. Попробуйте. Project->Options->Linker->Config->Raw binary image
Спасибо. Попробую!
rezident
Nov 14 2012, 18:24
Цитата(ad75 @ Nov 14 2012, 23:03)

Спасибо. Попробую!
В дополнение. Для "склейки" прошивки можно еще воспользоваться утилитой
SRecord. Естественно, что в любом случае при склейке для массива придется зарезервировать место в xcl-файле и обращаться к нему только через указатель.
Еще хочу заметить, что в опциях проекта можно задавать Pre-build и Post-build. Project->Options->Build Actions. Правда я ни разу не пользовался этими возможностями компиляции.