реклама на сайте
подробности

 
 
8 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> HAL, сколько можно фиксить ?
картошка
сообщение Apr 8 2016, 15:16
Сообщение #1


Участник
*

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



Очень важная тема думаю.

Давайте будем озвучивать подозрения на некорректную работу HAL, у кого были какие проблемы с периферией при использовании этого "индусского" кода ?
В основном интересует тесты на убой; в частности электро-помехи на UART линии выявили полную неработоспособность реализации HAL. Это не касается "ORE"!
Потому-что валовая мода на HAL, приведет к хаосу качества программного обеспечения. Кто-то останется без работы sad.gif.



- - - Проблемы с UART:
Некорректная обработка прерываний, приводящая к зависанию системы, конкретно: Low Noise и Frame Error . Анализ кода показал, что "писатели" не понимают принципов сброса большинства статусных состояний в регистре состояния SR (до десятка чтений регистра SR). Лишние действия по четности бит.


- - - Система прерываний, вернее вызов специфических обработчиков, затормозили опять до уровня архитектуры 7DTMI, все очень медленно.
Передача указателя и так в известный контекст выполнения. По видимому начало разработки HAL по времени взято с времен архитектуры 7TDMI, где подобные задержки можно было бы понять и простить.


Go to the top of the page
 
+Quote Post
pitt
сообщение Apr 8 2016, 15:39
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 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.
*


А что вы хотите?


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
SSerge
сообщение Apr 8 2016, 16:57
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Да нечего там обсуждать, для реальных проектов этот HAL непригоден.
Настройку системы тактирования для стандартных случаев да настройку GPIO можно оставить, а остальное либо с ошибками (например, таймер), либо просто неправильно реализовано и поэтому использовать его невозможно (UART).


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 8 2016, 17:09
Сообщение #4


Участник
*

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



Цитата(pitt @ Apr 8 2016, 19:39) *
А что вы хотите?


"Некоторые" конторы требования уже вывесили по знанию HAL. И мечты их не затемнишь ничем sm.gif. Завтра, на работу не устроишься. Будешь доказывать "желтым" лбам кто валенок, а кто нет. Причем тенденция набирает обороты.

Цитата(SSerge @ Apr 8 2016, 20:57) *
Да нечего там обсуждать, для реальных проектов этот HAL непригоден.
Настройку системы тактирования для стандартных случаев да настройку GPIO можно оставить, а остальное либо с ошибками (например, таймер), либо просто неправильно реализовано и поэтому использовать его невозможно (UART).


Вот ! Мало кто выкладывает полезную информацию. А что там по таймеру, что-то с прерываниями опять ?!
Go to the top of the page
 
+Quote Post
SSerge
сообщение Apr 8 2016, 17:17
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(картошка @ Apr 9 2016, 00:09) *
"Некоторые" конторы требования уже вывесили по знанию HAL. И мечты их не затемнишь ничем sm.gif. Завтра, на работу не устроишься. Будешь доказывать "желтым" лбам кто валенок, а кто нет. Причем тенденция набирает обороты.

Это их проблемы.
Цитата
Вот ! Мало кто выкладывает полезную информацию. А что там по таймеру, что-то с прерываниями опять ?!

Хуже, они не осилили тему из этого топика:
http://electronix.ru/forum/index.php?showt...p;#entry1326501


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Apr 8 2016, 17:57
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(картошка @ Apr 8 2016, 20:09) *
"Некоторые" конторы требования уже вывесили по знанию HAL. И мечты их не затемнишь ничем sm.gif. Завтра, на работу не устроишься. Будешь доказывать "желтым" лбам кто валенок, а кто нет. Причем тенденция набирает обороты.

Но ведь это же замечательно!
Такие конторы нам нужны!
Благодаря их размножению (но, боюсь, Вы принимаете желаемое за действительное) жить станет лучше. Всем остальным разработчикам, могущим отличить где оно а где не оно.
Go to the top of the page
 
+Quote Post
twix
сообщение Apr 8 2016, 18:08
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 4-11-15
Пользователь №: 89 174



