The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..., opennews (??), 27-Май-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


16. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +4 +/
Сообщение от Аноним (16), 27-Май-20, 12:13 
Не удивлён. Встречаются те, которые пишут просто int вместо uint8, uint32 в коде для микроконтроллеров с 32 кб флеша и 4 кб ОЗУ.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

34. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +1 +/
Сообщение от Аноним (-), 27-Май-20, 14:12 
В случае 32-битных микроконтроллеров - у него один фиг регистры 32 бита и от уменьшения uinit код может и не улучшиться. А иногда и ухучшается. Относительно int тот же uint32_t явно конкретнее указывает пожелания, int на разных железках может быть разным и это так себе.

А так там бутлоадер приведен офигеть просто. В мк с 32 кил кода он вообще влезет, интересно? Там алгоритмов напихано побольше чем в GRUB, пожалуй :)

Ответить | Правка | Наверх | Cообщить модератору

47. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +1 +/
Сообщение от Аноним (47), 27-Май-20, 15:05 
>4 кб ОЗУ.
>32-битных микроконтроллер

именно столько озу у 32битных микроконтроллеров и бывает. не больше не меньше

Ответить | Правка | Наверх | Cообщить модератору

65. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +1 +/
Сообщение от Аноним (64), 27-Май-20, 17:20 
> именно столько озу у 32битных микроконтроллеров и бывает. не больше не меньше

Я не понял 1 момент:
- Это вы поумничать решили, будучи не в теме?
- Или вы решили покапитанить?

Я прямо 50/50. Ну так, глядя на вон тот STM32F с 16 кил флеша и 4 кило рамы. И да, он 32-битный при этом, а что? :)


Ответить | Правка | Наверх | Cообщить модератору

105. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от с (?), 28-Май-20, 03:10 
> STM32F

это что?
ты сам то в теме?

stm32f1* и stm32f4* это арм разных поколений, м3 и м4, уж обьем озу там есть из чего выбрать, у голубой таблетки за 50р 20кб. А 4кб при 32битах это экстим какойто.

Ответить | Правка | Наверх | Cообщить модератору

114. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +1 +/
Сообщение от Аноним (-), 28-Май-20, 16:50 
> это что?

Это семейство процов STM32F.

> ты сам то в теме?

(посматривая на свежезапаяный STM32): STM'ы навороченные, орать что он на 100% в теме может только полнейший дилетант. Там даже в F1xx железки такие что

> stm32f1* и stm32f4* это арм разных поколений, м3 и м4,

Они не "разных поколений" а скорее "разного масштаба". Эти линейки живут параллельно и не являются заменой друг друга.

F1 это относительно мелкие, простые - и дешевые штуки. С достаточно нафиченой однако ж периферией, чем и интересен. А конкретно F103 стал "золотым стандартом" отрасли: его растащили на цитаты и его клоны и перепевки выпускает наверное с полдюжины фирм.

А F4 - большие навороченные камни "выше среднего", с совсем другим потреблением, сложностью системы и прочим. Они могут больше - но и сложнее.

> уж обьем озу там есть из чего выбрать, у голубой таблетки за 50р 20кб.

Так выбирайте, кто ж против? Однако чем больше флеша и рамы тем дороже чип. А пойнт F1xx - например, по сравнению с AVR (arduino, etc) он и дешевле и фичастее в разы.

> А 4кб при 32битах это экстим какойто.

Это всего лишь младшие представители семейств. Для многих микроконтроллерных задач 4K более чем достаточно. А чем больше флеха и оператива, тем больше кристалл и дороже и прожорливее чип.

Вообще, в случае МК счастье не в гигазах оперативы, не в гигагерцах тактовой, а в том что все это относительно простое, предсказуемое, можно сунуться в жесткий реалтайм, отмеряя времена реакции в микро-, если не наносекундах. Можно сунуть это как last line of defence, отработающий защиту когда все вокруг подвело.

Например, есть automotive исполнение этого добра. То-есть это можно ставить в критичные подсистемы автомобиля - и производитель утверждает что если вы все делаете как они пишут, их чип не убьет юзера о фонарный столб. А вы засунете этот ваш blue pill в такое применение? И в случае если юзера вдруг размажет - ответите в суде?

Ответить | Правка | Наверх | Cообщить модератору

147. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от с (?), 30-Май-20, 06:13 
> орать что он на 100% в

Я не утвержрал

есть и stm8f это другое семейство? ну очевидно, впрочем нет, литера f всего лишь тэг о чем-то там говорящий, так же как и l о низком потреблении, а вот циферка после уже характеристика проца по объему фич и герцам, поэтому библиотеки зовутся stm32f1xx.h

>> stm32f1* и stm32f4* это арм разных поколений, м3 и м4,
> Они не "разных поколений" а скорее "разного масштаба". Эти линейки живут параллельно
> и не являются заменой друг друга.

Ну ок, "поколений" не то слово, но скажем атом и i5, но извините, атом это старая порезанная модель той же линейки что и коре2дуо из которой все вылупилось, не силен в номенклатуре арм, и не уверен что корректно ее перекладывать на интел.

и мое удивление вызывает имеено факт зачеса f1 и f4 в одну гребенку, а там же и f7..

> Так выбирайте, кто ж против? Однако чем больше флеша и рамы тем
> дороже чип.

Это что ж такое надо делать чтобы 50р было дорого.

> в случае если юзера вдруг размажет - ответите в суде?

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


> (посматривая на свежезапаяный STM32):

Какбы я любитель, я очень много времени убил на hse, который то работает, то не работает, на разных платах с разными компонентами, по итогу плюнул и перешел на hsi.

Ответить | Правка | Наверх | Cообщить модератору

148. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (148), 30-Май-20, 11:34 
>  есть и stm8f это другое семейство?

Абсолютно. Это некое собственное 8-битное ядро STMicro вместо ARM. Единственное что их хоть как-то роднит - периферия местами вроде бы похожа, так что с них по задумке ST можно смигрировать на STM32 относительно малой кровью. Но я знаком с этим семейством только краем глаза и никогда его не програмил.

У китайцев есть и более интересные артефакты. Например нечто с периферией которая клон F103, но процессорным ядром RISCV. В этом месте мы начинаем немного понимать чипмейкерские концепции "core", "uncore", "HW IP, version X" и как все это компонуется.

> ну очевидно, впрочем нет, литера f всего лишь тэг о чем-то там говорящий, так же как
> и l о низком потреблении, а вот циферка после уже характеристика
> проца по объему фич и герцам, поэтому библиотеки зовутся stm32f1xx.h

