The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"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 хватит иных вариантов.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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