С. Борщ
Вопрос: Что нужно для того, чтобы начать работать с msp430F1xx?
Ответ: Возможны несколько вариантов. Первый - приобрести у дистрибьюторов Texas Instruments стартовый набор MSP-FET430x110 для кристаллов серии MSP430F11x1 (стоимость около $60) или MSP-FET430P140 (около $130) для кристаллов серий MSP430F14x/F13x. В комплект поставки наборов входит отладочная плата с панелькой для контроллера, 2 контроллера MSP430F1121 или MSP430F149, программное обеспечение (ПО), комплект документации. ПО состоит из С-компилятора, ассемблера, линкера, симулятора, внутрисхемного JTAG-эмулятора (он же программатор). Поставляемая с набором версия ПО имеет ограничение на размер кода в 1 К.
Второй вариант - программное обеспечение и документация к набору свободно доступны на сайте Texas Instruments (http://focus.ti.com/download/freetools/fet_r202.exe). Размер файла около 16 Мб. Схема отладочной платы-программатора приводится в одном из файлов документации (FET User's guide.pdf). Она состоит из одной микросхемы 74AHC244, стабилизатора 3.3В, нескольких диодов, конденсаторов и резисторов. Собрать её самому не составляет труда. Остаётся приобрести собственно микроконтроллер и - вперёд!
Вопрос: Где взять кристаллы MSP430F149?
Ответ: Хотя Texas Instruments анонсировала выпуск промышленных партий F149 в IV квартале 2000 года, до сих пор они значатся как preview. На данный момент инженерные образцы кристаллов MSP430F149IPM доступны только в наборе MSP-FET430P140.
Вопрос: Новый кристалл не определяется программным обеспечением стартового набора, а старый читается и пишется без проблем.
Ответ: Если все необходимые сигналы (питание, TMS, TDI, TDO, TCK, TCLK, TEST, RST) присутствуют, а ПО всё же не видит кристалл, возможно, в опциях эмулятора отключено программирование кристалла после его запуска (Project-> Options-> C-Spy-> Flash Emulation Tool -> Suppress download). Судя по всему, эмулятор прописывает в кристалл какой-то код, по которому в дальнейшем, при последующих запусках, определяет его наличие. В случае, если включено программирование при запуске, эта проверка осуществляется после него, то есть когда код уже прописан. Вывод: или на время первого запуска отключать опцию suppress download или запускать эмулятор с уже хотя бы один раз запрограммированным кристаллом, а после того как эмулятор его найдёт, менять на новый и выполнять Init new device.
Вопрос: После запуска внешнего XT кварца (бит XTS) и конфигурирова
ния процессора на работу от него, процессор продолжает работать от внутреннего DCO (digitally controlled oscillator).
Ответ: Это связано с системой защиты от сбоев кварцевого резонатора. Если выполнить переключение до стабилизации колебаний кварца, система автоматически переключит тактирование процессора обратно на DCO. После включения кварца битом XTS необходимо выждать некоторое время (около 50 мкс), после чего можно переключаться на тактирование от него. Определить момент стабилизации колебаний можно периодически сбрасывая и проверяя бит OFIF. Следует отметить ещё одну тонкость. В случае, если процессор тактировался от внешнего кварца и произошёл сбой кварца, произойдёт переключение на DCO, однако биты SELM.1 и SELM.0 останутся взведёнными, то есть в состоянии "тактирование от XT". Для того, чтобы восстановить работу процессора от XT, необходимо сначала переключить эти биты в состояние "тактирование от DCO", а затем обратно в "тактирование от XT". Упоминание об этом моменте в документации мне не встречалось.
Вопрос: Как отличить инженерные образцы от серийных?
Ответ: Инженерные образцы называются PMS430F1xxx и имеют маркировку на корпусах P430F1xxx, в то время как серийные называются MSP430F1xxx и
маркируются M430F1xxx. Обращаю внимание на то, что у серийных кристаллов MSP430F11x1, по сравнению с PMS430F11x1, изменён адрес начала сегмента Flash Data (INFO) с 0xEF00 на 0x1000, а адрес сегмента BootRom - с 0x0800 на 0x0C00. Адреса этих сегментов в кристаллах MSP430F11x1 совпадают с аналогичными адресами в F14x, F13x.
Вопрос: Попытка запрограммировать флэш-память данных из тела программы, расположенной в флэш-памяти кода, приводит к "повисанию" процессора. И запись не происходит.
Ответ: Такое действительно происходит в инженерных образцах кристаллов PMS430F11x1. Это связано с ошибками в кристалле и устранено в серийных процессорах. Запрограммировать флэш данных в инженерных образцах можно, копируя процедуру записи и проверки окончания записи в ОЗУ и выполняя эти команды оттуда, после чего передавать управление обратно на код во флэш.
Вопрос: Как при написании программы разместить начальные данные в сегменте информационной памяти Flash?
Ответ: В управляющем файле линкера MSP430F1121C определён сегмент INFO. Поместить в него данные можно при помощи команды компилятору #pragma memory = constseg(INFO) и атрибута const, например:
#pragma memory = constseg(INFO)
const char * HelloString="Hello";
const float One = 1.0;
#pragma memory = default;
Эти данные попадут в сегмент INFO при программировании кристалла.
Вопрос: Чем можно запрограммировать микропроцессоры серии MSP430?
Ответ: Вопрос требует уточнения: о каком кристалле идёт речь? Если это однократно-программируемые или отладочные (EEPROM-версии), то ввиду закрытости алгоритма программирования через JTAG, это возможно только при помощи фирменных программаторов от Texas Instruments. Есть, правда, ещё один вариант: купить внутрисхемный JTAG-эмулятор одного из рекомендованных производителей (их список можно
найти на сервере Texas Instruments).
Фирма Texas Instruments выпускает программатор MSP-430PRGx. Описание работы и схема находятся в файле SLAU026.PDF MSP430 family programing adapter manual на сервере TI по адресу http://www-s.ti.com/sc/psheets/slau026/slau026.pdf.
Программное обеспечение последней (3.02) версии лежит по адресу http://www.ti.com/sc/docs/tools/controllers/msp430freetools.html под вывеской Parallel Programmer. Программатор подключается через параллельный порт PC и не работает под Windows NT. Готовый программатор у дистрибьюторов (ЗАО "СКАН") стоит около $250.
Если необходимо запрограммировать кристаллы с флэш-памятью, то соответствующее программное обеспечение JTAG-программатора встроено в С-SPY пакета в стартовом наборе MSP-FET430x110 и MSP-FET430P140.
В августе 2000 года на сайте появилось описание программатора MSP-PRGS430 (http://www-s.ti.com/sc/psheets/slau048/slau048.pdf). Он поддерживает все выпускаемые в настоящее время процессоры серии MSP430, в том числе и F13x/F14x. Программное обеспечение состоит из оболочки и драйвера. Форматы вызовов API-функций драйвера полностью определены, что позволяет создать свою оболочку. Программатор подключается к последовательному порту.
Что же касается описанного в DataSheet на 430F1хxx bootstraploader, то в настоящий момент существуют две версии кристаллов:
- PMS430F11xx (всех партий), которые не могут программироваться через загрузчик. MSP430F1121IDW партий 03AJX4T, 03AK16T, 05ACR4T, 05ACV2T, 05AD2LT, 05AD2XT, 05ADY4T, 05ADY5T программированию тоже не поддаются и отличаются отпредыдущих тем, что в них исправленна ошибка FLASH12 (см. errata).
- MSP430F1121IDW всех остальных партий и MSP430F1121IPW, а также PMS430F149
и MSP430F149 "почти работают". В них также исправлены все известные
ошибки Flash-модуля и компаратора. Что касается загрузчика - Software
patch required (то есть корректирующая 'добавка' к ПО).
По адресу http://www.ti.com/sc/docs/psheets/abstract/apps/slaa096a.htm находится документ Application of Bootstrap Loader in MSP430F11x - Hardware/Software Proposal размером 389 К, а также 37-К архив с примером программы на РС (Visual C++, консольное приложение) для программирования MSP430F1xx, использующей именно bootstraploader. А также приведён один из вариантов схемы программатора (HC14, стабилизатор 3В, компаратор). По сравнению с предыдущей версией этого описания, изменён формат пакета и некоторые команды. В документе утверждается, что в настоящее время прошивка загрузчика исправлена. Однако в списке errata на сегодняшний день таких кристаллов не значится. Для старых кристаллов с ошибочным загрузчиком в том же архиве предлагается patch, который грузится в ОЗУ контроллера силами 'полуживого' загрузчика и берёт управление на себя. Кстати, такой же 'промах' наблюдается и в новом кристалле MSP430F149IPM - программирование возможно только с Software patch required.
Диана пишет... можно скинуть программный код 17/03/2014 00:41:14 |
Ваш комментарий к статье | ||||