У STM довольно сложная система обозначений. STM32F отсылает на все семейство, довольно разнообразное, но имеющее что-то общее в виде потуг обеспечить хотя-бы частичную обратную совместимость между выводками. Работает до известного предела, но если например F103 не хватило, можно найти более крутой чип с [почти] тем же пинаутом, которому не сильно переделывать софт и относительно малой кровью уйти на него, так что радикально переделывать проект все же не придется.

На самом деле 32L тоже "частично совместимы" с F. У low power есть свои особенности и много, так что о 100% совместимости речь не идет, но превращение ежа в ужа с практической точки зрения описывается относительно компактным Migration Guide рассказывающим на что обратить внимание. И если ему следовать то это ... все же проще чем зафигачить совсем новый проект на совсем новом железе.

Собственно вот это вот портфолио чипов - и есть главный козырь STMicro, имхо. Если освоил технологию но вот надо бы немного отманеврировать в ту или иную сторону, толи кушая поменьше, толи считая побыстрее, у них это можно. Как некий постепенный апгрейд, вместо того чтобы одним махом обана, переделывай, дескать с ноля. На этом факте пристроилось несколько умников склонировавших интерфейсы периферии F103 и вывесивших нечто совместимое. Так что если STMicro залупится, для F1xx есть куча фирм готовых подхватить знамя, если его вдруг отдать решат :)

> Ну ок, "поколений" не то слово, но скажем атом и i5, но извините, атом это старая
> порезанная модель той же линейки что и коре2дуо из которой все вылупилось,
> не силен в номенклатуре арм, и не уверен что корректно ее перекладывать на интел.

Это не совсем корректное сравнение. В том плане что F1xx вообще никто не резал, это была первая успешная линейка Cortex-M. А то что потом на ее основе сделали другие flavours, попутно местами улучшив "HW IP" в "uncore" по итогам - да, и что? В embedded другие парадигмы. Там даже сцаный pic16 до сих пор в ходу. Хоть он и крап.

> и мое удивление вызывает имеено факт зачеса f1 и f4 в одну гребенку, а там же и f7..

Это придумал сам STMicro, на той почве что оно частично совместимо и изначально растет из одного семейства технологий.

> Это что ж такое надо делать чтобы 50р было дорого.

1) Где купить именно оригинальный F4, за именно 50 рублей - лично я не знаю. А сыкотный китайский полунедоклон от мутного поставщика - уже не то.
2) Кроме этого, F4 тупо сложнее. Если цель прилететь из точки A в точку B, одномоторная Cessna значительно проще чем Boeing 767. И если цель доставить 200 пассажиров вместе с собой не стояла, зачем бодаться с изучением в разы более сложной штуки?
3) Есть еще mass production. И там народ давится за каждую копейку.

И даже если я не целюсь в mass production - я таки в целом следую их инженерным паттернам. Считая что во первых это имеет свой пойнт, а во вторых - кто знает, никогда не знаешь что взбредет в бошку хомячкам. И возможность растиражировать свое решение - это то что и отличает инженеров и наколенщиков с ардуиной.

> Глупый вопрос, - это чистая арифметика,

Ну во первых управляющие задачи не только арифметика. Во вторых чем больше софта и железа, тем больше всего может сбойнуть и тем труднее удерживать происходящее под надежным контролем. Тойота узнала эту нехитрую истину сложным способом, подпортив репутацию. Ибо когда вы отпускаете педаль газа, но машина уходит в разгон вы имеете очень валидные причины обделать водительское сидение :)

> какой % сбоит, если не большой, то можно и компесации платить, и это все просчитывается
> и залепленность грязью фотодатчика в том числе.

У тойоты как я понял трабл на самом деле был не в датчиках, а в том что они наворотили фирмваре - и поплатились за это.

>> (посматривая на свежезапаяный STM32):
> Какбы я любитель, я очень много времени убил на hse, который то работает, то не работает,
> на разных платах с разными компонентами, по итогу плюнул и перешел на hsi.

Как бы у STMicro есть весьма подробный гайд про осцилляторы и их DOS и DONTS. Это слаботочная высокочастотная цепь, требующая к себе определенного внимания и некоего понимания физики процессов. И вот это тоже отличает нормального инженера от ардуиншика. Первый может повторить на бис, используя научный подход. Второй... ему или везет, или он не понимает что вообще за нафиг.

Если оно надо - могу найти номер доки. Кварцы сами по себе не такая простая штука как кажутся. И конкретно у STM32 есть прикольный CSS (clock security system), при том опять же потому что это _деликатная_ цепь. И если она откажет в run time - нехило бы иметь какой-то план на этот случай отличный от полностью повисшего чипа. И когда монитор сам перекидывает это на HSI и генерит NMI - ну, мы по крайней мере знаем что это все же не уровень ардуины а кое-что покруче.

Ответить | Правка | Наверх | Cообщить модератору

149. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от с (?), 31-Май-20, 14:34 
> У китайцев есть и более интересные артефакты

Спасибо, но уже рано (поглядывая на десяток тестовых платы на какомто клоне, который даже в режим записи прошивки по джамперу не переходит)) ).

> У STM довольно сложная система обозначений.

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

> Собственно вот это вот портфолио чипов - и есть главный козырь STMicro,
> имхо. Если освоил технологию

Технологию чего?

> Это придумал сам STMicro

Понятно, лично для себя я определил это как больше маркетинговый параметр, мешать кучу из m3 и m4 ядер арм в одну линейку такое себе

> 1) Где купить именно оригинальный F4, за именно 50 рублей - лично
> я не знаю. А сыкотный китайский полунедоклон от мутного поставщика -
> уже не то.

Я про f103 вообщето, хотя и их теперь действительно ссыкотно брать, уже обжогся

> 2) Кроме этого, F4 тупо сложнее

На ф4 даже не смотрю, не вижу смысла, на орбиту мне ничего запускать не надо, а отдать по хттп в аварийной ситуации когда все порушилось простенькую страничку с примитивной формой изменения состояния пина или частоты pwm справится и 103.

> И даже если я не целюсь в mass production - я таки
> в целом следую их инженерным паттернам.

Нууу кстате, это очень интересная тема, лично я уже пару лет просматривая всякие диайвайные (прости господи) каналы на ютубе из супер популярных девайсов с мк назову 2 - это паяльник и осциллограф, оба примерно за 3к рублей и оба на 103, что как мне кажется дикий оверпрайс, впрочем, пытясь заниматься вопросом в рамках работы, точнее это вообще не мой профиль, но так уж вышло, что правой пяткой я оказался близко, так вот

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

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

