Цитата(_Артём_ @ Sep 15 2012, 23:49)

Чо, прям распалось на куски?
В чём рассыпание выражается?
Практически на куски. Программа улетает непонятно пока (разбираюсь), продолжая выполнять некоторые из обработчиков прерываний.
Если конкретно - это наложение символов на видео. При старте пытаются мелькнуть какие-то артефакты, после чего основная программа перестает работать и, соответсвенно, подгружать видеобуфера (изображение формирует SPI c DMA).
Цитата(_Артём_ @ Sep 15 2012, 23:49)

Можно подредактировать скрипт линкера в плане урезания памяти.
Или выбрать msp с меньшим объёмом, но совместимый программно (если есть такой).
К сожалению, по функциональности и размеру корпуса больше ничего не прошло. Нужно 48 ножек LLP, 2 SPI, I2C, UART.
Просто урезать память не пройдет - нужно запретить использование команд с расширенной памятью.
Цитата(_Артём_ @ Sep 15 2012, 23:49)

Как это - "не использовать команды 430x вообще"? А что ему использовать? Команды АВР или АРМ чтоли?
Не понял.
Ограничиться командами 430, не используя 430х (стр.168 SLAU208J), которые уменьшают скорость и приводят к разбуханию кода. Ну и указатели, похоже, становятся не 16 битными.
Судя по описанию процессора - нормальный путь, вот как только ИАР на этот путь наставить. Где-то должна быть галочка

дополнено - кажется, путь есть:
Under General Options, select "Generic MSP430 Device" for the target processor (not "Generic MSP430X device").
Under Linker, override the default linker configuration file and use $TOOLKIT_DIR$\CONFIG\lnk430****.xcl for your actual processor instead.
In code, #include the actual target msp430****.h file, not the generic msp430.h.
теперь компилятор ругается на
__data16_write_addr((unsigned short) &DMA1SA,(unsigned long) Vbuff1);
Error[Ta025]: Intrinsic function only available for the 430X core
Получается, MSP430F3410 все-таки использует 430х? Где же все-таки собака порылась?