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

 
 
 
Reply to this topicStart new topic
> Как можно дозалить код более 4К (массив констант) в MSP430, Ограничения IAR Kickstart по объему кода
ad75
сообщение Nov 14 2012, 12:10
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 14-11-12
Пользователь №: 74 380



Добрый день, комрады.

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

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

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

У кого какие будут идеи по этому поводу?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 14 2012, 12:14
Сообщение #2


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

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



На ассемблер ограничения нет (вроде бы)

На худой конец, можно непосредственно в прошивку вставить (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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Nov 14 2012, 12:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(ad75 @ Nov 14 2012, 14:10) *
У кого какие будут идеи по этому поводу?

Объединить два хекс-файла (1 - программа, 2 - массив констант) в один файл и зашить.
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 14 2012, 17:36
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(ad75 @ Nov 14 2012, 17:10) *
У кого какие будут идеи по этому поводу?
В опциях проекта на вкладке свойств линкера есть возможность подгрузить внешний bin-файл, разместив его в определенном сегменте памяти. Попробуйте. Project->Options->Linker->Config->Raw binary image
Go to the top of the page
 
+Quote Post
ad75
сообщение Nov 14 2012, 18:03
Сообщение #5





Группа: Новичок
Сообщений: 2
Регистрация: 14-11-12
Пользователь №: 74 380



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


Спасибо. Попробую!
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 14 2012, 18:24
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



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

В дополнение. Для "склейки" прошивки можно еще воспользоваться утилитой SRecord. Естественно, что в любом случае при склейке для массива придется зарезервировать место в xcl-файле и обращаться к нему только через указатель.
Еще хочу заметить, что в опциях проекта можно задавать Pre-build и Post-build. Project->Options->Build Actions. Правда я ни разу не пользовался этими возможностями компиляции. laughing.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 14:15
Рейтинг@Mail.ru


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