|
|
  |
HAL, сколько можно фиксить ? |
|
|
|
Apr 8 2016, 15:16
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673

|
Очень важная тема думаю. Давайте будем озвучивать подозрения на некорректную работу HAL, у кого были какие проблемы с периферией при использовании этого "индусского" кода ? В основном интересует тесты на убой; в частности электро-помехи на UART линии выявили полную неработоспособность реализации HAL. Это не касается "ORE"! Потому-что валовая мода на HAL, приведет к хаосу качества программного обеспечения. Кто-то останется без работы  . - - - Проблемы с UART: Некорректная обработка прерываний, приводящая к зависанию системы, конкретно: Low Noise и Frame Error . Анализ кода показал, что "писатели" не понимают принципов сброса большинства статусных состояний в регистре состояния SR (до десятка чтений регистра SR). Лишние действия по четности бит. - - - Система прерываний, вернее вызов специфических обработчиков, затормозили опять до уровня архитектуры 7DTMI, все очень медленно. Передача указателя и так в известный контекст выполнения. По видимому начало разработки HAL по времени взято с времен архитектуры 7TDMI, где подобные задержки можно было бы понять и простить.
|
|
|
|
|
Apr 8 2016, 15:39
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * А что вы хотите?
--------------------
|
|
|
|
|
Apr 8 2016, 17:09
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673