> Тойота узнала эту нехитрую истину сложным
> способом, подпортив репутацию.

это пионеры, никто не заставляет их ошибки повторять, да и все эти ньюансы описанны сто раз во всякой фантаскической литературе 70 летней давности, никто не мешает рядом с мозгом разместить второй, который будет контролировать вменяемость первого.

> Как бы у STMicro есть весьма подробный гайд про осцилляторы и их
> DOS и DONTS. Это слаботочная высокочастотная цепь, требующая к себе определенного
> внимания и некоего понимания физики процессов. И вот это тоже отличает
> нормального инженера от ардуиншика. Первый может повторить на бис, используя научный
> подход. Второй... ему или везет, или он не понимает что вообще
> за нафиг.

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

> Если оно надо - могу найти номер доки. Кварцы сами по себе
> не такая простая штука как кажутся. И конкретно у STM32 есть
> прикольный CSS (clock security system), при том опять же потому что
> это _деликатная_ цепь. И если она откажет в run time -
> нехило бы иметь какой-то план на этот случай отличный от полностью
> повисшего чипа. И когда монитор сам перекидывает это на HSI и
> генерит NMI - ну, мы по крайней мере знаем что это
> все же не уровень ардуины а кое-что покруче.

Пытался я по докам стм завести dac ничерта не вышло, там готовый код по сути, но не вышло, да и не очень-то хотелось, так из любопытсва.

В общем-то, я бы описал свой "интерес" как потыкать палкой, хорошей такой палкой, основательно потыкать, но сильно углубляться в нарушения референсной схемотехники и всякие патазитные емкости этим вызванные я не хочу, давно уже забыл про тоэ и переходные процессы и большого желания вспоминать нет, мне вполне комфортно в рамках ит, даже программирование вод винду бесит отсутствием вменяемой документации и непреодалимыми подводными камнями в которые упарывался в рамках попыток, но программирования и нет в должностой инструкции, так что все нормально))

> Если оно надо - могу найти номер доки

Есть гораздо более высокоуровневые вопросы, которые в рамках ардуинского доминирования, которое сводится к непарься-возьми-готовое-вот-ссыка, мне так и не удалось разрешить, глупо было бы, наверное, их задавать здесь, поскольку, по-хорошему, вменяемым ответом должен быть обзор-или-статья, не знаю, в общем объемная работа. Но в целом я бы пообщался с носителем..

Ответить | Правка | Наверх | Cообщить модератору

150. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (-), 01-Июн-20, 02:28 
> который даже в режим записи прошивки по джамперу не переходит)) ).

Если это про F1xx то там 2 сигнала, boot0 и boot1, это 2 джампера. Неверный уровень на boot1 приведет к boot from RAM. Но узкоглазые могут и корпус без кремния продать.

> а еще что у них корявые доки,

Не согласен. Я по ним научился инициализировать чип и работать с железками "с ноля". Без чужих либ и непонятной магии. Даже не знаю как еще лучше проверить качество док. Единственное что оно в нескольких разных доках распихано. У атмел авр проще, но они намного примитивнее.

> и вообще если сравнивать с программирование модуля ядра линукса, скажем, это земля и
> небо, st очень убогонько ведет сопроводиловку.

Не соглашусь. А, мелкий чит: если хочется понять как по минимум врубается, у DiHALT статейка "что надо чтобы мигнуть светодиодом на STM32". Для проприетарного компилера, но идея понятна. Туда же и диаграммы clock tree чипа.

> Технологию чего?

Как ST делает чипы, как формируют семейства, как они работают, какие особенности у железок. И как все это стыковать между собой. А когда общий вид понятен, остальное будет неким diff'ом, заметно меньше чем полное знание. Если изучать каждый такой чип с ноля, довольно быстро захочется застрелиться, имхо.

> Понятно, лично для себя я определил это как больше маркетинговый параметр, мешать
> кучу из m3 и m4 ядер арм в одну линейку такое себе

Это навороченное портфолио более-менее родственных чипов на разные задачи. Так что умеючи работать с кем-то из них можно попытаться и на соседей перелезт, железо знакомое будет. МК ценен периферийными железками, откуда такая копипаста блоков.

> Я про f103 вообщето, хотя и их теперь действительно ссыкотно брать, уже обжогся

Я их беру у поставщиков которым реально влупить претензии и они имеют соглашения о дистрибуции, есть определенная репутация. Даже чипидип продает те как STM32, именно STMicro, а вон те GD32 - Gigadevice. Клон, но явно маркирован (и вдвое дешевле). На самом деле ща ЧиД, терра, платан и т.п. - интерфейс к группе складов с которых индустриалы кормятся. Аналогично про farnell/mouser/.. если не в РФ. Да, иногда это ведет к странноватым условиям поставки.

> все порушилось простенькую страничку с примитивной формой изменения состояния пина или
> частоты pwm справится и 103.

Если не ошибаюсь, у выводка F1xx Ethernet только у F107. Куда F103 ее девать будет? Меня сие не парит особо по причине дружбы с одноплатниками на пингвине. Эти если надо хоть торенты нальют.

> всякие диайвайные (прости господи) каналы на ютубе из супер популярных девайсов
> с мк назову 2 - это паяльник и осциллограф, оба примерно за 3к рублей и оба на 103,

Я 103 видел в робопылесосе и чем-то бытовом, 32L - в мыше. STMicro был одной из первых фирм прочухавших что cortex M штука годная, так что они попадаются. И имеют плюс в виде бутлоадера, так что шьются любым 3V сериальным шнурком.

> что как мне кажется дикий оверпрайс,

Вопрос в конечном итоге в том слабо ли сделать дешевле и/или лучше :P. Иногда народ доходит до отчаяния - и вон на радиокоте некто сделал аж VNA. Видимо посмотрев на цены.

> одним блогером, но нету объемов которые бы дали съэкономить, в переспективе
> да, но в нашей стране строить столь далекие планы не принято.

В РФ вообще заниматься именно масспродакшном ... затея сильно на любителя.

> это пионеры, никто не заставляет их ошибки повторять,

Фундаментальная проблема проста и озвучена DJB: чем сложнее система, тем больше багов. И если оно делает что-то важное, баги последнее что там нужно.

> никто не мешает рядом с мозгом разместить второй, который будет контролировать
> вменяемость первого.

Мистер Ш любит спрашивать кто будет проверять проверяющего. В принципе я придумал ответ "пусть проверяют друг друга". Но это достаточно сложный путь. Если почитать firmware safety guide все того же STMicro можно и без этого получить пару дюжин дельных идей.

