|
СС430F5137 с нуля на asm, нужна помощь |
|
|
|
Feb 23 2013, 14:07
|

Частый гость
 
Группа: Участник
Сообщений: 189
Регистрация: 21-01-10
Пользователь №: 54 971

|
Приобрел EM430F5137RF900 и MSP-FET430UIF, до приобретения особо не заморачивался с подготовкой "рабочего пространства" под новый проект, вроде бы камни не особенно новые, часто встречал различную информацию о них и не думал, что доставабельностью нужной для начала разработки инфы возникнут проблемы. Пол дня поискал в сети примеры заголовочных файлов под этот камень, примеры инициализации периферии, увы - результат 0. Это такой секрет? Такие данные достаются потом и кровью? Раньше работал с AVR (да и продолжаю время от времени), никаких таких проблем не помню, все было как-то проще достать и среда разработки нормальная (и бесплатная). Бог с ней со средой, поставил IAR KS на 4кБ кода (мне для попробовать). С самим ассемблером MSP и системой команд ознакомился поверхностно, страха не вызвал, вроде бы все просто (по крайней мере помигать светодиодом для начала - понятно как, а особенности и "камни" по ходу дела разберу). Стандартный заголовочный файл, который есть в папке иара "\inc" при пустом проекте вызывает негодование у компилятора IAR (дублирование лэйблов в объявлении регистров DMA). Попытался найти нормальный заголовочный файл в сети - нашел лишь такой же, "замазал" все места вызывающие негатив комментариями, чтобы не было ошибок. Далее попытался найти файл, который инициализировал бы мне всю периферию - тут все и загнулось. Я понимаю, что скорее всего при запуске МК все отключает сам и морганию светодиодом врядли что-то помешает, но хотелось бы иметь заготовку с полной инициализацией всех узлов МК ну и ессно полную таблицу векторов прерываний воткнуть в начало. Это добавляет уверенности в дальнейшем освоении камня. В отладчике иара тож пока особо не разобрался, если честно с первого раза иар вроде показался "классическим" средством разработки с простым и понятным интерфейсом, как начал лезть глубже - начало казаться, что первое впечатление обманчиво, чувство "чего-то не хватает" не покидает - ну к примеру как мне для отладчика задать тип МК, частоту кварца (чтоб время выполения отслеживать), также не нашел средства для заливки прошивки в МК (нужно отдельным ПО для этого ввоспользоваться чтоли?!). Прошу извинить за смешивание всего в кучу - помогите найти (или разобраться) с заголовочный файл для ассемблера под этот МК, файл инициализации всех устройств на борту, ну и вектора прерываний до кучи. На Си для МК не программирую и не особо горю желанием.
--------------------
Не так страшна автоматизация, как её малюют.
|
|
|
|
|
 |
Ответов
|
Jan 5 2014, 22:43
|

Частый гость
 
Группа: Участник
Сообщений: 189
Регистрация: 21-01-10
Пользователь №: 54 971

