Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ MSP430 _ IAR высокоуровневая поддержка периферии

Автор: Make_Pic Jul 21 2018, 04:25

Использую IAR, в ней есть либа driverlib -> но для серии MSP430Fx2xx и конкретно для MSP430F2274 я в этой либе не нашел поддержки. Если еще программируете MSP430, какую библиотеку HAL используете под эту серию? Или только через регистровые дефайны?

Автор: k155la3 Jul 21 2018, 07:57

HAL Ti начали реализовывать, кажется, с F5xxx. Для F2xxx не встречал. Да и его целесообразность "под вопросом" для младших серий, процессор и узлы периферии вполне "обозримы", документация сделана хорошо.
Может есть что-то в Ti Code Composer, но я с ни не работал.

Автор: gosha-z Jul 21 2018, 12:51

Делал проект на FR2033 - делал все через дефайны в CCS. IAR не пользовал. Хотя driverlib для этой линейки есть, Clock Config я их нее пользовал.

Автор: Make_Pic Jul 21 2018, 16:46

Цитата(k155la3 @ Jul 21 2018, 10:57) *
HAL Ti начали реализовывать, кажется, с F5xxx. Для F2xxx не встречал. Да и его целесообразность "под вопросом" для младших серий, процессор и узлы периферии вполне "обозримы", документация сделана хорошо.
Может есть что-то в Ti Code Composer, но я с ни не работал.


Может что то стороннее есть?

Автор: Grigorij Jul 21 2018, 19:37

Поддержу k155la3. Не вижу большого смысла в поиске HAL для такого простого МК. Проще и быстрее напрямую сконфигурировать регистры вручную. Периферии там не так уже и много, да и настраивается она предельно просто (лет 5 назад делали датчик давления на MSP430F2272, вообще никаких проблем с написанием собственного софта не было; все просто и понятно из User Manual). К тому же у TI хорошее описание всех регистров и целый набор примеров для IAR есть.

Автор: k155la3 Jul 22 2018, 08:06

Цитата(Make_Pic @ Jul 21 2018, 19:46) *
Может что то стороннее есть?

Я проводил "исследования" по этой теме когда переходил на F5XX. Ничего к вышесказанному добавить не могу.
Когда начали активно внедрять HAL, серия F2xxx и младшие "уже были", и "как-бы" устарели. Специально делать back-step и писать HAL под "вчерашний" чип
Ti (да и не только Ti) не станут.
Кроме того первые версии MSP430F1xxx, F2xxx, до F4xxxx имеют некоторые "разброд и шатания" касаемо структуры периферии и упр. битов регистров, которые
сложно унифицировать под HAL. Начиная с F5xxx все стало НАМНОГО удобнее (как дело обстоит - с F6xxx и FR не могу сказать).
Мое мнение - не траттье время на поиски готовых HAL и библиотек для MSP430 ниже F5xxx (да и для 5xxx - тоже спорно).
Это целесообразно для ARM - я сейчас "долбусь" с этим, с переменным успехом.
Если Ваше приложение будет сложнее "ногодрыга" - при использовании HAL будут сложности с отладкой - под двум причинам:
- "закрытость" кода HAL, в смысле придется лезть в дебри его кода с массой #ifdef.
- Вы будете хуже знать (или вообще не знать) структуру процессора и настройку его узлов. Как без этого отлаживать софт - сложно представить.
IMHO

ps
Если Вам HAL нужен для переносимости кода (на старший процессор или другую платформу), то это более эффективно делать через свои
функции и #define чем используя "монстроидальный" HAL.

Автор: Make_Pic Jul 28 2018, 04:29

Цитата(k155la3 @ Jul 22 2018, 11:06) *
...
Если Вам HAL нужен для переносимости кода (на старший процессор или другую платформу), то это более эффективно делать через свои
функции и #define чем используя "монстроидальный" HAL.

Спасибо за совет, но хотелось не делать кучу операций через дефайны, сбрасывая и устанав левая конкретные биты, а делать функцией, используя дефайны из io430f2272.h. Так же действия над группой бит.
Возможно ли использование битовых структур? Примеры я не нашел.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)