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

Правильное отделение BSP от кода приложения

50 минут назад, AndyBig сказал:

Вы или не даете себе труда подумать

24 минуты назад, AndyBig сказал:

Вы, приравнивая меня к какому-то Вашему знакомому вредителю и обвиняя в таком же вредительстве

Эх, чето на этом форуме очень уж обидчивый контингент народу, и очень любящий поспорить ради спора, как я погляжу. Я, если че так, я тоже имею право на свое мнение. Почему, черт возьми, я должен оправдываться то? Почему вы думаете, что вы безоговорочно правы, делая просто банально некачественную, сгорающаю от любого чиха технику просто по причине неумения сделать как положено? Я вот не разделяю такой подход. И я не собираюсь оправдываться за это. Потому что меня учили делать так, чтобы не было стыдно за свою работу. И репутация работает на меня, а не против меня. Так то! И хватит уже спорить ради спора. Что тут за народ то такой? Обиды, споры, тыкания. Че за дела то?

Почему нельзя сделать сразу как положено то? Не хватает знаний-умений? Или просто по-уизъмъ? Почему думаете, что правильнее наворотить "запасных выходов" и наворотить программную кашу по переназначению их, чем просто по уму сделать как положено, как делают профессионалы? Тем более, что как показывает практика, запасные тоже сгорают и быстро заканчиваются. Запасных не напасешься, если прибор сделан бестолково и рукожопно. Вот так то.

Изменено пользователем Variant99

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


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

22 minutes ago, Variant99 said:

по причине неумения сделать как положено?

То есть Вы проектируете с надежностью не менее 100% и не допускаете мысли о том, что что-то может выйти из строя. А кто допускает вероятность неисправности - рукожоп. Ну это говорит о Вас еще больше, чем все Ваши попытки судить о том, чего Вы не знаете и оскорбить по выдуманным Вами же причинам 🙂

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


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

Я ж говорю - с дуру можно и МПХ сломать (что такое МПХ, знаете? вот). Но минимизировать вероятность выхода из строя - можно и нужно. Сгорают и Сименсы, и Овены, и нонейм-самоделки. Но зачем же делать так, чтобы они сгорали от каждого чиха? Да, я видел такие поделки, которые работали на волшебном дыму - когда дым выходил, работать переставали. Но профессиональная поделка отличается от рукожопной поделки как раз степенью продуманности и надежности. Сгорает всё, если постараться. Но грамотно спроектированную поделку сжечь сложнее, чем рукожопную. Так же как и Сименс - сжечь можно "грубой силой", а не от случайности. 

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

Изменено пользователем Variant99

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


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

У Вас ЧСВ сползло набок, поправьте 🙂 А мой профессиональный уровень и так повыше Вашего, но кроме того я еще не считаю априори всех остальных придурками, в отличии от Вас 🙂

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


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

Ну конечно, куда уж мне до вашего уровня то 🙂 Я, знаете ли, как минимум, не путаю линейное 380 (400) и фазное 220 (230) 🙂 Ну и в целом конечно же осведомлен об ЭМС и знаю, каково оно бывает то. Ну а уж а от перепутывания проводов выход может сгореть так, что ажно через всю плату пройдет разряд, до обугливания вилки питания 🙂  Про это конечно вы не думали. Подумайте, как поставить запасную вилку питания. И запасную плату.

Удачи вам, самосовершенствования и знаний.

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


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

18 minutes ago, Variant99 said:

Я, знаете ли, как минимум, не путаю линейное 380 (400) и фазное 220 (230) 🙂 Ну и в целом конечно же осведомлен об ЭМС и знаю, каково оно бывает то.

Ну уже хорошо, значит есть надежда, что и дальше сможете развиваться 🙂

20 minutes ago, Variant99 said:

Про это конечно вы не думали. Подумайте, как поставить запасную вилку питания.

Черт, и правда не подумал. Хотя может быть это потому что вилки там в принципе нет 🙂 Надо попросить генерального конструктора добавить куда-нибудь в установку вилку питания чтобы я мог добавить запасную в комплект ЗИП 🙂

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


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

4 часа назад, Solonovatiy сказал:

Это же считай обертка под проект, просто четко проводящая границу между железом, хал если он есть - ниже.

Интересно, а как вы расшифроваете аббревиатуру "HAL"? Потому что весь остальной мир расшифровывает "HAL" как "Hardware abstraction layer", что буквально и означает "обертка, четко проводящая границу между железом и прикладным софтом". Или вы имели ввиду границу между железом и чем-то другим?

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


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

Так вот я и говорил, что HAL и BSP по сути одно и то же. Просто в ST-шной терминологии HAL абстрагирует от регистров и битов, но оставляет режимы работы периферии и привязку к ней, а BSP заведует компонентами, установленными на плате. Вот как видят эту структуру ST-шники:

344590547_2023-01-05004524.thumb.png.845c87bceced259b671be6a58ebe2065.png

Я на второй странице темы показывал вариант реализации. По показанной тут терминологии, класс Light в том примере является HAL-уровнем, а класс TrafficLight - BSP уровнем. Коротко и ясно и без излишнего наворачивания вложенностей. Я просто заменил предлагаемый ST-шниками вариант HAL на свою реализацию "на регистрах". Она дает то же самое, разве что я хорошо владею регистрами, поэтому могу писать напрямую без "прокладок".

Изменено пользователем Variant99

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


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

4 hours ago, Сергей Борщ said:

Интересно, а как вы расшифроваете аббревиатуру "HAL"? Потому что весь остальной мир расшифровывает "HAL" как "Hardware abstraction layer", что буквально и означает "обертка, четко проводящая границу между железом и прикладным софтом". Или вы имели ввиду границу между железом и чем-то другим?

Ой я чет решил сходить по хардкору в гугл. И понял, что правды не завезли. Кто-то говорит как вы, кто то разделяет HAL как содержащий в т.ч. BSP, кто то говорит как я - BSP содержит HAL. Привет OSI-проблемки.

Вот например как эмбеддед раст это дело делят.

Spoiler

image.thumb.png.1b95dc9fa067c2f2a9c838c87f3aa16e.png

Хз предлагаю не сраться за терминологию, привести строчки стандарта с определением сейчас, либо молчать вечно.

3 hours ago, Variant99 said:

По показанной тут терминологии, класс Light в том примере является HAL-уровнем, а класс TrafficLight - BSP уровнем.

А я вот про это кстати не подумал. Посчитал, что TrafficLight у вас в прикладном и в своем примере вынес его туда. Если считать, что TrafficLight сидит в BSP - то да, в том примере все хорошо. Ну просто это тогда ровно тоже самое, что я накостыливаю. 

Изменено пользователем Solonovatiy

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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