|
То ли лыжи, то ли пол третьего ночи... Часовой кварц припаян, биты P5SEL[0/1] установлены, в регистре UCS включаю XT1 в режиме LF, выбираю емкость 12пФ при DRIVE=0, нифига не запускается... читаю дальше и вижу, что мне говорят: "мол, по-умолчанию, XT1 изначально настроен и сигнал подается на FLL с тактированием ACLK, только XT1 не включен. А если его включить, то, мол, он сразу отрубится и ACLK будет тактироваться от REFO, потому как наша умная система заметит нестабильность в работе XT1 и поднимет флаг XT1LFOFFG." Как я понял надо периодически пробовать сбрасывать этот флаг, и когда он перестанет автоматически подниматься из-за нестабильности генерации - тогда можно считать, что XT1 запустился и каким-то образом после этого переключить тактирование обратно с REFO на XT1. И по поводу внутренней емкости - на моих кварцах требо 12,5пФ, как я понял пины МК имеют собственнуюпаразитную емкость около 2пФ, т.е. нужна внутренняя емкость около 10пФ, или должно при 12 запуститься? Поможите люди добрые, а то голова реально разболелась, аж тРррРРРрррРРещит
Сообщение отредактировал vazz - Jan 5 2014, 22:43
--------------------
Не так страшна автоматизация, как её малюют.
|
|
|
|
|
Jan 6 2014, 05:55
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(vazz @ Jan 6 2014, 03:43)  в регистре UCS включаю XT1 в режиме LF, выбираю емкость 12пФ при DRIVE=0, нифига не запускается... Начинаю художественное цитирование User's Guide  Цитата 3.2.4 XT1 Oscillator ... The drive settings of XT1 can be increased with the XT1DRIVE bits. At power up, the XT1 starts with the highest drive settings for fast, reliable startup. If needed, user software can reduce the drive strength to further reduce power. can be совсем не то же самое, что must be, не так ли? Стартовать нужно при максимальном усилении (XT1DRIVE = 2) и только после старта, когда генератор уже "раскочегарился", можно пробовать уменьшить его. Кстати, XTS нужно не забыть сбросить, а то в LFXT mode генератор XT1 не переключится. А биты P5SEL, относящиеся к XT1, тоже не лишне будет установить. Я в очередной раз настоятельно рекомендую инициализировать все перифейрийные регистры явными значениями, не надеясь на их default state. Цитата(vazz @ Jan 6 2014, 03:43)  Как я понял надо периодически пробовать сбрасывать этот флаг, и когда он перестанет автоматически подниматься из-за нестабильности генерации - тогда можно считать, что XT1 запустился и каким-то образом после этого переключить тактирование обратно с REFO на XT1. Можно тупо ждать, сбрасывая XT1LFOFFG, а можно и не ждать, выполняя программу инициализации дальше. Через 1 сек проверить, стартовал ли LFXT? А до тех пор REFO вполне заменяет часовой кварц. Цитата(vazz @ Jan 6 2014, 03:43)  И по поводу внутренней емкости - на моих кварцах требо 12,5пФ, как я понял пины МК имеют собственнуюпаразитную емкость около 2пФ, т.е. нужна внутренняя емкость около 10пФ, или должно при 12 запуститься? Чтобы не быть плохим пересказчиком и не объяснять "на пальцах", рекомендую прочитать MSP430 32-kHz Crystal Oscillators и MSP430 LFXT1 Oscillator Accuracy. Лично я всегда закладываю два внешних конденсатора "на всякий случай". Ибо по законам физики последовательное соединение конденсаторов с одинаковой емкостью уменьшает их суммарную емкость ровно вдвое. Поэтому для кварца с нагрузочной емокстью 12,5пФ по теории требуется два конденсатора по 25пФ, включенных впараллель выводам генератора (относительно общей точки - земли), но последовательно относительно выводов кварцедержателя.
|
|
|
|
Сообщений в этой теме
vazz СС430F5137 с нуля на asm Feb 23 2013, 14:07 rezident Цитата(vazz @ Feb 23 2013, 19:07) Стандар... Feb 23 2013, 20:03 vazz Благодарю за напутственные пояснения, наконец-то п... Dec 28 2013, 14:12 rx3apf "#" - непосредственный операнд, если зна... Dec 28 2013, 14:33 vazz А правда то, что ограничение 4кБ IAR Kickstart отн... Dec 28 2013, 17:31 d7d1cd Цитата(vazz @ Dec 28 2013, 21:31) А правд... Dec 28 2013, 17:32  vazz Цитата(d7d1cd @ Dec 28 2013, 21:32) Вроде... Dec 29 2013, 11:55   d7d1cd Цитата(vazz @ Dec 29 2013, 15:55) Я пока ... Dec 29 2013, 14:21 vazz Почитал о режимах адресации, впринципе все понятно... Dec 29 2013, 09:47 d7d1cd Цитата(vazz @ Dec 29 2013, 13:47) Почитал... Dec 29 2013, 11:39 vazz Не могу найти/понять информацию про стек. Вершина ... Dec 30 2013, 19:55 d7d1cd Цитата(vazz @ Dec 30 2013, 23:55) Не могу... Dec 31 2013, 06:25  vazz Цитата(d7d1cd @ Dec 31 2013, 10:25) Перво... Dec 31 2013, 10:13   d7d1cd Цитата(vazz @ Dec 31 2013, 14:13) Про сте... Dec 31 2013, 13:38    vazz Цитата(d7d1cd @ Dec 31 2013, 17:38) и буд... Dec 31 2013, 14:52 vazz А еще непонятны примочки ассемблера типа "NAM... Dec 30 2013, 21:57 d7d1cd А что за расширение файла .inc? Вот ты говоришь, ч... Dec 31 2013, 15:32 vazz Цитата(d7d1cd @ Dec 31 2013, 19:32) А что... Dec 31 2013, 16:05  d7d1cd Цитата(vazz @ Dec 31 2013, 20:05) Тут не ... Dec 31 2013, 16:20   vazz Цитата(d7d1cd @ Dec 31 2013, 20:20) Мне к... Dec 31 2013, 16:29    d7d1cd Цитата(vazz @ Dec 31 2013, 20:29) Кстати,... Dec 31 2013, 20:11  SM Цитата(vazz @ Dec 31 2013, 20:05) Хм... н... Jan 1 2014, 09:36   vazz Цитата(SM @ Jan 1 2014, 13:36) public/ext... Jan 1 2014, 10:14    d7d1cd Цитата(vazz @ Jan 1 2014, 14:14) Благодар... Jan 1 2014, 10:52    SM Цитата(vazz @ Jan 1 2014, 14:14) Благодар... Jan 1 2014, 13:34 vazz По мере разбирательства пытаюсь читать CC430 Users... Jan 2 2014, 19:21 rezident Цитата(vazz @ Jan 3 2014, 00:21) Про MCLK... Jan 2 2014, 20:03  vazz Цитата(rezident @ Jan 3 2014, 00:03) Поче... Jan 2 2014, 22:09   rezident Цитата(vazz @ Jan 3 2014, 03:09) Не, я им... Jan 3 2014, 17:03 vazz IAR почему-то ругается на команду CMP.B по отношен... Jan 3 2014, 19:03 vazz Господин rezident, немного наслышан о тебе, как об... Jan 3 2014, 20:37 d7d1cd Цитата(vazz @ Jan 4 2014, 00:37) Господин... Jan 4 2014, 08:59  vazz Цитата(d7d1cd @ Jan 4 2014, 12:59) Я знаю... Jan 4 2014, 10:02 rezident Цитата(vazz @ Jan 4 2014, 01:37) можно ли... Jan 4 2014, 15:19 d7d1cd vazz, можно, как ты говоришь, оффтоп... Ты пишешь ... Jan 4 2014, 10:39 vazz Цитата(d7d1cd @ Jan 4 2014, 14:39) Чтобы ... Jan 4 2014, 11:48  d7d1cd Цитата(vazz @ Jan 4 2014, 15:48) Наверное... Jan 4 2014, 12:19   vazz Цитата(d7d1cd @ Jan 4 2014, 16:19) Как то... Jan 4 2014, 16:33    rezident Цитата(vazz @ Jan 4 2014, 21:08) а вот пр... Jan 4 2014, 16:48     vazz Цитата(rezident @ Jan 4 2014, 20:48) сраз... Jan 4 2014, 17:12   SM Цитата(d7d1cd @ Jan 4 2014, 16:19) А для ... Jan 4 2014, 16:45    d7d1cd Цитата(SM @ Jan 4 2014, 20:45) Объявить е... Jan 4 2014, 17:14 SM У меня сейчас IAR не установлен под 430. так что с... Jan 4 2014, 17:36 d7d1cd Цитата(SM @ Jan 4 2014, 21:36) У меня сей... Jan 4 2014, 17:50 SM Какая же это ошибка. Доступ к любому отдельному ба... Jan 4 2014, 18:00 d7d1cd Цитата(SM @ Jan 4 2014, 22:00) Какая же э... Jan 4 2014, 18:04  SM Цитата(d7d1cd @ Jan 4 2014, 22:04) однако... Jan 4 2014, 18:15   d7d1cd Спасибо за помощь. Но все таки есть метод, позволя... Jan 5 2014, 11:58    SM Цитата(d7d1cd @ Jan 5 2014, 15:58) Увы, I... Jan 5 2014, 12:12     d7d1cd Цитата(SM @ Jan 5 2014, 16:12) ...особенн... Jan 5 2014, 13:08      SM Цитата(d7d1cd @ Jan 5 2014, 17:08) Бывают... Jan 5 2014, 13:20       vazz Цитата(SM @ Jan 5 2014, 17:20) да-да. там... Jan 5 2014, 13:51        SM Цитата(vazz @ Jan 5 2014, 17:40) Замостил... Jan 5 2014, 13:54         vazz Цитата(SM @ Jan 5 2014, 17:54) И Вы до си... Jan 5 2014, 14:16    vazz Цитата(d7d1cd @ Jan 5 2014, 15:58) Был ту... Jan 5 2014, 13:17 vazz А у меня еще один интересный вопрос: можно ли как-... Jan 4 2014, 18:59 SM А вот это ищите в даташите. В некоторых MSP430 ест... Jan 4 2014, 19:07 d7d1cd Смотрите как я получил ограничение. Я создал шабло... Jan 5 2014, 14:24 SM Это они что-то поднамутили более свежего... Раньше... Jan 5 2014, 14:30 vazz Замостил связкой:
КодJMP $
NOP
Пространст... Jan 5 2014, 14:32 vazz Короче все запускается, оказывается помимо PxSEL н... Jan 6 2014, 08:56 rezident Цитата(vazz @ Jan 6 2014, 13:56) Короче в... Jan 6 2014, 09:16  vazz Цитата(rezident @ Jan 6 2014, 13:16) ... ... Jan 6 2014, 09:28   rezident Цитата(vazz @ Jan 6 2014, 14:28) Поэтому ... Jan 6 2014, 13:04    vazz Цитата(rezident @ Jan 6 2014, 17:04) вы б... Jan 6 2014, 13:36     rezident Цитата(vazz @ Jan 6 2014, 18:26) Уверен, ... Jan 6 2014, 13:43      vazz Честно говоря я уже погрузился в Unified Clock Sys... Jan 6 2014, 14:55 vazz А можно мне совет?
Я что-то зря с этим XT1 походу... Jan 6 2014, 20:47 rezident Ну если вам на потребление начхать и 60мкА DCO vs ... Jan 7 2014, 11:20
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|