> кто-то напинал поставщика плат за нарушение техпроцесса производства, неотмытый флюс и
> все решилось, ктото сам промывал, ктото чтото напаивал дополнительно

1) В доке описывающей особенности применения STM с кварцами подробно рассказано что напаивается, почему, какие грабли, как понять WTF.
2) Кварцы стоит брать известного поставщика, с даташитом.
3) Там важна разводка. Максимально близко к чипу, симметрично, правильно огорожено землей. У STM есть примеры + разбор чужих ошибок.  
4) И естественно никакого флюса, особенно если он не безотмывочный.

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

> Пытался я по докам стм завести dac ничерта не вышло, там готовый
> код по сути, но не вышло, да и не очень-то хотелось, так из любопытсва.

Хм... скоро попробую DAC как раз. На вид вроде вполне понятная железка. Только он довольно слаботочный, это надо понимать.

> и всякие патазитные емкости этим вызванные я не хочу, давно уже
> забыл про тоэ и переходные процессы и большого желания вспоминать нет,

С железом совсем без этого все же трудно. Физика такая штука что хрен обманешь - и если это не вышло, лягается и временами довольно странно. А тут еще софт и железо - и тупняк в одном легко отольется в другом. Иногда даже матерые волки наступают на очень странные грабли. У DiHalt есть рассказ как он клавиатуру сканировал. Само по себе это просто как тапок, перебирай сигналы да смотри что прочлось, понятно что нажато. Но он это необдуманно фигачил на максимальной скорости. И в итоге ... все это стало излучать на частоте под мегагерц. И "завоняло" само себя своим же излучением :). И да, такое можно вкостылить программно.

> отсутствием вменяемой документации и непреодалимыми подводными камнями в которые упарывался
> в рамках попыток, но программирования и нет в должностой инструкции, так
> что все нормально))

Увы, не любят програмеры документацию писать. Что хуже ее в конторах пишут техписы которые не програмеры. Поэтому иногда там случаются баги и несоответствия. ST в этом хорош неким избытком инфо - кроссчек описания выявляет несоответствия.

> должен быть обзор-или-статья, не знаю, в общем объемная работа. Но в
> целом я бы пообщался с носителем..

Там в нормальном виде наверное скорее на книжку потянет. Для себя я вижу пойнт МК в взаимодействии с внешним миром. И при этом совсем уйти от физики все же не получится - при полном игноре оно подкинет немало забавных сюрпризов. Мир работает по этим правилам. А купить готовое - да, но это не дает понимания тех правил. И при попытке "всего то протянуть пару проводов" странная фигня запросто повторится. Как вариант, компании иногда разделяют это на "железячника" и "програмера", 2 разных людей, но когда оно программно-аппаратная штука, это тоже гарантирует немало интересных моментов.

Ответить | Правка | Наверх | Cообщить модератору

151. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от с (?), 01-Июн-20, 18:05 
> 2 джампера. Неверный уровень на boot1 приведет к boot from RAM.
> Но узкоглазые могут и корпус без кремния продать.

Там gd, пробовал все комбинации, мигает светодиодиком тестовым и все, прозванивал мультиком цепи этих джамперов - все ровно так как на оригинальных.

>> а еще что у них корявые доки,
> Не согласен. Я по ним научился инициализировать чип и работать с железками

CMSIS ?, Мб. Мне так глубоко не надо, я остановился на SPL.

Вероятно это очень глупо, но ничего другого я не нашел, а spl документирован довольно так себе, я только пару недель назад нашел вменяемый обзор всего этого добра, ну и он не утешителен, какбы гуи мне нафиг не упало, git'а мне достаточно, а очередной блокнотик в топ-ку, подбор правильных параметров компилятора отдельная песня.

По сути за 10 месяцев с монента появления первого образца проект нарисовался, на git, cmake и gcc-eabi под чистым линуксом.

хотя попытка прикрутить переферию на i2c была провальной, если через

while(xx & FLAG);

делать, работает, а если через прерывания, то виснит, точнее там какието не совсем прерывания, и по итогу флаг не возвращается в 0, а приобретает значение которое не описанно в либе с ним и перезапускает обработчик события и сбросы не помогают. И в документации ничего релевантного не нашел.

> Не соглашусь. А, мелкий чит: если хочется понять как по минимум врубается,
> у DiHALT статейка "что надо чтобы мигнуть светодиодом на STM32". Для
> проприетарного компилера, но идея понятна. Туда же и диаграммы clock tree
> чипа.

"проприетарного компилера" это который gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux с сайта developer.arm.com

>> Технологию чего?
> Как ST делает чипы, как формируют семейства, как они работают, какие особенности
> у железок.

Ну это такое, 100р примлемая цена, чтобы запихать в каждый "выключатель", f4 уже избыточен, а потом связываем с x86, родной и хорошо знакомой. таков мой кейс.

>> Я про f103 вообщето, хотя и их теперь действительно ссыкотно брать, уже обжогся
> Я их беру у поставщиков которым реально влупить претензии и они имеют

А я на алике )))

> Если не ошибаюсь, у выводка F1xx Ethernet только у F107. Куда F103
> ее девать будет?

В W5500, вот их много встречал, точнее w5100 встечал, а пользуюсь W5500, так себе работает, из фаерфокса на ноуте идеально, а с негоже с телефона, чаще глючит.

> Меня сие не парит особо по причине дружбы
> с одноплатниками на пингвине. Эти если надо хоть торенты нальют.

Ну да, я поэтому и остановился на почти самом примитивном чипе, на самом примитивном из 32 бит, зачем колхозить чтото сложное, когда можно завернуть на дешевый линукс, интел както анонсировал квакр кажись, там x86 в размере монетки, не знаю как оно пошло, но одноплатник покупать я так и не решился, зачем он мне, у меня 5 шт девайсов на i7 в моем единоличном пользовании, из них 3 ноута, а пользуюсь 2мя устройствами, остальные, хз продать/подарить/на запчасти оставить.

> так что шьются любым 3V сериальным шнурком.

Это был критерий выбора.

>> что как мне кажется дикий оверпрайс,
> Вопрос в конечном итоге в том слабо ли сделать дешевле и/или лучше