|
Цитата(pitt @ Apr 8 2016, 19:39)  А что вы хотите? "Некоторые" конторы требования уже вывесили по знанию HAL. И мечты их не затемнишь ничем  . Завтра, на работу не устроишься. Будешь доказывать "желтым" лбам кто валенок, а кто нет. Причем тенденция набирает обороты. Цитата(SSerge @ Apr 8 2016, 20:57)  Да нечего там обсуждать, для реальных проектов этот HAL непригоден. Настройку системы тактирования для стандартных случаев да настройку GPIO можно оставить, а остальное либо с ошибками (например, таймер), либо просто неправильно реализовано и поэтому использовать его невозможно (UART). Вот ! Мало кто выкладывает полезную информацию. А что там по таймеру, что-то с прерываниями опять ?!
|
|
|
|
|
Apr 8 2016, 17:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(картошка @ Apr 9 2016, 00:09)  "Некоторые" конторы требования уже вывесили по знанию HAL. И мечты их не затемнишь ничем  . Завтра, на работу не устроишься. Будешь доказывать "желтым" лбам кто валенок, а кто нет. Причем тенденция набирает обороты. Это их проблемы. Цитата Вот ! Мало кто выкладывает полезную информацию. А что там по таймеру, что-то с прерываниями опять ?! Хуже, они не осилили тему из этого топика: http://electronix.ru/forum/index.php?showt...p;#entry1326501
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Apr 8 2016, 17:57
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(картошка @ Apr 8 2016, 20:09)  "Некоторые" конторы требования уже вывесили по знанию HAL. И мечты их не затемнишь ничем  . Завтра, на работу не устроишься. Будешь доказывать "желтым" лбам кто валенок, а кто нет. Причем тенденция набирает обороты. Но ведь это же замечательно! Такие конторы нам нужны! Благодаря их размножению (но, боюсь, Вы принимаете желаемое за действительное) жить станет лучше. Всем остальным разработчикам, могущим отличить где оно а где не оно.
|
|
|
|
|
Apr 8 2016, 18:58
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(twix @ Apr 8 2016, 21:08)  У меня вопрос к знатокам HAL. Он же для любой серии ARM разных производителей по идее разный должен быть. Ну то есть STM32 один HAL, LPC другой, разные версии ARM там 7й, 9й, 11й, 15й, Cortex, M версия, A версия. Вы тут о каком HAL ведете речь. Или я чего то не понимаю? Поясните... Да нет, не может такого быть. Это придумка для STM32. Совсем не понимаю, зачем, но тем не менее... Вот посмотрел на документацию к этому халу. Там стыдливо ссылаются на основной мануал (прескалеры там всякие, время выборки и прочая, и прочая). И возникает вопрос: раз уж мануал - основной источник, зачем над ним нахлобучивать ещё что-то? Чтобы побольше почитать? Это противоречит заявленной цели "быстрее, дешевле, проще". Или расчёт на то, что мануал читать никто не будет, аки нерадивая школота, и сдерут какой-то пример с тырнетов? Но это подход в лучшем случае троечника, и ничего толковее дешёвой ёлочной гирлянды так не сделаешь, ИМХО. Вот я и недоумеваю...
|
|
|
|
|
Apr 8 2016, 20:06
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(scifi @ Apr 8 2016, 21:58)  Да нет, не может такого быть. Это придумка для STM32. Да у всех есть HAL, только называют его где-то по другому. Keil например для LPC свой HAL сваял и назвал его RTE. А у Freescale для Kinetis с HAL-ами конкретный беспредел. Там идет один HAL с SDK и назван драйверами. Другой HAL генерится программой автоматического создания проектов ProcessorExpert и называется Logic Layer (LL) И еще один HAL совершенно другой идет с RTOS MQX и называется IO. Плюс они по ходу переводят часть BSP касающегося USB с одного HAL-а на другой. Наверно поэтому мало кто может осилить Kinetis. HAL-ы возникли когда производители начали поставлять BSP и PSP к своим чипам, а не отдельные мелкие демо-проектики. И HAL-ы нужны в первую очередь самим писателям BSP и HAL-ов. В добавок HAL-ы как абстракция абстрагируются от многих полезных фичей периферии, что тоже в минус. HAL-ы также мешают портированию BSP на платформы собственной разработки, поскольку их цель скрыть работу с периферией. Короче, применение разработчиками HAL-ов я бы назвал верхом мазохизма если эти HAL-ы не используются RTOS
|
|
|
|
|
Apr 8 2016, 20:24
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Использование HAL, в понимании многих - ускорение работы. Отчасти, это так и есть, но ничего задаром не бывает - за скорость приходиться расплачиваться надежностью. Есть опция использования Chibios - он идет со встроенным HAL. Там качество на несколько порядков выше, но, естественно, отстает по времени. Многие пишут свой HAL. Преимущество в том, что используешь чужой код как референс, а разбираешься сам и затачиваешь под себя и свои нужды. Т.е. за счет сокращения об'ема и функциональности нагоняешь по времени. К сожалению, при накоплении проектов приходиться и обновлять и перепроектировать, а железо убегает вперед...
Сообщение отредактировал pitt - Apr 8 2016, 20:26
--------------------
|
|
|
|
|
Apr 9 2016, 08:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(AlexandrY @ Apr 9 2016, 01:06)  HAL-ы возникли когда производители начали поставлять BSP и PSP к своим чипам, а не отдельные мелкие демо-проектики. И HAL-ы нужны в первую очередь самим писателям BSP и HAL-ов.
Короче, применение разработчиками HAL-ов я бы назвал верхом мазохизма если эти HAL-ы не используются RTOS Ноги растут из BSP для ОС (не обязательно Real-Time) Кому нужны чипы, если с ними нельзя начать быстро сделать свое? Всякие *WinCE железки-навигаторы *DVD-медиа-проигрыватели. *сотовые телефоны *и т.п. никто не стал бы делать без поддержки производителя чипа РАБОЧИМ примером его использования. -- ЗЫ Для меня образец кода HAL WindowsCE (и прочих библиотек) является образцом лаконичности и понятности кода. А вот самописные драйвера-заплатки для конкретных моделей навигаторов смотреть без слез невозможно.
|
|
|
|
|
Apr 9 2016, 13:45
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 25-11-11
Пользователь №: 68 515

|
Цитата(Alechek @ Apr 9 2016, 14:27)  Спрятаться то оно может и для всех, только даже из названия (HAL), подразумевается, что это будет для какой-то конкретной программной оболочки. Пока не будет этой самой оболочки, разговор об уровнях абстракции железа - ни о чем. для каждого процессора все равно надо делать свой "типа HAL"..универсализировать очень тяжело..Более-менее понятно у ребятишек из chibios,они хотя бы сами и портируют
|
|
|
|
|
Apr 9 2016, 18:05
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(scifi @ Apr 9 2016, 12:04)  Имелось в виду, что что "вот сейчас возникнет уровень абстракции, за которым спрячется периферия всех-всех-всех, включая ST, NXP, TI и т.д.". Вот про это я и говорю "не может быть". Потому что такой уровень абстракции даст только "дёрнуть ножкой", "сделать выборку АЦП" и всё. Ничего сложнее там не сделаешь. Вот если такое хотели сделать, то в первую очередь нужно стандартизировать API, например, как WIN32 в свое время, все системные вызовы прописать и документировать, например команды работы с портами, инициализация портов, параметры пинов, функции установки\сброса и т.п. Вот тогда это еще можно будет как-то использовать...
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|