|
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, 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 11 2016, 15:55
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (scifi @ Apr 9 2016, 12:04)  Имелось в виду, что что "вот сейчас возникнет уровень абстракции, за которым спрячется периферия всех-всех-всех, включая ST, NXP, TI и т.д.". Вот про это я и говорю "не может быть". Потому что такой уровень абстракции даст только "дёрнуть ножкой", "сделать выборку АЦП" и всё. Ничего сложнее там не сделаешь. Собственно если посмотреть в самые-самые первые версии ARM CMSIS (в районе 1.1), то там и подразумевался единый уровень абстракции для чипов всех производителей. Типа: UART, можно выставить скорость, четность, стоп-биты, отправить-принять байт. Ethernet: можно выставить скорость, дуплекс, принять-отправить пакет. Естественно при этом теряются некоторые специфические фишки, плата за переносимость между производителями. Но производители в восторг не пришли, драйвера писать не стали. А сам ARM поддерживать зоопарк не осилил. И к версии CMSIS 2.0 эту красоту убрали, оставив поддержку только самого ядра.
|
|
|
|
Сообщений в этой теме
картошка HAL Apr 8 2016, 15:16 pitt Цитата* THIS SOFTWARE IS PROVIDED BY THE COPYRIGH... Apr 8 2016, 15:39 картошка Цитата(pitt @ Apr 8 2016, 19:39) А что вы... Apr 8 2016, 17:09  SSerge Цитата(картошка @ Apr 9 2016, 00:09) ... Apr 8 2016, 17:17  Ruslan1 Цитата(картошка @ Apr 8 2016, 20:09) ... Apr 8 2016, 17:57 SSerge Да нечего там обсуждать, для реальных проектов это... Apr 8 2016, 16:57   Alechek Цитата(AlexandrY @ Apr 9 2016, 01:06) HAL... Apr 9 2016, 08:22    mantech Цитата(scifi @ Apr 9 2016, 12:04) Имелось... Apr 9 2016, 18:05 pitt Использование HAL, в понимании многих - ускорение ... Apr 8 2016, 20:24 Alechek Спрятаться то оно может и для всех, только даже из... Apr 9 2016, 11:27 romas2010 Цитата(Alechek @ Apr 9 2016, 14:27) Спрят... Apr 9 2016, 13:45 ViKo Дались вам эти порты. Есть куда более интересные п... Apr 9 2016, 18:49 scifi Цитата(ViKo @ Apr 9 2016, 21:49) Например... Apr 9 2016, 19:42 pitt HAL ничего не убивает. Это просто еще один инструм... Apr 9 2016, 23:04 romas2010 Цитата(pitt @ Apr 10 2016, 02:04) Я полаг... Apr 10 2016, 18:41  scifi Цитата(romas2010 @ Apr 10 2016, 21:41) эт... Apr 10 2016, 20:02   AlexandrY Цитата(scifi @ Apr 10 2016, 23:02) Есть п... Apr 10 2016, 20:44 Огурцов hal - это от слова ад, добро пожаловать
он имел бы... Apr 9 2016, 23:08 pitt Цитата(Огурцов @ Apr 9 2016, 18:08) hal -... Apr 10 2016, 17:07  Огурцов Цитата(pitt @ Apr 10 2016, 18:07) Hell
а ... Apr 10 2016, 17:41   ViKo Цитата(Огурцов @ Apr 10 2016, 20:41) а по... Apr 10 2016, 17:55    Огурцов Цитата(ViKo @ Apr 10 2016, 17:55) Огурцов... Apr 10 2016, 19:39     pitt Цитата(Огурцов @ Apr 10 2016, 14:39) я не... Apr 10 2016, 20:49 AleksBak У микрочипа например - в 100 раз хуже его "HA... Apr 10 2016, 06:49 SSerge Цитата(AleksBak @ Apr 10 2016, 13:49) А т... Apr 10 2016, 17:14 Огурцов но гугель с вами не согласен Apr 10 2016, 21:24 pitt Цитата(Огурцов @ Apr 10 2016, 17:24) но г... Apr 10 2016, 23:31  scifi Цитата(pitt @ Apr 11 2016, 02:31) В англи... Apr 11 2016, 07:14 Tarbal Вот и я поимел опыт с HAL. Начальную установку и к... Apr 10 2016, 23:47 pitt Цитата(Tarbal @ Apr 10 2016, 19:47) Вот и... Apr 11 2016, 00:38  Tarbal Цитата(pitt @ Apr 11 2016, 04:38) Для тог... Apr 11 2016, 11:59 ViKo Если аббревиатуру можно произнести слитно, а не по... Apr 11 2016, 07:27 scifi Цитата(ViKo @ Apr 11 2016, 10:27) Но ... Apr 11 2016, 07:42  ViKo Цитата(scifi @ Apr 11 2016, 10:42) Я вижу... Apr 11 2016, 07:48 EasyToUse Помните, как мы работали раньше? ))) Как конфигури... Apr 11 2016, 07:30 AleksBak Цитата(EasyToUse @ Apr 11 2016, 11:30) ..... Apr 11 2016, 08:05  esaulenka Цитата(AleksBak @ Apr 11 2016, 11:05) У н... Apr 11 2016, 08:52   SasaVitebsk Цитата(esaulenka @ Apr 11 2016, 11:52) Ни... Apr 12 2016, 06:34 EasyToUse ЦитатаУ него механизм этот блокировки объектов реа... Apr 11 2016, 08:22 EasyToUse А если проверку этого флажка делать в критической ... Apr 11 2016, 09:06 AleksBak Цитата(EasyToUse @ Apr 11 2016, 13:06) А ... Apr 11 2016, 09:48 esaulenka Мне кажется, надо только переделать HAL_LockTypeDe... Apr 11 2016, 10:48 EasyToUse А лучше одну и ту же периферию не использовать в р... Apr 11 2016, 10:57 quarz Будь я модератором, убрал бы из темы 3/4 холивара ... Apr 11 2016, 17:06 Сергей Борщ Заинтересовало. Глянул. Свежескачанные кубы для 4x... Apr 12 2016, 06:56 AleksBak Цитата(Сергей Борщ @ Apr 12 2016, 10:56) ... Apr 12 2016, 07:39 SasaVitebsk 2 AleksBak.
Да никто ни на индусов ни на HAL не на... Apr 12 2016, 08:00 AleksBak Цитата(SasaVitebsk @ Apr 12 2016, 12:00) ... Apr 12 2016, 08:40 zltigo QUOTE (SasaVitebsk @ Apr 12 2016, 11:00) ... Apr 12 2016, 09:37  Obam Цитата(zltigo @ Apr 12 2016, 13:37) …И уж... Apr 12 2016, 10:47  Tarbal Цитата(zltigo @ Apr 12 2016, 13:37) Угу, ... Apr 12 2016, 10:52   zltigo QUOTE (Tarbal @ Apr 12 2016, 13:52) Да Бо... Apr 12 2016, 11:29  SasaVitebsk Цитата(zltigo @ Apr 12 2016, 12:37) Угу, ... Apr 12 2016, 11:11   zltigo QUOTE (SasaVitebsk @ Apr 12 2016, 14:11) ... Apr 12 2016, 11:33    SasaVitebsk Цитата(zltigo @ Apr 12 2016, 14:33) Я ино... Apr 13 2016, 06:42     zltigo QUOTE (SasaVitebsk @ Apr 13 2016, 09:42) ... Apr 13 2016, 06:50 x893 У меня такой подход - сначала кубом делается иници... Apr 12 2016, 11:31 zltigo QUOTE (x893 @ Apr 12 2016, 14:31) У меня ... Apr 12 2016, 11:39  Tarbal Цитата(zltigo @ Apr 12 2016, 15:39) Я во ... Apr 12 2016, 13:01   zltigo QUOTE (Tarbal @ Apr 12 2016, 16:01) Но не... Apr 12 2016, 13:26 Сега Цитата(x893 @ Apr 12 2016, 14:31) Из плюс... Apr 12 2016, 11:38 x893 Особо вдаваться не хочется. Да и для разных типов ... Apr 12 2016, 16:33 zltigo QUOTE (x893 @ Apr 12 2016, 19:33) Особо в... Apr 12 2016, 20:53 ViKo Не, одними регистрами не отделаешься. Приходится ч... Apr 13 2016, 06:56 KnightIgor Цитата(ViKo @ Apr 13 2016, 07:56) Не, одн... Apr 13 2016, 07:17  ViKo Цитата(KnightIgor @ Apr 13 2016, 10:17) О... Apr 13 2016, 08:04 zltigo QUOTE (ViKo @ Apr 13 2016, 09:56) Не, одн... Apr 13 2016, 08:46 ViKo У меня все биты с комментариями. В комментарии до ... Apr 13 2016, 09:58 zltigo QUOTE (ViKo @ Apr 13 2016, 12:58) У меня ... Apr 13 2016, 10:20  ViKo Цитата(zltigo @ Apr 13 2016, 13:20) Это В... Apr 13 2016, 10:24   Сергей Борщ QUOTE (ViKo @ Apr 13 2016, 12:24) Вот тог... Apr 13 2016, 11:23    scifi Цитата(Сергей Борщ @ Apr 13 2016, 14:23) ... Apr 13 2016, 11:39    ViKo Цитата(Сергей Борщ @ Apr 13 2016, 14:23) ... Apr 13 2016, 11:46    AHTOXA Цитата(Сергей Борщ @ Apr 13 2016, 16:23) ... Apr 13 2016, 13:28     Сергей Борщ QUOTE (AHTOXA @ Apr 13 2016, 15:28) Ничег... Apr 13 2016, 13:43      AHTOXA Цитата(Сергей Борщ @ Apr 13 2016, 18:43) ... Apr 13 2016, 16:09   zltigo QUOTE (ViKo @ Apr 13 2016, 13:24) Основан... Apr 13 2016, 12:42 pitt de gustibus non est disputandum Apr 13 2016, 13:36 Tanya Вот еще добавлю...
Вдруг после очередного обновлен... Apr 13 2016, 15:41  Ruslan1 Цитата(Tanya @ Apr 13 2016, 18:41) Конечн... Apr 13 2016, 16:11  pitt Цитата(Tanya @ Apr 13 2016, 11:41) Вот ещ... Apr 13 2016, 16:17  Огурцов Цитата(Tanya @ Apr 13 2016, 15:41) Конечн... Apr 13 2016, 18:17 Baser ЦитатаКод2 * (PWR_CR_PLS & -PWR_CR_PLS... Apr 13 2016, 16:22 _Pasha ну не знаю... 0x11001000 * 5 = 0x55005000
это уж... Apr 13 2016, 16:56 AHTOXA Цитата(_Pasha @ Apr 13 2016, 21:56) ну не... Apr 13 2016, 17:28  ViKo Цитата(AHTOXA @ Apr 13 2016, 20:28) Речь ... Apr 13 2016, 20:56   Obam Цитата(ViKo @ Apr 14 2016, 00:56) Ага. Эт... Apr 14 2016, 09:08   Сергей Борщ QUOTE (ViKo @ Apr 13 2016, 22:56) Ага. Эт... Apr 14 2016, 09:27    AHTOXA Цитата(Сергей Борщ @ Apr 14 2016, 14:27) ... Apr 14 2016, 10:45 ViKo Скажите уже, что мой способ - и простой, и красивы... Apr 13 2016, 19:36 Kabdim Я извиняюсь, но почему бы не использовать структур... Apr 14 2016, 12:17 AlexandrY Цитата(Kabdim @ Apr 14 2016, 15:17) Я изв... Apr 14 2016, 12:30 Baser Цитата(Kabdim @ Apr 14 2016, 15:17) Я изв... Apr 14 2016, 12:37 Kabdim Цитата(AlexandrY @ Apr 14 2016, 15:30) По... Apr 14 2016, 12:38 ViKo Потому что у битовых полей их расположение в слове... Apr 14 2016, 12:44
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|