Вопрос хороший, - не слабо, конечно персонально для меня это не будет что-то на мк, скорее софт, но в целом делают же, медленно и както колхозно, но делают, тот же осциллограф, за 7-15-50 зачем он мне, за 3 то дорого, там компонентов рублей на 500, экран еще рублей 200-300. Но возвращаясь, в массовое производство запускать, хрен угадаешь как пойдет, я на эти грабли наступал, конечно не запуская чтото там свое, но классная бесплатная фича, друзья/сокурсники не оценили, а через сколькото лет выходит тоже самое только частично платное, и с кучей ограничений и теперь в каждом чайнике, да офигеть.

> В РФ вообще заниматься именно масспродакшном ... затея сильно на любителя.

В РФ вообще сильно на любителя
Так правильнее ИМХО ))

> чем сложнее система, тем больше багов.

Да поэтому юниксвей наше все, поэтому я и решил не тратить 1500р на умный выключатель, работающий через китайские сервера, а собрать его самостоятельно, за 300р и кучу убитого времени, а бонусом пойдет понимание че-как, и я его собрал, и сейчас обдумываю стоит ли оно все того.

> Мистер Ш любит спрашивать кто будет проверять проверяющего

Это Шигорин? ))

Вообще я думаю 20/80, тоесть условно 20% это критичные функции их и надо проверять, а условная 3я ступень проверяет 20% второй, получаем некую функцию стремящуюся к нулю, ну а дальше арифметика расскажет, где надо остановиться чтобы не уйти в минус.

> 1) В доке описывающей особенности применения STM с кварцами подробно рассказано что
> напаивается, почему, какие грабли, как понять WTF.
> 2) Кварцы стоит брать известного поставщика, с даташитом.
> 3) Там важна разводка. Максимально близко к чипу, симметрично, правильно огорожено землей.
> У STM есть примеры + разбор чужих ошибок.
> 4) И естественно никакого флюса, особенно если он не безотмывочный.

Не это не то, 2 разных платки от разных продаванов с чуть разными компонентами, работали с hse нормально относительно, иногда глючило, но когда я начал имеено на 2х проверять, одна работает другая нет, на 3ей контрольной работает, помыл ту что глючила, вроде норм стало, но потом опять начало, ваще rtc не трогал, чтото там в районе http менял, а оно не инициализируется, сижу туплю, а оно хренак и заработало, 94 секунды инициализации rtc, да офигеть, еще чтото поменял 180 стало. но до того работало же, 1-2 секунды подтупливало, но не больше, менялась только прошивка, может компилятор лишка оптимизировал, да вроде все отрубленно, очень странная история.

> Увы, не любят програмеры документацию писать

делал не так давно к api dns хостинга обвязку, а то старая на html завязанная сломалась после обновления сайта, два дня убил, эти обезьянки как-то сделали, что когда в xml меняешь теги одного уровня местами оно не работает, пришлось делать чтобы буква в бутву, пробел в пробел, а там дока в пдф кривая и перекошенная с корявыми шрифтами, уф, как будто в бочку с го-ом нырнул, пара месяцев прошла 100% срабатывание.

> Там в нормальном виде наверное скорее на книжку потянет

Да есть такие видеоуроки, пол ютуба, как раз запустите-тыкнете-кнопочку-эту-ту-подвяжите-либу-и-вот-готово.

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

Я бы поробовал RTOS, но даже начинать боюсь.

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


Ответить | Правка | Наверх | Cообщить модератору

152. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (-), 04-Июн-20, 04:03 
> Там gd,

GD32F? Какой именно? Я посматривал на них, но купить пока не сподвигся, увы.

> пробовал все комбинации, мигает светодиодиком тестовым и все, прозванивал мультиком
> цепи этих джамперов - все ровно так как на оригинальных.

Значит в boot не попадает. Для бута обычно boot0=1, boot1=0, но лучше по даташиту уточнить.

>> Не согласен. Я по ним научился инициализировать чип и работать с железками
> CMSIS ?

И даже bare metal (==только мой код). Если я смог с ноля проинитить и поработать с железками по формальному описанию, наверное оно ОК. Да, объемистое.

> Мб. Мне так глубоко не надо, я остановился на SPL.

А я так по жизни хочу сунуться в некоторые странные места между железом и софтом, попробовав там странные вещи. Для некоторых из этих приключений я предпочту быть с чипом "на ты" и хорошо понимать что и почему он делает. А еще мне любопытно, насколько я готов доверить свою тушку своему коду.

> Вероятно это очень глупо, но ничего другого я не нашел, а spl
> документирован довольно так себе,

Вот собственно этим мне такие штуки и не нравятся. Возможно я олдскульный, или типа того, но мне было интересно можно ли их прогать на манер штук типа AVR (не путать с ардуино) когда мы просто идем и просто делаем что хотели, по описанию железок. Без кучи чьих-то там либ делающих хрен бы его знает что.

> По сути за 10 месяцев с монента появления первого образца проект нарисовался,
> на git, cmake и gcc-eabi под чистым линуксом.

Я тоже все под линухом делаю. И некий самопал для себя юзает make и baremetal. Конечно без gcc и гита не обошлось.

> "проприетарного компилера" это который gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux

DiHalt в основном маздаец и это было для какого-то виндового проприетарного компилера. На предмет того как чип вообще на самом деле работает и чего надо сделать (минимаьлно - включить клок GPIO порта и ставить/сбрасывать биты его BSRx/BSRRx). Но идея понятна и я когда-то для начала повторил с GCC, а потом и еще навернул.

> Ну это такое, 100р примлемая цена, чтобы запихать в каждый "выключатель", f4
> уже избыточен, а потом связываем с x86, родной и хорошо знакомой. таков мой кейс.

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

> А я на алике )))

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

> В W5500, вот их много встречал,

А, в этих. Вариант наверное, не имел с ними дел особо.

> Ну да, я поэтому и остановился на почти самом примитивном чипе, на
> самом примитивном из 32 бит,

Лично мне они нужны как интерфейс к физическому миру и жесткий реалтайм. Это не обязательно подразумевает тонны сложной математики или чего там еще. Покрутить вон тот шаговик - это о формировании времянок. А зачем там куча RAM и флеша?

> Это был критерий выбора.

Ну я нахожу его удобным - у меня есть куча этого добра. Тем более что потом туда можно прицепиться терминалкой и ругаться отладочными сообщениями. Можно трекать flow фирмвары не очень мешая ей работать в реальном времени.

> он мне, за 3 то дорого, там компонентов рублей на 500, экран еще рублей 200-300.

Есть кстати несколько самодельных осцилов, см на радиокоте допустим. Вот туда кстати более жирное типа F3/F4 уже имеет некий смысл.

