The OpenNET Project / Index page

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



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

Исходное сообщение
"Обновление Debian 12.5 и 11.9"
Отправлено Аноним, 16-Фев-24 02:52 
> Околотехнический краудфандинг - это не про Россию.

Уже - да. Но мы про ARMv7, это не новая тема. Тогда норм было даже из РФ.

> Для любителя,покупающего в штучных количествах, экономия аж целого бакса

Да мне похрен - я свои проблемы выгодно для себя решаю.

> случаев не критична. Он предпочтет купить более дорогое (тот же AVR),но
> к чему есть много документации(_учебники_,а не только справочники) и удобный софт.

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

> А кто интересно? До малинок ничего _доступного_ небыло,как минимум в РФ. Я пытался.

Девайсы на allwinner как раз в те поры пошли в массы. ARMv7 с самого начала на всех массовых недорогих бордах были IIRC. Броадком прочухал что бойко идет - и тоже захотел. Заодно, вот, слив лежак с легами архитектурой внаглую.

При том это было дохлее вон тех и устаревшая архитекура. Зато made in England. Маркетинг.

>>Опенсорс не повод отказывать себе в хорошем, Linux так может.
> Вот тут с вами согласен. Линукс таки может,в отличие от виндов.

Именно. Винды кроме всего прочего никогда не смогли в то что я хотел на самом деле.

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

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

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

Я предпочитаю ее до некоторой степени понимать, но вообще - для edge case analisys это не обязательно а именно желательно. В процессе, вот, порой интересные плюхи оригинала всплывают.

> пользоваться,но сам написать эффективную реализацию не возьмусь. Также как не все
> хорошие водители умеют чинить свой автомобиль(а не все механики - хорошо ездить!).

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

> Разве тот ариан был на Аде? А не позже внедрили по результатам того самого?

Насколько я помню эти умники там оверрайднули что-то из фич ады - и - вот - самая дорогая ошибка в софте за историю человечества вышла. Прямо на аде. Вселенная умеет стебаться, поэтому я не верю в should never happen и серебряные пули.

> Вы можете отладить конечный автомат,работающий с блоком приемопередатчика i2c
> без заглядывания в симулятор?

Вероятно. Я делал несколько штук которые являли собой FSM по смыслу. Более того при резких непонятках я просто скину все что интересовало "дебажными printf" в сериальный шнурок. При том это может быть в реалистичной железке, с реалистичными заскоками, и если не очень тупить - даже с теми же таймингами что в проде или близко к ним.

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

> Чтобы всё работало как положено на прерываниях,а не холостые
> циклы молотило в ожидании. Я такое осилил прошлой весной.

Я тоже подобные штуки до некоторой степени умею. В STM32 можно более продвинуто прикалываться заряжая DMA сразу на блоки данных. Очень прикольная штука, но уйдя в матрицу можно далеко уйти. Скажем у STM есть гайд как DMA + таймер + GPIO делать "параллельную шину" из GPIO. При том что мастера что слейва. С довольно почтенными тайминагми.

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

Я просто как-то написал свой i2c softmaster по приколу. После этого я знаю i2c как свои пять пальцев.

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

Ну я вот как-то профакался в програмировании DMA - и ловил это аж git bisect'ом :). Идея в том что комиты должны быть мелкие и атомарные, желательно реализуя по мелочи 1 фичу за раз. И вот так я не знал где баг но - умел воспроизводить трабл и bisect в этом случае то что надо.

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

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

А я в фактическом дизайне сразу смотрю что получилось. Так реалистичнее. И скажем вон тот продолб с плясом LSB в ADC от оверклока симуль не покажет. А вот вывод себе статусов фирмвари в отладочный уарт с ключевыми параметрами, прыгающими как белки - вполне.

> чисто программных ошибок обращения к внутренней периферии МК. Условно говоря когда не
> тот бит не в тот регистр записали

Для лично себя я _это_ радикально загасил средствами препроцессора. Биты референсятся по именам, через набор макро. Идея из дров Linux kernel, правда моя реализация иная.