У меня вопрос к знатокам HAL. Он же для любой серии ARM разных производителей по идее разный должен быть.
Ну то есть STM32 один HAL, LPC другой, разные версии ARM там 7й, 9й, 11й, 15й, Cortex, M версия, A версия.
Вы тут о каком HAL ведете речь. Или я чего то не понимаю? Поясните...
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 8 2016, 18:58
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 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. Совсем не понимаю, зачем, но тем не менее...
Вот посмотрел на документацию к этому халу. Там стыдливо ссылаются на основной мануал (прескалеры там всякие, время выборки и прочая, и прочая). И возникает вопрос: раз уж мануал - основной источник, зачем над ним нахлобучивать ещё что-то? Чтобы побольше почитать? Это противоречит заявленной цели "быстрее, дешевле, проще". Или расчёт на то, что мануал читать никто не будет, аки нерадивая школота, и сдерут какой-то пример с тырнетов? Но это подход в лучшем случае троечника, и ничего толковее дешёвой ёлочной гирлянды так не сделаешь, ИМХО. Вот я и недоумеваю...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 8 2016, 20:06
Сообщение #9


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. biggrin.gif

HAL-ы возникли когда производители начали поставлять BSP и PSP к своим чипам, а не отдельные мелкие демо-проектики.
И HAL-ы нужны в первую очередь самим писателям BSP и HAL-ов.

В добавок HAL-ы как абстракция абстрагируются от многих полезных фичей периферии, что тоже в минус.
HAL-ы также мешают портированию BSP на платформы собственной разработки, поскольку их цель скрыть работу с периферией.

Короче, применение разработчиками HAL-ов я бы назвал верхом мазохизма если эти HAL-ы не используются RTOS
Go to the top of the page
 
+Quote Post
pitt
сообщение Apr 8 2016, 20:24
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Использование HAL, в понимании многих - ускорение работы. Отчасти, это так и есть, но ничего задаром не бывает - за скорость приходиться расплачиваться надежностью. Есть опция использования Chibios - он идет со встроенным HAL. Там качество на несколько порядков выше, но, естественно, отстает по времени. Многие пишут свой HAL. Преимущество в том, что используешь чужой код как референс, а разбираешься сам и затачиваешь под себя и свои нужды. Т.е. за счет сокращения об'ема и функциональности нагоняешь по времени. К сожалению, при накоплении проектов приходиться и обновлять и перепроектировать, а железо убегает вперед...

Сообщение отредактировал pitt - Apr 8 2016, 20:26


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 9 2016, 08:22
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 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 (и прочих библиотек) является образцом лаконичности и понятности кода.
А вот самописные драйвера-заплатки для конкретных моделей навигаторов смотреть без слез невозможно.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 9 2016, 09:04
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(AlexandrY @ Apr 8 2016, 23:06) *
Да у всех есть HAL, только называют его где-то по другому.

Имелось в виду, что что "вот сейчас возникнет уровень абстракции, за которым спрячется периферия всех-всех-всех, включая ST, NXP, TI и т.д.". Вот про это я и говорю "не может быть". Потому что такой уровень абстракции даст только "дёрнуть ножкой", "сделать выборку АЦП" и всё. Ничего сложнее там не сделаешь.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 9 2016, 11:27
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Спрятаться то оно может и для всех, только даже из названия (HAL), подразумевается, что это будет для какой-то конкретной программной оболочки.
Пока не будет этой самой оболочки, разговор об уровнях абстракции железа - ни о чем.
Go to the top of the page
 
+Quote Post
romas2010
сообщение Apr 9 2016, 13:45
Сообщение #14


Участник
*

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



Цитата(Alechek @ Apr 9 2016, 14:27) *
Спрятаться то оно может и для всех, только даже из названия (HAL), подразумевается, что это будет для какой-то конкретной программной оболочки.
Пока не будет этой самой оболочки, разговор об уровнях абстракции железа - ни о чем.


для каждого процессора все равно надо делать свой "типа HAL"..универсализировать очень тяжело..Более-менее понятно у ребятишек из chibios,они хотя бы сами и портируют
Go to the top of the page
 
+Quote Post
mantech
сообщение Apr 9 2016, 18:05
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



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


Вот если такое хотели сделать, то в первую очередь нужно стандартизировать API, например, как WIN32 в свое время, все системные вызовы прописать и документировать, например команды работы с портами, инициализация портов, параметры пинов, функции установки\сброса и т.п. Вот тогда это еще можно будет как-то использовать...
Go to the top of the page
 
+Quote Post

8 страниц V   1 2 3 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 04:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016