Для "медленных" сигналов катит даже звуковуха (с небольшим довеском). И для чисто цифровых вещех осцил не настолько уж и сильно нужен во многих случаях. Тем более что безбашенно им ткнуться абы куда, например в кварц опять же не выйдет (это как раз и сорвет генерацию).

> через сколькото лет выходит тоже самое только частично платное, и с
> кучей ограничений и теперь в каждом чайнике, да офигеть.

Ну просто иногда так бывает что народу заходит какая-то странная и кривая фигня, о чем изначально никогда бы не подумал.

> Так правильнее ИМХО ))

Пожалуй.

> за 300р и кучу убитого времени, а бонусом пойдет понимание че-как,
> и я его собрал, и сейчас обдумываю стоит ли оно все того.

Экспериенс вполне может стоить того. А возможность делать себе (и не только) кастомные железки по-моему все же прикольно. Хоть и далеко не самое простое начинание.

> Вообще я думаю 20/80,

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

Но это ближе к полетам в космос и прочим откровенно опасным применениям, когда сбой приводит к крупным проблемам. У того же ST есть гайды как улучшить надежность фирмвари в дурацких ситуациях в пределах 1 чипа.

> функцию стремящуюся к нулю, ну а дальше арифметика расскажет, где надо
> остановиться чтобы не уйти в минус.

В очень критичных системах делают 3 одинаковых и выбор 2 из 3. А закольцевать проверку на себя - это моя идея. Люблю неожиданные решения для "нерешаемых" проблем.

> Не это не то, 2 разных платки от разных продаванов с чуть
> разными компонентами, работали с hse нормально относительно, иногда глючило,

Там много всего может быть не так. Может быть клон STM кривой, может быть разводка платы неудачная (китайцы великие копапастеры а не великие разработчики), может кварцы хреновые.

Грубо говоря у вас стартовый рецепт содержит ряд неопределенностей, их довольно много и это делает понимание проблемы не совсем простой. Собственно это может быть аргументом за покупку девборда с оригинальным чипом, от кого-то из фирм известных разработками плат, которые откровенный фуфел не гонят. А кот когда есть уверенность что код работает ОК, можно сделать плату самому или поюзать что-то более подозрительное. Тогда станет понятнее где косяк. В общем проблемы намного удобнее заруливать по 1. А не когда сразу клубок из дюжины возможных причин.

> и заработало, 94 секунды инициализации rtc, да офигеть, еще чтото поменял
> 180 стало. но до того работало же, 1-2 секунды подтупливало, но
> не больше, менялась только прошивка, может компилятор лишка оптимизировал, да вроде
> все отрубленно, очень странная история.

RTC как таковой имеет право медленно стартовать, но при комнатной температуре это обычно "несколько секунд". При минусах даже у STMicro с тем кварцем что у них они замеряли время старта 120 секунд.

В кварцевых генераторах колебания нарастают медленно. В эн мегагерц - несколько миллисекунд (по меркам микроконтроллеров это заметно). А 32768 типично секунды. Его обычно запускают 1 раз при powerup системы - а при reset'ах он продолжает тикать и хранить время, в чем и есть половина смысла. У части чипов даже есть отдельный Vbat для батарейки питающей RTC когда остальной чип выключен, чтобы время не слетало и тикало.

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

Да, и собственно поэтому я однажды и сделал себе нечто странное, просто makefiles и baremetal без всяких либ. С минимумом допущений и требований. С cmsis так тоже можно собирать, самому по себе gcc не так уж интересно что за код.

И таки я стал с GCC на ты. Вплоть до понимания как скомпоновать конкретный формат бинарника и объяснить линкеру свои пожелания. Фирмвара - бинарь в нестандартном формате. Поэтому без гламурных гуев потребуется познакомиться с линкерскриптом, объясняющим компилеру где какая память и как это размещать в секциях. Но там ничего ужасного. И есть ряд готовых примеров, собственно. А так - ну вот я никакие мега IDE и не использую. Geany вообще к микроконтроллерам не относится, что не мешает ему редактировать файлы и пинать make.

> Скажем копмиляция ядра линукса, конфетка, хочешь гуи, хочешь тоже самое в консоле,

Да, их система конфигурации мне нравится. Хотя опять же когда заходит именно вопрос о сборке, там не все так просто. Процесс линковки ядра нифига не простой (т.к. нестандартная структура бинаря), сменить флаги компилеру в произвольном виде тоже не совсем удобно. При том у ядра даже сложнее чем фирмваре, из-за формирования на ходу бинарных "шапок" типа PE-файла, претендующего что это "EFI Stub", декомпрессора "до ядра" и проч.

Я так сбилдовал хренову кучу кернелов, включая кросскомпил для одноплатников, не говоря о десктопных.

> хочешь в тексте, поиск адекватный, найти модуль посмотреть зависимости включить, у
> бизибокса примерно тоже. А у rtosa это все гуятина заполняет по
> каким-то неявным критериям, и вытыкивать их у меня нет желания, покрайней
> мере так я понял из обзора.

Я в ртосы предпочел не лазить, мне от МК столько не надо. Да, я при этом упускаю некое направление - но мне IMHO хватит иных вариантов.

Ответить | Правка | Наверх | Cообщить модератору

153. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от с (?), 04-Июн-20, 10:09 
> GD32F? Какой именно?

https://ibb.co/B2SqR6c

это не gd, я видимо хотел купить, но решил не заморачиваться и не распаляться.

https://ibb.co/2ZWfvD8

а это весь парк, почти, справа не оригиналы, фото одного выше, а второй не смог нормально сфотать, там еле видно.

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

да, я сдуру купил у продована 10 шт, а они оказались теми самыми кривыми репликами, поэтому потом по 2 брал много у кого, 3 раза были косяки, но предьявить нечего, на странице 100 раз написанно stm, а на 101 что реплика, и все привет, но в целом не пробема, у нормальных магазинов есть и то и то, оригиналы чуть дороже.

на черном текстолите не видел клонов, и пайка лучше, на синем бывало кнопочка отваливалась по дороге и кондеры некоторые очень криво напаяны.

> Значит в boot не попадает.

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

> И даже bare metal

я так понял что это и есть cmsis BSRRx, это оттуда.

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

> А я так по жизни хочу сунуться в некоторые странные места

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

думаю со временем сделают, чтото что будет дешево и без заморочек особых, так что большого смысла нет, но уровень диванного аналитика, погрешность пляс минус 50 процентов.

> Без кучи чьих-то там либ делающих хрен бы его знает что.

а спл тем и хорош, его очень просто выпилить, и остаться на голых регистрах.