Если бит не задекларен (как имя) компил свалится. Нельзя сослаться на бит, имени которого в регистре нет, тоже валится. Более того, в битовой операции в 32 бит регистре нельзя 35-й бит тронуть. Базовую версию идеи и прочий счет битовах масок и проч можно найти в Linux Kernel.

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

> или прерывание размаскировать забыли

На правах идеи, можно делать (макро) типа CRITICAL_BEGIN так что парный ему CRITICAL_END нельзя забыть: брякнется в компиле. E.g. "do { [...]" в первом и "[...] } while (0)" в втором. Второе отменяет первое, и заканчивает синтаксическую конструкцию. Без парной конструкции скобочки развалятся. Попробуйте забыть теперь.

> или байты не в том порядке прочитали или еще что-то такое,

Поэтому такие вещи я стараюсь оборачивать в макро или функции. Очиннтересный топик кстати если биты в эфир или провод стрелять, там кроме LSB/MSB есть еще lsb/msb на тему того какой бит первым в провод/воздух пойдет. Верхний или нижний.

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

Я себе в ряде фирмварей сделал вывод ключевых рантайм параметров и worstcase в интерактивный сериальный "монитор". Сразу вижу как ADC себя ощущает, end to end, ок ли разводка, фильтрация, времена сэмплирования, трекинг взбрыков на минималочках. Иногда что-то такое может быть тестовым или калибровочным "модулем" отдельно от основной фирмвари. Заодно можно и базовые self tests пропая платы и работы ключевых железок. Спасает от кучи траблов.

> А как увидеть как оно там работает? Конечно, printf помогает,но с ними
> процесс отладки идет намного медленнее чем при наличии визуального отладчика.

Почему? Я как раз там отфильтровываю то что сюжетно важно. Более того - это уже на реальной борде, с реальными сигналами и их свойствами. Скажем я пару раз замечал что не в меру активное сэмплирование просаживает источник сигнала и пересматривал настройки скана ADC.

