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

 
 
> 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
 
Start new topic
Ответов
ViKo
сообщение Apr 13 2016, 09:58
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



У меня все биты с комментариями. В комментарии до двоеточия - документированное описание бита (из хидера), после двоеточия - конкретная выбранная функция.
И, вообще, все биты, что есть в устройстве. Ни один не пропущен (кроме битовых полей, из которых использую младший, умножая; конкретную функцию задает-то все поле). И я могу:
1. Легко изменить режим работы, меняя нолики на единички, или одно число на другое.
2. Использовать этот фрагмент, как заготовку, в другом проекте.
Умножаю на столько, сколько описано в руководстве для этого поля. Конкретно, для показанного случая, читаем:
Цитата
Bits 6:4 MMS[2:0]: Master mode selection
These bits allow to select the information to be sent in master mode to slave timers for
synchronization (TRGO). The combination is as follows:
000: Reset - the UG bit from the TIMx_EGR register is used as trigger output (TRGO). If the
reset is generated by the trigger input (slave mode controller configured in reset mode) then
the signal on TRGO is delayed compared to the actual reset.
001: Enable - the Counter enable signal, CNT_EN, is used as trigger output (TRGO). It is
useful to start several timers at the same time or to control a window in which a slave timer is
enabled. The Counter Enable signal is generated by a logic OR between CEN control bit
and the trigger input when configured in gated mode.
When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO,
except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR
register).
010: Update - The update event is selected as trigger output (TRGO). For instance a master
timer can then be used as a prescaler for a slave timer.
011: Compare Pulse - The trigger output send a positive pulse when the CC1IF flag is to be
set (even if it was already high), as soon as a capture or a compare match occurred.
(TRGO)
100: Compare - OC1REF signal is used as trigger output (TRGO)
101: Compare - OC2REF signal is used as trigger output (TRGO)
110: Compare - OC3REF signal is used as trigger output (TRGO)
111: Compare - OC4REF signal is used as trigger output (TRGO)

Защиты от превышения нет. Ну, так, мало ли что кому в голову взбредет. Можно и однобитовую переменную умножить на 999, если мозгов нет.
То, что бит не один, а целое поле, видно по его названию, где в конце всегда стоит _0. Были косяки в хидерах, но они исправляются.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 13 2016, 10:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (ViKo @ Apr 13 2016, 12:58) *
У меня все биты с комментариями.

Вижу. Это и ДОПОЛНИТЕЛЬНО и напрягает.
QUOTE
1. Легко изменить режим работы, меняя нолики на единички, или одно число на другое.

А НЕ изменить при этом комментарий ЕЩЕ проще sad.gif. По этой причине ститя комментирования подобного Вышему категорически избегаю.
QUOTE
Защиты от превышения нет. Ну, так, мало ли что кому в голову взбредет. Можно и однобитовую переменную умножить на 999, если мозгов нет.

А где граница наличия мозгов? Умножение на 3 это есть мозги, или уже нет? sm.gif
QUOTE
То, что бит не один, а целое поле, видно по его названию, где в конце всегда стоит _0.

Это Ваше личное знание. Я первым делом-бы подумал, что это таки значение поля. Наверное мозгов нет ;(


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- картошка   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
- - twix   У меня вопрос к знатокам HAL. Он же для любой сери...   Apr 8 2016, 18:08
|- - scifi   Цитата(twix @ Apr 8 2016, 21:08) У меня в...   Apr 8 2016, 18:58
|- - AlexandrY   Цитата(scifi @ Apr 8 2016, 21:58) Да нет,...   Apr 8 2016, 20:06
|- - Alechek   Цитата(AlexandrY @ Apr 9 2016, 01:06) HAL...   Apr 9 2016, 08:22
|- - scifi   Цитата(AlexandrY @ Apr 8 2016, 23:06) Да ...   Apr 9 2016, 09:04
|- - mantech   Цитата(scifi @ Apr 9 2016, 12:04) Имелось...   Apr 9 2016, 18:05
|- - LightElf   QUOTE (scifi @ Apr 9 2016, 12:04) Имелось...   Apr 11 2016, 15:55
- - 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   Цитата(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 страниц V   1 2 >


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

 


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


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