>> По сути за 10 месяцев с монента появления первого образца проект нарисовался,
>> на git, cmake и gcc-eabi под чистым линуксом.
> Я тоже все под линухом делаю. И некий самопал для себя юзает
> make и baremetal. Конечно без gcc и гита не обошлось.
> DiHalt в основном маздаец

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


> примерно два уровня, МК на нижнем уровне и одноплатники с линем на верхнем.

Ну да на линукс чистый завернуть с 386 я не точно выразился

>> А я на алике )))
> Ну вот это напрасно - там никогда не знаешь что подсунут.

нормально там все, главное у явных леваков не брать, а так как на любов базаре.


>> В W5500, вот их много встречал,
> А, в этих. Вариант наверное, не имел с ними дел особо.

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

> Лично мне они нужны как интерфейс к физическому миру

вот оно и есть, я еще с ком портом пытался играться, но там печально все в начале 00, а тут работу поменял и время позволяет и по работе надо, точнее было бы не плохо, так то никто не требует. решил вот позамиматься.

> Есть кстати несколько самодельных осцилов,

я самый примитивный и взял, pwm нормально смотреть, а профессиональные, которые spi сниффирятмогу конечно, но смысла не вижу, я не собираюсь профессионально этим заниматься.

> Если что-то такое интересно, стоит почитать про подходы повышения надежности управляющих

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

> Вон в новости про тройное резервирование.

ну это сомнительно, если честно, все равно есть точка отказа, коммутатор, или тот мк.

> В очень критичных системах делают 3 одинаковых и выбор 2 из 3.

это cepf, первая ассоциация, хорошая штука.


> Там много всего может быть не так. Может быть клон STM кривой,

ну опять же, код rtc не меняется, меняется сильно потом, уже в главном цикле, а то работает, то нет, не думаю что аппаратное, если вме выпилить то чисто rtc работает нормально.

> RTC как таковой имеет право медленно стартовать

да и с ресета нормально пашет, и иногда помогало пальцем на кварц прикоснуться, не на землю, а именно пальцем, я потом еще везде пытался пощамыкать, но только с пальца заводилось))

> У части чипов даже есть отдельный Vbat для батарейки питающей RTC

это знаю, я ноги изучил и даташит прочел по диагонали.

> И таки я стал с GCC на ты.

а я давно перестал, щас тыкался много нового появилось.

> Да, их система конфигурации мне нравится. Хотя опять же когда заходит именно
> вопрос о сборке, там не все так просто. Процесс линковки ядра
> Я в ртосы предпочел не лазить, мне от МК столько не надо.

да, если бы гарантировали уровень ядра линукса то было бы огонь, а так, тонко надо переписывать самому, и смысла нет

Ответить | Правка | К родителю #152 | Наверх | Cообщить модератору

154. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (-), 07-Июн-20, 17:58 
> https://ibb.co/B2SqR6c

Это не GD. Какой-то "CS". У клонов _бывают_ отличия, надо смотреть даташиты.

> это не gd, я видимо хотел купить, но решил не заморачиваться и не распаляться.

Да. GD были первыми кто это придумал, подошли к сдиранию качественно и вот у них AFAIK совместимость довольно приличная. А у остальных варьируется. Финальное слово за даташитом.

> https://ibb.co/2ZWfvD8

Маркировку не видно...

> не делать, они работают идентично, хотя есть особенности, но после организации земли не заметно.

И да, кварцы там китайцы раскидали абы как, первое что им в бошку пришло. Гайд от STMicro они не читали, кой-как нарисовали и скорее на алиэкспресс продавать. Это так по китайски...

> в целом не пробема, у нормальных магазинов есть и то и то, оригиналы чуть дороже.

Просто я не в курсе всех клонов и понятия не имею насколько они отличаются. То что китайса мамой клянеся что клона касяственая - ничего не значит, кроме желания продать.

> не попадает, но ноги я звонил, все ровно, резистор на 10к в
> порядке, конечно мультик у меня не для смд, но блин, на оригиналах все точно так же.

Тогда возможно клон в этом отличается или у него вообще не прошит бут, мало ли. У STMicro его шьют в отдельный регион (System Memory), рядом с option bytes и инфо о чипе, а чего делают китайцы - зависит от. GD вроде достаточно точно клонировал особенности, но я даже его палочкой пока не тыкал.

Если вы видали Linux kernel и их дрова, и встречали историю про FTDI проучившую клоны под виндой своим драйвером то сможете понять юмор с одним первоапрельским патчем, заимплементившим для линя саботаж FTDI клонов так же как виндовый. Конечно его не комитили, это прогеры прикололись, линуху то пофиг и он и с клонами работает, а вот в винде с некоего момента эмбедеры выкусили горя, узнав что в их кабеле был клон.

>> И даже bare metal
> я так понял что это и есть cmsis BSRRx, это оттуда.

Один из регистров GPIO порта, выставляет или сбрасывает биты порта. Сам по себе - "адрес в памяти". Помигать светодиодом это он. CMSIS - определяет регистры и т.п.. Я просто для себя сделал с ноля определения, макросы и функции - идея чем-то похожа, но реализация 100% моя, с ноля. Вплоть до стартапа. Адреса регистров из даташита, конечно. И да, это канительно и было больше для экспериментов и понимания. Впрочем, не помешало допинать до нескольких реально примененных фирмварин.

> ну собственно этот цмсис это самый нижний уровень, там вся тарабарщена задефайнена,

А мне как-то стало интересно - могу ли я что-то подобной отгрохать сам =). Заодно познакомился с компилером и чипом "на ты".

> удачная, потому что с документацией у стм вышел фейл, потом был хал, тоже не особо,

На мое мнение у STM
1) Хорошее железо и доки на него.
2) CMSIS 50/50.
3) Всякие кубы и проч наводят на меня ужас =)

> блокнотиками связываться.

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

> но и не скажу что зря.

Я думаю что мне пригодится. Уже периодически пригождается, впрочем самые интересные и сложные штуки еще впереди.

> а спл тем и хорош, его очень просто выпилить, и остаться на голых регистрах.

Может быть. Просто для того что я на самом деле хочу, один черт надо хорошее понимание чипа, т.к. некоторые будут весьма плотным программно-аппаратным взаимодействием, при том без права на ошибку.

> дефолтный гцц от арм, вместо гцц хреначим скрипты которые логирую параметры
> запуска, и выясняем что запускается и как, но не заморочно это.

Можно найти линкерскрипты и т.п. + некоторое инфо в гугле. Так что на практике работает, я себе линкерскрипт и командлайны скроил. Постепенно сделав довольно продвинутые вещи типа LTO+GC sections, так небось половина и не умеет, а процентов 20-30 кода "испаряется" без каких либо потерь.