> пользовались. В микроконтроллере роль отладчика выполняет симулятор потому как иначе внутрь
> МК заглянуть весьма затруднительно (для некоторых можно через jtag

У всех (?) STM32 есть JTAG или SWD. А при самом раннем bring up (да, я бутанул STM32 целиком своим кодом!) я бутлоадером пускал код и писал в RAM значения трекающие прогресс кода, и сливал их бутлоадером же. Так было понятно где застряло. Актуально только в тот короткий отрезок без уарта.

> TurboDebuger еще в DOS. Возможно надо заставлять себя отвыкать от удобств
> - йоги вон именно это и практикуют в реальной жизни.

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

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

У меня в некоторых фирмварях есть динамический реклок и иногда он даже провокабелен командой по уарту. У ввр вообще с динамическим реклоком - не очень. А я проверил даже что мои фирмвары сбой кварца норм обрабаытвают (отдельные приветы авр). Нормальный такой NMI в тыкву.

> асинхронно за счет прерываний (мне нравится писать в таком стиле со времен
> DOS) - подобные эксперименты бывают полезны.

DMA добавляет новый уровень фана. Всегда хотел этому научиться. И научлися!

> Вот в такое я точно без предварительной отладки на симуляторе не полезу.

А я лазию вот, вроде норм. А единственный фэйл по линии DMA был выловлен вообще - вот - bisect'ом :)

> за миганием светодиоды как единственного средства индикации. Удовольствия от процесса
> не получил. А с параллельным DMA даже и наличие отладочного printf не очень-то
> сильно помогать будет.

В принципе будет - и у меня даже есть удобная ключевая точка: функция сетапа трансфера DMA. Я могу в ней напечатать что туда скормили, это полный сетап канала. Но в энном случае bisect оказался - вот - еще быстрее. Сложную проблему можно свести к тривиальной просто зайдя с другого бока. В IT часто задача решаема >1 способом, а порой и бесконечным их числом.

> может быть подскажете - есть ли сейчас способ
> вообще хоть како-то на нем отлаживаться? Или только printf?

Прицепить к нему через OpenOCD по JTAG или SWD дебагер типа GDB например. Бывают даже борды с встроеным, типа бонусного STLink'а на борту (часто это второй STM32 с фирмварью STLink).

Варианты дебагеров разные есть - от FTDI'ек, до STLink'ов. Мне обычно просто не требуется, и занимает несколько пинов полезных портов, но так можно. Если что FTDI более низкоуровневые и позволяют всякие нестандартные фортели которые STLink (получающий с хоста команды что сделать) не сможет. Актуально если интенесно в эксперименты с например чтением защищенных МК и проч как воон те исследователи.

> любительства - трёхвольтовые ноги. Часто нужны конверторы уровней.

У меня фактически нет 5V железок. Одноплатники тоже 3V3 IO как правило. А некоторые и того ниже. Вот что досадно: max=4V, немного не хватает для лития напрямую. Что глуповато, Vcore там реально у F1xx оригинала 1.8 вольта через встроеный LDO.

> нашел. Но вот что знаю всю его периферию как свой дом - я утверждать не стану.

За вообще совсем всю я тоже утверждать не буду. Ее там есть. Скажем CRC - или суперпродвинутые режимы таймеров. Сильная завязка на такие фичи к тому же не позволит если что портировать на что-то иное.

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

Да на самом деле DMA там довольно логичный. Но если уйти в дебри... скажем там есть копирование память-память, оно не тригерится эвентом вызывающим трансфер а идет с максимальной скоростью которую DMA автомат умеет. И вот тут возникает интересный вопрос. Технически источником или назначением может быть и GPIO например. А вот поцикловое поведение этого VS шины и проч становится довольно интересным вопросом. При том полная валидация такого сетапа требует скоростной многоканальный логический анализатор. Не, симулятору я не поверю что он все бриджи, шины и память точно симулит, сорян.

> видеоконтент снимать. Да и далековато это от моих интересов.

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

>>Но ребилд допустим линукскернела - ресурсоемкая штука.
> С этим у меня даже комп с платой от телеприставки Mele A2000G
> справлялся - сам себе ядро собирал.

А таки кросскопил для ядра норм и - шустро! Делается как-то так:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j 16 zImage

Тот arm-linux-gnueabihf кросстулчейн штатно в САБЖЕ есть. Можно и none-eabi; -j по вкусу, как и target, zImage, думаю вы в курсе.

> кандидатской диссертации. То есть никакой "эксплуатации" как таковой вообще не предполагается.

Ну я даже не против - если для ТЕХ целей. Или там _прототипирования_ свойств криптоалго криптографером. Но вот если это потом экслуатировать пытаются всучить... эээ...

> Естественно не надо на таком языке писать что-нибудь mission critical,типа того же
> автопилота для лодки (а это уже на нём написали).

Ну вот да. Питонятина любит валиться в рантайм с стектрейсом при любом отклонении от идеала, а в силу отсутствия типов и логики отступами, там этого - бывает. Я вообще воооон там вебсервс на питонятине случайно уронил, просто тыкнув сие неткатом. Лол!

А, кстати, долбаного модобота я тоже немного потыкал, ибо задолбал. У меня стойкое ощущение что я научился вешать его инстанс с почтенным жором CPU надолго. Интересно, я прав? :)

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

А таки если вы нагамнякаете, и это будет в сети - извините, но...

> Безусловно. Но например роботостроители особо никому не мешают,в отличие от засорителей
> эфира всякой левой болтовнёй(формально это кстати нарушение регламента радиосвязи).

Однако увидеть полезное использование эфира радиолюбителями - особенно РФскими - редкость. А FCC например отменил тесты на морзянку в почти всех категориях. Видимо догадываясь что некромансия должна иметь лимиты.

> И в отличие от средств обеспечения голосовой болтовни в эфире,где уже всё
> исследовано вдоль и поперек,

Это вы не видели как гражданин с вертепа (vrtp.ru) сделал codec2 через лору, на мк... вы точно видели ТАКОЕ? Правда проприетарь вроде. А так забавный ресурс, "все что вы хотели знать о RF но боялись спросить". Майоры тоже его знают, но видимо известное осиное гнездо лучше неизвестного.

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

Ну вот как-то так - и кмк можно было бы найти применения этим бандвизам и получше.

 

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



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

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