Перейти к содержанию
    

но гугель с вами не согласен

Спросите у Google как произносится CAN(Controller Area Network), но не модальный глалол "can".

В английском есть понятие акроним и по правилам CAN должен произноситься как СиЭйЭн, но мои коллеги американцы произносят КАН, ну и я, соответственно, чтобы меня понимали...Кстати, модальный глалол "can" действительно произностится "кэн". :bb-offtopic: Сорри фор оф топик, кэн вы клоуз ит нау?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот и я поимел опыт с HAL. Начальную установку и конфигурацию сделал на кубе. За 4 месяца сделал два близких устройства на STM32F429 и драйверы к ним на Линуксе. Подсоединение устройства с STM32F429 к компьютеру по USB. На компьютере бежит Астериск.

Одно устройство 16 телефонных розеток для подключения телефонов, а второе 16 телефонных линий для подключения к каждому одной телефонной линии от АТС.

Ни в коде куба ни в коде HAL править ничего не понадобилось, хотя сделал бы это не долго раздумывая. Писать свою конфигурацию заняло бы больше времени. Так что в целом HAL и кубом удовлетворен.

 

Проектом занимался в свободное от основной работы время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот и я поимел опыт с HAL. Начальную установку и конфигурацию сделал на кубе. За 4 месяца сделал два близких устройства на STM32F429...

Ни в коде куба ни в коде HAL править ничего не понадобилось, хотя сделал бы это не долго раздумывая. Писать свою конфигурацию заняло бы больше времени. Так что в целом HAL и кубом удовлетворен.

Для того и HAL и CUBE задумывались. Никто не сказал, что там ничего не работает. Там всегда что-то или не работает или работает не так... Вопрос, на самом деле, не сколько времени ушло на проекты, а насколько разработчик понимает что и как внутри работает, сколько времени уйдет, когда что-нибудь вылетит и надо будет понять, найти и исправить...Так что я не вижу тут никаких противоречий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В английском есть понятие акроним и по правилам CAN должен произноситься как СиЭйЭн, но мои коллеги американцы произносят КАН, ну и я, соответственно, чтобы меня понимали...

Вы можете придумывать какие угодно правила, или даже ссылаться на какие-то книжки, но если этим правилам никто не следует, то их как бы и нет вовсе. Причём англоязычные товарищи гораздо либеральнее наших относятся к таким фривольностям. Во всяком случае, ни разу не слышал от них занудств по таким поводам. Понятно, о чём идёт речь, - и слава богу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если аббревиатуру можно произнести слитно, а не по буквам, то почему бы и нет? Например, P-CAD.

Но "хэл" на HAL никто не скажет.

upd. скажет "хал", ближе к этому... русскими буквами не передать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помните, как мы работали раньше? ))) Как конфигурировали порты и флеш, настраивали тактирование? Как энтузиасты писали макросы для настройки и ПО высокого уровня для того же? И вы скажете HAL это плохо? HAL это великолепно! ))) Идея витала в воздухе. И ее неплохо реализовали. Концепция HAL с ее реентерабельностью функций и механизмом блокировки объектов отлично подходит, когда используешь RTOS. Есть некоторые шероховатости, но это детские болезни и они пройдут! Нашел баг - напиши в ST!

P.S. И индусы молодцы! Они, вообще, ребята умные - шахматы придумали )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но "хэл" на HAL никто не скажет.

Я вижу, все уже забыли про "Космическую одиссею". Ознакомьтесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вижу, все уже забыли про "Космическую одиссею". Ознакомьтесь.

Наверное, вы не так поняли мою мысль. Я поправил, для ясности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Концепция HAL с ее реентерабельностью функций и механизмом блокировки объектов отлично подходит, когда используешь RTOS...

У него механизм этот блокировки объектов реально хороший что ли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У него механизм этот блокировки объектов реально хороший что ли?

На укладку парашюта еще никто не жаловался... Реентерабельные функции можно вызывать из разных задач, а используя HALовский LOCK для устройств периферии не нужны мьютексы RTOS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У него механизм этот блокировки объектов реально хороший что ли?

Нириально хороший.

 

Просто флажок "периферия занята". Поддержки RTOS (типа "семафор"), как и банальных критических секций, там нет.

Т.е. наблюдаем типичную хорошо спрятанную граблю - неатомарная операция "проверил - поменял - записал" выполняется, теоретически, в нескольких потоках.

 

Дальше только вопрос времени, когда это добро "выстрелит"...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если проверку этого флажка делать в критической секции?

Все можно. Но только в ихней обертке cmsis_os.h нету таких вещей/обертки. :laughing: А еще можно просто добавить мьютекс. Но тогда получается в обоих случаях этот HAL править нужно. А эту cmsis_os.h сам ARM первый выдвинул - так получается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, надо только переделать HAL_LockTypeDef на мьютекс.

И дефайны __HAL_LOCK() / __HAL_UNLOCK() переопределить.

 

Ну или вручную, критическая секция в __HAL_LOCK()

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А лучше одну и ту же периферию не использовать в разных задачах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...