> Ну да на линукс чистый завернуть с 386 я не точно выразился

Я умею в одноплатники на ARM, запиливая под это небольшие и аккуратные дебианы, оптимизнутые под задачу.

> нормально там все, главное у явных леваков не брать, а так как на любов базаре.

Вот поэтому я и предпочитаю брать STшки у нормальных поставщиков. Чесать репу мои это глюки или непонятного клона все же не хочется.

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

Ну с ними я не работал. Я скорее приделаю STM'а на UART/SPI/I2C одноплатника и из тамошнего линя с ним побеседую. Ну да, придется какую-то прогу - "гейт" на одноплатнике развесить.

> я самый примитивный и взял, pwm нормально смотреть, а профессиональные, которые spi
> сниффирятмогу конечно, но смысла не вижу, я не собираюсь профессионально этим заниматься.

Если мне spi приспичит снифать, я туда имхо МК с простой фирмварью отправлю, который мне выбросит что наснифал в понимаемом мной под линем формате :)

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

У stmicro отдельный апнот есть на тему. И тут вопрос в том надо ли оно? Если да - ну, прочитаете апнот. А не надо - так и болт с ним. Не все в космос летят или рулят чем-то опасным и вопрос в том насколько плох взглюк железки.

> ну это сомнительно, если честно, все равно есть точка отказа, коммутатор, или тот мк.

И тем не менее, самые сложные и наиболее сбоящие компоненты - проверяются. И даже с арбитрами до некоторой степени решаемо.

> ну опять же, код rtc не меняется, меняется сильно потом, уже в
> главном цикле, а то работает, то нет, не думаю что аппаратное,
> если вме выпилить то чисто rtc работает нормально.

RTC оперирует токами единицы микроампер. Поэтому любые утечки типа китайского флюса могут вызвать проблемы. По тем же причинам нарастание колебаний нифига не моментальное. А наводки с соседних дорожек или дурно сделаной земли весьма фатальны. У ST опять же есть мануалы на тему рекомендуемых кварцев и проч, но что китайцы их читали - не похоже. Иначе они не стали бы 32768 так далеко от проца ставить.

> да и с ресета нормально пашет, и иногда помогало пальцем на кварц
> прикоснуться, не на землю, а именно пальцем, я потом еще везде
> пытался пощамыкать, но только с пальца заводилось))

Колебания не нарастают или очень медленно нарастают походу. И да, осциллом такое мониторить малореально: щуп имеет свойство убивать колебания наповал. Ну вот деликатная штука эти цепи RTC, потому что задуманы работать от мелкой батареечки годами - используют минимум энергии.

> это знаю, я ноги изучил и даташит прочел по диагонали.

Ну вот он для этого - можно все вырубить а RTC останется и будет какие-то микроамперы кушать, так что какого-нибудь CR2032 ему хватит на дофига лет.

> а я давно перестал, щас тыкался много нового появилось.

Основы все остались прежними. А новое - ну да, местами есть, но ничего эдакого вроде.

> да, если бы гарантировали уровень ядра линукса то было бы огонь,

Вообще на старших H7 даже портанули линух. Но смысл в таком комбо ... понятен тому кто его портировал :)

Ответить | Правка | К родителю #153 | Наверх | Cообщить модератору

52. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Lex (??), 27-Май-20, 15:48 
В теории, знаковые и беззнаковые должны были всем упростить жизнь и сделать её лучше.. по крайней мере, так казалось на заре подобного типизированного подхода...

А теперь - воистину какой-то дурацкий цирк и дырявая абстракция со всеми этими интами-юинтами-8-16-32-64-итп

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

62. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (61), 27-Май-20, 16:52 
Всему виной дебильные правила неявного приведения.
При том что typecast в uin32_t можно сделать и на void* по недосмотру(попутав переменные), во весело потом.
Ответить | Правка | Наверх | Cообщить модератору

95. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (95), 27-Май-20, 21:55 
> typecast в uin32_t можно сделать и на void* по недосмотру

Давно уже такое не позволяется ни гнутыми сями ни шлангом. Нужен промежуточный каст в (u)intptr_t

Ответить | Правка | Наверх | Cообщить модератору

100. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +1 +/
Сообщение от Forth (ok), 28-Май-20, 00:42 
Может я что не так понимаю?
Ну ладно, вот такое сделаем в одну сторону и в другую:
                                                                                                                                                                                                                                    
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

int main(void) {
  uint64_t i = 1;

  void *p;

  p = (void*) i;

  printf("%s", (char*) p);

  i = (uint64_t) p;

  printf("%ld", i);

  return 0;
}

gcc -g -Wall -Wextra -Wpedantic -O3 -std=c99 test.c

./a.out
Segmentation fault (core dumped)

P.S.
gcc version 9.3.0
Дефолтные флаги (gcc test.c) конечно тоже молчит как партизан. uint64_t ессно потому, что процессор 64 битный.

Ответить | Правка | Наверх | Cообщить модератору

103. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (95), 28-Май-20, 02:13 
> Ну ладно, вот такое сделаем в одну сторону и в другую:

Это потому что у тебя размер int-а увеличен по сравнению с условием (uint32_t). Последний в void * на 64-битной машине не скастится.

Ответить | Правка | Наверх | Cообщить модератору

106. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Forth (ok), 28-Май-20, 08:35 
Это у меня под рукой не было компилятора для 32 битной системы. Я-то думал это и так очевидно и можно на примере uin64_t показать. Но это же opennet, тут надо разжевывать.
Ладно, вот 32 бита:
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

int main(void) {
  uint32_t i = 1;

  void *p;

  p = (void*) i;

  printf("%s", (char*) p);

  i = (uint32_t) p;

  printf("%d", i);

  return 0;
}

Выдачи от gcc ожидаемо нет:
$CC -g -Wall -Wextra -Wpedantic -O3 -std=c99 test.c
Здесь $CC это:
arm-phytec-linux-gnueabi-gcc (GCC) 7.3.0

Ответить | Правка | Наверх | Cообщить модератору

110. "25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые че..."  +/
Сообщение от Аноним (95), 28-Май-20, 14:52 
> Это у меня под рукой не было компилятора для 32 битной системы.

Use -m32, Luke

> Но это же opennet, тут надо разжевывать.

Но это же opennet, тут не принято дочитывать то, на что отвечаешь. Это про:

>> Последний в void * на 64-битной машине не скастится.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру