- Подскажите как "красиво" загружать и хранить в памяти в
микроконтроллера различные конфигурации (константы, значения
переменных, условий переходов и т.д.)? Желательно с примерами кода. - Make_Pic(27.03.2024 09:13, MCU, полностью)
- Ихмо первый вопрос: Что за микроконтроллер? Мне всегда было
интересно: почему из этой самой необходимой информации всегда
делается великая тайна? Второй вопрос - ответственность устройства,
что будет если настройки будут утеряны. Третий вопрос. Это серийное
устройство? Какова будет статистика, каков объем серии? Четвертый
вопрос - условия работы устройства. Пятый вопрос - это
само-сохранение у девайса или к параметрам есть внешний доступ?
Шестой вопрос - количество RxTx(44 знак., 27.03.2024 15:48)
- Мне эта тема очень близка, я как раз перерабатываю БД настроек.
"Красиво" понятие очень неопределенное. Можно долго с гармошкой
вприсядку рассказывать о красоте и ни о чем... Что означает
"красиво"? RxTx(51 знак., 27.03.2024 15:43)
- Решение очень сильно зависит от структуры данных. Если это единый
массив, который будет записываться только целиком, это одно
решение. Если это 100500 отдельных параметров, каждый из которых
может меняться отдельно, будет другое решение. Если комбинация, то
третье решение. Еще решение зависит от готовности к потере данных,
т.е. допустимо ли потерять настройки (выключение питания при
перезаписи и т.п. сбои), или такое не допустимо. - AlexBi(27.03.2024 10:22)
- Красота в глазах смотрящего. Так-то можно сказать, что "красиво" -
это как в настоящих компьютерах, то есть файловая система. - SciFi(27.03.2024 09:26)
- А в чем: EEPROM или Flash? Eddy_Em(808 знак., 27.03.2024 09:18, ссылка)
- У вашего метода есть особенность, если вдруг при стирании
произойдет какой-то сбой/сброс, все данные будут утеряны, т.к. нет
второго блока во флеше, который бы хранил данные в таком случае.
Надо быть готовым к такому повороту. - AlexBi(27.03.2024 12:31)
- Во flash - Make_Pic(27.03.2024 09:25)
- У меня знакомый, в достаточной мере живёт тем, что обновляет
прошивки телевизорам, когда те записывают настройки "громкость" или
"каналь" во флэшь и "происходит чота страшное". Ему приносят кирпич
и деньги. Получают телек. Что за промблемма поставиь внешнюю
ЕЕПРОМ? Они щас копейки. - mse homjak(27.03.2024 12:42)
- Если кривые ручки запороли флешу, они и с еепромой справятся. - SciFi(27.03.2024 12:44)
- Да, но с ЕЕПРОМ не получится кирпича из поделия. - mse homjak(27.03.2024 12:46)
- Запросто. Звукашки Vibra16 ISA PnP и сетевушки Realtek PCI сразу
вспоминаются. Первые при слете ставили раком комп, вторые меняли
Vendor/DeviceID и теряли драйвера. Да и мониторов было несколько
семейств (не помню уже кто, ViewSonic вроде). - LightElf(27.03.2024 15:04)
- Не, я не против. Можно написать хуйню любой степени лютости,
которая поставит раком всё, до чего дотянеца и безо всякой ЕЕПРОМ.
Просто, если у нас есть код записи во флэшь, он, чисто
теоретически, можэт выполниться нештатно: не в то время и/или не в
то место. А если нет, то нет. Данные в ЕЕПРОМ, можно, хотя-бы,
выставить по умолчанию, если чексумм не сошолся или ещо чего. Когда
затёрт сегмент флэши, ловить нечего. - mse homjak(27.03.2024 17:59)
- Вы недооцениваете потенциал кривых ручек :-) - SciFi(27.03.2024 12:51)
- Тогда мой код подойдет. Еще надо в ld-скрипте пометить первую же
свободную секцию с выравниванием на размер блока - чтобы всю
свободную флеш-память можно было под хранилище организовать. Eddy_Em(389 знак., 27.03.2024 09:56)
- эмулятор EEPROM abivan(1 знак., 27.03.2024 09:33, картинка)
- [РЕШЕНО]stm32 ШИМ для полного моста на таймерах tim1/tim8 как? Что
бы шимить нужно третье состояние когда два нижних или верхних
одновременно открыты. Все фирменные доки в таком случае про HRTIM.. klen(10921 знак., 08.02.2024 13:44 - 25.02.2024 23:17, MCU, youtube, картинка, полностью)
- Уря! Получилось на этой теме сделать макетик преобразователя вход
12....24 в ~250в 200 ватт, или плюс задник ~500/500/1кВ 50ватт.
Оценочно кпд 86..92%. klen(874 знак., 20.03.2024 10:34, картинка)
- Год назад сделал то же самое на TL494 + ключи + ТВС110ПЦ4 . 2
экземпляра, оба в корпусах, готовые БП. Не удалось выпрямить
выходное напряжение изза наличия отсутствия быстрых высоковольтных
диодов. =L.A.=(1 знак., 22.03.2024 10:47, ссылка)
- Тема волнительна. Как раз нужен ПТ/ПТ с АКБ на 24В в постоянку от
100 до250В. Регулировки не нужны. Нужен КПД и защиты. - max(21.03.2024 10:11)
- Ты осторожно там, с высоким напряжением и педальками. Одного
радиолюбителя, говорят, похоронили с педалью, приварившейся к ноге.
5кВ коммутировал на выходной каскад лампового передатчика. Пробило
на педальку... - Nikolay_Po(20.03.2024 15:06)
- Честно говоря не понятно зачем менять и частоту, и скважность? Могу
предположить что это позволяет увеличить диапазон допустимых
нагрузок (у обычных резонансных с этим проблема). Я не ошибаюсь? AlexBi(377 знак., 20.03.2024 12:34)
- А почему не нравится очень простой и изящьный вариант аппаратного
получения мертвого времени на двух оптронных драйверах типа
HCPL3120 или их китайских аналогов у которых светодиоды управления
полумостом включены встречно-параллельно и в параллель им стоит не
большой конденсатор, который и задает длительность мертвого
времени? - БAPMAЛEЙ(20.03.2024 11:15)
- Ничего не понял. Задники на тапках бывают. Огласите решаемую
задачу, токи-напряжения на входе и на выходе. - Yurasvs(20.03.2024 10:43)
- Надо брать таймер, у которого есть комплементарные выходы. Там и
dead time настраивается. А, собственно, у TIM1 и TIM8 все это есть.
А в чем проблема? Достаточно погуглить что-то вроде "STM32 3-phase
PWM generation". Есть такой RM. Eddy_Em(108 знак., 08.02.2024 13:48)
- Вопрос про Си. Имеется проект бута для АРМа на Keil 5. Расположил
его во флеше с начала до 0x08003FFF. Решил вписать версию бута по
адресу 0x08003FF0 - типа почти в самый конец выделенного флеша. А
линкер берет и все инициализирующие константы ОЗУ ставит под адрес
с версией бута (0x08003FF0) и, естественно, вылетает за расчетную
область флеша. Причем свободного места в выделенной для бута
области немерено... Код заканчивается еще до адреса 0x08003000. Как
управлять my504(42 знак., 04.03.2024 09:14, MCU, полностью)
- вопрос STM-щикам :) какая-там сейчас вменяемая среда
проектирования? Есть желание в скором времени "пощупать за вымя",
что-нить из быстрого (чем больше мегагерцев, тем лучше :)) и с
большим количеством ОЗУ на борту, и/или интерфейсом для SDRAM. Adept(1846 знак., 21.02.2024 06:42 - 17:41, MCU, полностью)
- Так, не к ночи будь сказано, на всяких распберри пи проц 4 ГГц и
память ДДР4. Но эзернета на последних версиях нет, вай фай
приделали. - Visitor(11.03.2024 20:29)
- чорный плавник возьми. и быстрый и памяти много и хоть на асме пиши
- он там арифметический. - Alex68(11.03.2024 20:15)
- Ну таки шо? Есть подвижки? Хотя бы мысленно? - RxTx(11.03.2024 20:09)
- Поскольку речь идет об экспериментальной штуке, я бы предложил
изучить Renesas RZ/A. В единичных количествах оно добывается. 10
Мбайт памяти на борту. QFP корпуса :) Чисто для экспериментов с
кодом отладку можно и самому сделать - LDO, камень, драйверы
RS-232, кварцы, глюкодавы :) Очень качественная дока. Примеры кода. Evgeny_CD(1 знак., 26.02.2024 00:52, ссылка)
- Убивал бы: You must be logged in so that we can notify you of
future document updates. Please login now, or register for a new
account. - Kpoк(28.02.2024 13:57)
- Юджин, тебе тут давно не писали, видимо. Но напишу. Ты-таки знатный
извращенец. ;) Разработка определяется не только наличием каких-то
микроконтроллеров, но и а) Конечно же возможностью поставки, как
это уже справедливо отметили. Но самое главное! б) Полной
доступностью и высоким качеством казалось бы "постороннего", но
крайне важного предмета - средств разработки. А именно: 1. Наличием
и доступности отладочной платы. 2. Наличием и доступностью
аппаратного отладчика (спич о RxTx(939 знак., 28.02.2024 00:20)
- Renesas очень привлекателен качеством (они реально делают (делали,
по крайней мере) надёжные МК, заточенные под автомотив и индастриал
(даже компоновка кристалла и трассировка цепей на кристалле
выполнены с учётом повышенной помехоустойчивости, насколько помню
данные с их семинаров, но это касательно старых моделей, сейчас не
знаю). И это Япония, а значит очень жёсткая санкционка. В общем, ну
из нафиг. - Adept(26.02.2024 01:21)
- Почитал тему и хочу отметить, что у вас наивное понимание что такое
современные ARM. VladislavS.(2449 знак., 23.02.2024 09:59)
- +1 - Nikolay801_(26.02.2024 11:49)
- Я не стану утверждать, что я умнее команды людей писавших/пишущих
компиляторы, но скажу, что ассемблер нужно знать(быть знакомым), Ну
и "ишака привязывать" BlackMorda(1446 знак., 25.02.2024 15:42)
- спасибо, да, сам придерживаюсь примерно такого мнения, но не думал,
что с т.зр разницы архитектур ARM всё так ветвисто, запутано и
невесело (в своё время хотел поюзать атмеловские SAM, но как-то не
сложилось. Там-то всё не сильно сложно было. Но тем не менее,
придётся как-то влезать в знание архитектур и ассемблер
придётся-таки в том или ином случае, хотя бы посмотреть, что б
знать где копать если чо :) Adept(883 знак., 23.02.2024 15:02 - 16:05)
- Сегодня приснился пример Compiler vs ASM сложения многобитных
чисел. На ARM ассемблере это просто серия add-with-carry ADC... - RxTx(24.02.2024 16:29)
- Тут ниже понеслось в дебри доказательств на С "возможно всё!" но
смысл был другой. На ASM компактнее по памяти и быстрее по тактам. RxTx(253 знак., 25.02.2024 18:29)
- Равно как и на любом другом языке. даж на "брэйнфаке" теоретически
возможно всё тоже :)) вопрос целесообразности и эффективности
(правда это тоже нифига не функции одной переменной), такшо
нравится кому-то аль нет, - ассемблер вечен :) насколько его будут
использовать, - вангую, что по мере необходимости, использовать
будут, ещё и как. Вопрос настколько часто, чтобы стоило в него
вникать?? Ответ - достаточно редко, чтобы все поголовно его
изучали, но знание его строго Adept(100 знак., 25.02.2024 21:11)
- Я переносил своеобразную свою оптимизированную годами 24битную
математику с асма на 32 бита С для 8битного AVR, разница модуля
вычислений больше, чем в 2 раза вышла . Но итоговая прога процентов
на 30 больше, и в итоге вышло сделать один текст проги под 3 проца,
ХРЕН я бы в разумные сроки на асме такое сотворил. Обоссать и
оставить асм только для очень редких супероптимизаций. - Andreas(25.02.2024 19:17)
- В стандарте есть 64-битные целые. С ними у ARM всё шоколадно -
сложение транслируется в пару add, adc. У avr через вызов
библиотечной функции с прогоном аргументов через стек. Внутри
функции всё нормально. Предложения в стандарт по целым любой
разрядности есть, Но когда примут неизвестно. В сети есть класс из
этого предложения. Работать с ним удобно, так же как с базовыми
типами, но с оптимальностью без поддержки компилятора не очень. С
другой стороны, вычислить 100! VladislavS.(31 знак., 25.02.2024 03:16)
- Дык на любом ассемблере так :) Интересно, а компилер
умножение/деление на степень двойки сдвигом умеет ?? :) - Adept(25.02.2024 01:27)
- Как раз таки читать и контролировать что делает компилятор это
совершенно обязательно. Иначе оптимально писать не научишься. - VladislavS.(23.02.2024 16:02)
- Одно время пропагандировали отказ от оптимизации кода
программистом, как от порочной практики. SciFi апологет этой идеи.
Типа компилер сам все сделает лучше. Возвращаемся к началу времен
;) - Codavr(23.02.2024 23:09)
- Есть вещи, к которым возвращаться не нужно. Например избыточные
промежуточные переменные. Их можно убрать? Можно. Но компилятор это
и без вас сделает. Между тем, читабельность с промежуточными
переменными выше. Особенно в части множественных выходов из цикла с
переменной-флагом вместо гоуту, что уже кагбэ не особо очевидно,
да? - Cкpипaч(24.02.2024 00:15)
- Что подразумевается под словами научиться оптимально писать
контролируя, что делает компилятор? Хочу все знать. Уверен, что нет
тут никого, кто доподлинно знает все методы которыми пользуется тот
же оптимизатор IAR и наверняка там есть ноухау известные только
узкому кругу лиц. - Codavr(24.02.2024 02:14)
- > Уверен, что нет тут никого... Методы опттимизации дерева с трехадресным кодом предмет
академических публикаций. Методы бэкенда, самой основной проблемой
из которых является register allocation problem RxTx(1394 знак., 24.02.2024 16:55)
- В документации IAR кое что есть. VladislavS.(27 знак., 24.02.2024 10:32, картинка, картинка)
- Это не я сказал. Но в общем, я бы под "контролируя" понял осознание
программистом в какие в принципе конструкции выливается то, что он
пишет. Утрируя, на уровне как выполняется данное конкретное
присвоение? Как пересылка байта из регистра в регистр или как
создание в куче мегабайтных объектов, с инициализацией их по сети и
только потом пересылкой одного байта? - Cкpипaч(24.02.2024 10:00)
- Нет, код должен быть написан так чтобы компилятор всё сделал. - VladislavS.(24.02.2024 00:09)
- Спасибо за развернутый ответ. Прикрепить бы его в "меморис" по теме
"асм против ЯВУ"... - Eddy_Em(23.02.2024 10:05)
- Это ни разу не vs. VladislavS.(123 знак., 23.02.2024 10:33)
- "Зоопарк" буду иметь ввиду при работе с АРМами :)) Для "коммерции"
всё равно знакомые и изученные АВР-ки остаются :) - Adept(23.02.2024 14:28)
- В каких таких дамках? Больше всего бабла у тех, кто вообще ничего
не знает про асмы и зоопарки :-) - SciFi(23.02.2024 10:41)
- Где я что-то про бабло писал? - VladislavS.(23.02.2024 10:53)
- Ну, "дамки" == "бабки", не? :-) А если нет, тогда непонятно, что за
дамки :-) - SciFi(23.02.2024 11:06)
- Ну вот, нашелся человек, который в детстве не играл в шашки :-) - il-2(23.02.2024 14:15)
- Я бы сказал, попался! - Kpoк(23.02.2024 14:16)
- Увы, играл. Поэтому и недоумеваю, где дамки в игре
"ымбеддерство"... - SciFi(23.02.2024 14:49)
- Ты готов свой проект за ночь перепилить с одного МК на другой? Если
готов, то ты в дамках :-) Сверху, снизу и с боков :-) - il-2(23.02.2024 15:08)
- Перепилить это скорее экзотика. Чаще запилить что-то по быстрому.
Прибегают - ой, мне тут платку спаяли, синтезатор, аттенюаторы,
датчик температуры. Сделай чтобы можно было включить проверить, а
прошивку потом напишешь. :)) - VladislavS.(23.02.2024 16:29)
- касательно "за одну ночь" - это иллюзия (если речь конечно не об условном "hello world")
более менее безопасная миграция проектов возможна, вероятно в
рамках одного семейства, не не среди различных камней, "я так думаю" (С) Глядя даже на не самые сложные свои проекты, представив, что по
мановению волшебной палочки весь софт мгновенно переписался на
другой проц, ничего с ходу работать не будет, т.к. всё сильно
завязано на архитектуру камней, аппаратные Adept(895 знак., 23.02.2024 15:37)
- Так дамки-то в чём? Перепиливать из спортивного интереса?
...денег-то такой аврал не может приносить по определению. - POV(23.02.2024 15:31)
- йес SciFi(1 знак., 23.02.2024 15:24, картинка)
- ОБХС! - Kpoк(23.02.2024 15:31)
- Маленькие дамы. - Kpoк(23.02.2024 11:55)
- спасибо за ваш диалог с RxTx! Очень полезно. - Лaгyнoв(22.02.2024 20:35)
- > самому трассировать отладочную плату под него для
"познакомится" - себе дороже выйдет. STM'ке чтобы ее запустить надо проводками подать только питание.
Можно от двух батареек. Ну ладно, можно кинуть 1 decap. RxTx(331 знак., 22.02.2024 07:58)
- ...Прочитал про твоё желание вкатиться сразу на H7 (не говоря уже о
желании программировать его на регистрах как AVR'ку), улыбнулся.
Потому что до H7 работал на середнячке F407 и перешел на H7 уже
имея опыт. RxTx(4818 знак., 22.02.2024 01:52, ссылка)
- Спасибо! Душевно описано - Evgeny_CD(22.02.2024 20:02)
- Вообще непонятно позиционирование этого H7. Это уже ни разу не
микроконтроллер - жрёт как не в себя на максимальной
производительности, соответственно греется. Но ещё и не процессор -
нет MMU и тот же линух не водрузить. - VladislavS.(22.02.2024 09:04)
- спасибо за развёрнутый ответ. Я прекрасно понимаю, что по сложности
и структуре АРМ - далеко не АВР, ассемблер как основное средство
программирования там просто ни к чему (но надеялся, что таки
критически важные вещи на нём можно будет запилить, однако почитав
Ваш пост по инициализации железа и беглом описании пример как это
вкратце работает, ужаснулся :( Си не пугает (чистый Си, давным
давно немного знал, что-то на нём писал, но уже многое позабывал.
Вспомнить конечно Adept(2423 знак., 22.02.2024 02:42)
- Ось Вам знакомое 51ое ядро, 100МГц, 128 кб флешь. symbions(175 знак., 22.02.2024 11:23, ссылка)
- Я уточню самое важное - "ужас" был только про H7. Ни с ARM, ни с
более простыми сериями STM32 никакого ужаса нет. "bare metal" - да
легко. На здоровье. И к тому же, легко сможешь писать на
ассемблере. ARM'овский ассемблер ничем не хуже AVR, где-то такой же
уровень. - RxTx(22.02.2024 03:02)
- спасибо, а то я уж приуныл немного (Си, в общем-то не пугает, тем
более, что придётся всё равно его вспоминать :)) но возможность
что-то "до/запилить " на ассемблере для меня важный момент. - Adept(22.02.2024 03:09)
- Я еще немного разовью тему. До полного понимания. А то невольно
поработаю в минус тебе. RxTx(1570 знак., 22.02.2024 18:04)
- Спасибо. Да я-то "стреляный воробей", меня не спугнёшь :)), но
ценно любое мнение (из них складывается общая картина). Я как
дилетант в АРМоводстве, смело бросаюсь "на амбразуру":) Где-то
набью шишек конечно, не без того, но в общем, "опыт не пропьёшь",
так или иначе "прорвёмся" :)) Тут главное "почувствовать момент
истины", и что б не получилось, как в известном Законе Мерфи Adept(106 знак., 22.02.2024 18:18)
- > Кстати, кто плотно знаком с STM, какие там самые большие
минусы и что более всего бесит (ну, скажем в сравнении с АВР. Для
справки: знаю достаточно хорошо всё семейство АВР, ХMEGA (пожалуй
самый сложный камень из АВР-ов). Самое неприятное с STM32 это
вопрос с их сайтом на котором кое-что перестали давать
скачать документацией. RxTx(2446 знак., 22.02.2024 02:59)
- Не морочьте голову. Ставьте Cube IDE и не мучайтесь. Зачем рубить
лес топором, когда есть бензопила? Можно уйму времени потратить на
изучение каждого регистра, но зачем? Лучше потратить это время на
что-то более полезное, продумывание логики программы, алгоритмов и
т.п. задачи экономить каждый такт и каждый байт давно уже нет, а
потраченное время невосполнимо. - Yurasvs(22.02.2024 00:52)
- да уже понял, что лучше начать с самого простого и протоптанного
пути :)) Ассемблер планировал применить для написания критически
важных драйверов ядра системы. Но не уверен уже, что с АРМом это
получится, хотя если не будет такой необходимости, то мож и хорошо.
Я так понял, что там с этим уже совсем плохо и запутано :( Но
конечно, гляжу на всякие "If-ы" да "switch-case" аж тошнит от
одного только вида :) Понимаю, что всю эту простыню "на три
экрана", я укладываю в Adept(47 знак., 22.02.2024 04:10)
- "критически важных драйверов ядра системы" Что вы под этим понимаете? Желательно с примером для тупеньких. - VladislavS.(22.02.2024 09:08)
- в планировщике собственного изготовления, помимо собственно
планировщика, нужен аппаратный таймеры 1mS и 10mS (а в более
шустром, чем XMEGA, камешке и побыстрее хотелось бы, в которых ещё
с десяток-другой системных таймеров, RTC, мегабитный RS
,буферизованный драйвер, постоянно крутящийся и обеспечивающий
трафик (от 100К о мегабита на шустром камне для распределённой
внешней периферии) - эдакая внешняя периферийная шина с
квитированием и ретреями:) Adept(643 знак., 22.02.2024 12:00)
- Почему не получить таймер на 10ms из таймера 1ms простым
программным счетчиком, зачем всенепременно аппаратный? - RxTx(22.02.2024 18:13)
- ну 1mS во первых сильно перегружен системными драйверами, и он
должен быть ОЧЕНЬ быстрым, чтобы оставалось время на другие задачи,
а в 10mS запиханы не столь жёстко привязанные ко времени процедуры,
но условный реалтайм там всё же должен быть, поэтому чисто софтовый
из ядра, по семафорам 1mS таймера, - не катит. Особенно это
проявляется на меге88/16, особенно на низком такте (7,3728MHz). На
иксмеге попроще, всё ж она значительно шустрее. - Adept(22.02.2024 18:25)
- Что-то я не понимаю, наверное туповат еще в деле
планировшиков/RTOS. Но дело в том что у процессора сколько времени
есть, столько есть. Больше не станет. Какая разница, нарезаешь ты
слайсы времени (типа прерывания) аппаратно по 1ms или по 10ms или
ты нарезаешь софтварно. Ничего не изменится. Развет что если 1ms
таймер и 10ms чуть "расстроены" по микро-нансоекундам друг от друга
и поэтому они могут вытеснять друг друга. Но если в реальности 10ms
дубасит строго синхронно с RxTx(302 знак., 22.02.2024 19:04)
- дело в том, что в хэндлере 1mS таймера я не могу делать практически
ничего, кроме выставления семафоров, управления набором софтовых
таймеров (которые совершенно не обязаны отрабатывать синхронно, с
минимальным джиттером, и даже могут и не отработать в цикле
системного клока 1mS, а пропустить его), и выполнения нескольких
очень компактных реалтайм драйверов ядра. На 10mS же таймер
навешана всякая дрянь вроде драйверов клавиатуры, индикации,
системных часиков, ах да, Adept(888 знак., 22.02.2024 19:51)
- Ну это такой очень специфичный диспетчер со встроенными двумя
"потоками", вытесняющими друг друга, с фиксированным приоритетом
устроенным отношением частот таймеров и подвешенными на аппаратные
таймеры. В большинстве RTOS шедулер вызывается с частотой 1мс. При
этом 1-мс потоку подвешенному у тебя на таймер 1мс, так как у него
высший приоритет он будет выдавать время каждые 1мс. А вот на
второй твой 10мс-поток он может переключаться чрез 10мс, при этом
на 1мс поток он RxTx(193 знак., 22.02.2024 20:13)
- Если перелезть на жирное ядро то в 1 мс прерывание влезет дохрена
логики ASDFS(431 знак., 22.02.2024 20:02)
- ну это понятно, а я максимально рационально старался использовать
ресурсы :) компактную версию планировщика, без проблем засовываю в
любую "тайню", практически, единый подход к написанию ПО ждя всех
случаев сильно всё упрощает. И да, камкой смысл пихать в цикл
"инвариантные действия" (в чём сакральный смысл, к примеру
отрабатывать клавиатурный драйвер или драйвер индикаций каждые 100
микросекунд?? Ну кроме излишней загрузки CPU :) Вот так и
скатываемся к говнокодингу Adept(63 знак., 22.02.2024 20:23 - 20:31)
- В STM32, даже в F1, достаточно уровней прерываний и их источников
("триггеров") чтобы разрулить штук 7 разных очередей и даже больше
(у меня в текущем проекте, на данный момент, 7). Nikolay_Po(1187 знак., 22.02.2024 22:25)
- Ну, рациональность мы понимаем по-разному, видимо :-) - SciFi(22.02.2024 20:33)
- Говнокодинг это когда дюжина прерываний и надо как то
контролировать что все это еще летит ASDFS(71 знак., 22.02.2024 20:30)
- для этого нужно правильно организовать структуру программы и
расставить приоритеты и при необходимости средства контроля
выполнения, и обработку исключений :) И правильно реализованная
система с кучей прерываний будет радовать быстрой, надёжной и
стабильной работой :)) - Adept(22.02.2024 20:33)
- Сразу видно эмбеддера который всю жизнь провел на одной платформе. ASDFS(241 знак., 22.02.2024 20:41)
- Я б повесился от такой жизни :(( Мне сильно повезло, что могу сам
выбирать и проекты, и зачастую заказчика :)) И да, действительно
сижу на одной платформе (ну если считать тайни и иксмегу одной
платформой :) и в ус не дую, но вот последнее время немного
"тесновато" становится, надоть чё нить освоить пошустрее и
поинтереснее (и ещё лет на двадцать хватит /оптимистично так/ ) :) - Adept(22.02.2024 20:46)
- Все слишком быстро меняется. Когда я начинал инженерить i8748 был
последним писком моды. ASDFS(448 знак., 22.02.2024 21:01)
- поймал себя на мысли, что уже даже институтский курсовик по
аналоговым устройствам (надо было спроектировать (с расчётами,
есно) широкополосный транзисторный усилитель с полосой 10МГц при
неравномерности 3dB, для источника с Rвых=10K и температурного
диапазона -40..+75) с трудом наверно осилю без книжек :)) Надоть
перечитать классиков, и уходить в аналоговую дискретную
схемотехнику, скоро это будут забытые сакральные знания :)) - Adept(22.02.2024 21:15 - 21:20)
- Они сакральные потому что МП42 купить сложнее чем дуину. - ASDFS(22.02.2024 21:17)
- Если у кого прям сильная ностальгия, у меня где-то в запасах должно
быть килограмма полтора МП42 - AlexG(23.02.2024 16:41)
- из них можно фототранзистор слелать, если шляпу отпилить :) а ещё в
макетировании удобные и в "пионерских самоделках", вместе с
резисторами МЛТ на картонных платах :) (проволочные длинные ноги).
А сейчас да, если только в каком-нить кружке юных радиолюбителей,
как наглядное пособие и расходники для экспериментов с
транзисторными схемами. Но навряд ли удастся пристроить :) - Adept(23.02.2024 20:56)
- О методах вскрытия МП42 RxTx(619 знак., 23.02.2024 23:10)
- эт метод быстрый, но неправильный. Если аккуратно спилить шляпку
(можно даже напильником, там нетолстая медь, но лучше "шлицовкой",
то получается нормальный "тубус", защищающий кристалл). h21э у них около сотни, помнится (у буковки "Б"), - максимальный из
"германия", вроде как, что на фоне 39-х и 25-х со значением в
10-20, - просто подарок :) - Adept(23.02.2024 23:19)
- Можно купить МП39 и перемаркировать. Лайфхак. - Kpoк(23.02.2024 12:01)
- Если мипсов много, то почти всё вот это вот нормально живёт в Main
Loop. Исключения немногочисленны и легко цепляются к аппаратным
таймерам, например. - SciFi(22.02.2024 20:15)
- Нет, калокуб - это тупиковый путь. Есть риск превратиться в
абдуринщика. Сразу начинать надо с голого CMSIS и заголовочных
файлов с регистрами (правда, под, скажем, STM8 у меня такого не
было, пришлось самому писать). Линкер-скрипт, стартап и базовый
набор макросов однозначно надо писать самому. И никаких
кодогенераторов от быдлокодеров (тем более, индусов из ST). - Eddy_Em(22.02.2024 08:04)
- у бензопилы есть косяг - если нет мозгов сотворять бензин, комфорт
превращается в проклятье рабства. - klen(22.02.2024 02:12)
- IAR + jlink (можно китайский клон). Если хочется быстро запуститься
можно использовать HAL, явных косяков там нет, я, во всяком случае,
их не встречал - 0men(21.02.2024 18:07)
- Внешний SDRAM без кешей - для замены ОЗУ и FLASH очень медленно.
Нормальные кеши есть только у Cortex-M7 - Evgeny_CD(21.02.2024 17:40)
- а мноха памяти это сколько? Ибо дешманская единичка с блюпилы
соразмерна по памяти классическим авркам. - Nikolay801_(21.02.2024 10:38)
- Ну вот мегабайт в H-весьма впечатляет и вдохновляет :)) , ну даже
192 кило в 407-м неплохо. Оптимально умение - работать с внешней
SDRAM :) Есть кой-какие дурные мысли (детально пока говорить не
хочу, вкратце - нечто вроде доморощенной ОС, со входным языком
народе форт-системы :)) В принципе, легче всего то реализуется на
,базе одноплатников, вроде какой-нить "апельсинки" или даже
"zero-малины", Adept(969 знак., 21.02.2024 13:55 - 14:57)
- Современный С/C++ компилятор обойдёт ваш "драйвер на ассемблере" и
не ойкнет. Особенно если ему метакодом на плюсах помочь. - VladislavS.(21.02.2024 17:00)
- "рОзжигаете"? :)) не поддамся! :)) - Adept(21.02.2024 17:21)
- Посмотри на ютубе лекции Константина Владимирова по С++, тогда
точно не поддашься. Современные плюсы для свежих мозгов, причем не
каждых. - Andreas(21.02.2024 17:30)
- Отличные лекции, но не про эмбэдд. - VladislavS.(21.02.2024 17:50)
- спасибо посмотрю, глянул обзорно одну (просто по Си) напомнило
лекции по программированию в ЛЭТИ (Фортран учили) :)) главное -
расcказчик вменяемый, читает хорошо, слушается легко. Чего бы не
послушать, не обновить инфу в голове :)) А по "C vs Asm" даж спорить не буду. Это просто совершенно разные ниши применения,
если по уму. И одно другого не заменяет совсем, а дополняет, если
хватит мозгов и на то и на другое :)) - Adept(21.02.2024 17:38)
- Да, тоже смотрю новые лекции по С, отлично читает, причем
первокурсникам! "C vs Asm" даж спорить не буду" - все перетерто в
конце 90х, но некоторые партизаны еще из леса не выбрались. ) - Andreas(21.02.2024 17:43)
- Спорить конечно бесполезно. Надо просто понимать, что задачи у этих
инструментов разные, одно не заменяет другого, Асм - хороший ручной
инструмент, которым можно (но не нужно) делать всё, но лучше
применять его там, где необходима"ювелирка" :)) С - "экскаватор",
который так же глупо
"натягивать на глобус" применять в специальных задачах, где лучше справится ассемблер,
как и ассемблер пытаться применять, там, где безоговорочные
преимущества у C. Adept(273 знак., 21.02.2024 17:59)
- Мой коллега аналогично про "С++ vs С" говорит. Только уже понял,
что пытаться меня пересадить с любимой сишечки на кресты - это как
внезапно наделить умом всех жителей гейропки и пиндостана, т.е.
совершенно невозможно. Я понимаю, какие плюшки есть в С++, но и
вижу, насколько сложен этот ЯП, поэтому и не собираюсь так же, как
коллега, в него с головой влезать, да еще каждые полгода-год новые
стандарты читать и старый софт под них переделывать... - Eddy_Em(21.02.2024 17:46)
- Делюсь опытом. - VladislavS.(21.02.2024 17:23)
Ловите наркомана Вызывайте санитаров! - 3m(21.02.2024 14:08)
- "Вменяемая среда проектирования" это очень спорная тема. Лучше
плясать от того с чем больше опыта в прошлом по тому пути и идти.
Если в анамнезе 7я студия, то наверно и кубь зайдет. Но лично я
иарю уже десятилетиями. - Nikolay801_(21.02.2024 10:34)
- из отладчиков я бы рекомендовал дешманский JLINK c алика, у меня
есть несколько разных, проблем с ними не разу не было, плюс есть
возможность в случае чаго отползти на китайсов или не приведи
господь наши камни. Nikolay801_(165 знак., 21.02.2024 10:10)
- О, скока накидали инфы, читать-разгребать ещё пару часов придётся
:)) Спасибо, за мнение, но как-то альтернативными
отладчиками/программаторами (тем более с "алика"), ещё для АВР
наелся, в итоге пришёл к выводу, что стабильно и качественно
работает только фирменное, с остальными какой-то вечный геморрой :( Adept(563 знак., 21.02.2024 14:03)
- а как Jlink с GD дружат? наши stlink не очень: Mikla(342 знак., 21.02.2024 10:24)
- У меня с GD и с тем и с тем проблем не было. Причем я жадина и
использую свистки с Али. Подтяжки ставлю как в референс и земляная
жилка между данными и синхрой в шлейфе. - vesago(21.02.2024 11:12)
- stlink может с GD и месяц и два проработать, а потом бац, и только
с stm32 нормально работать будет, а c GD отваливается как по
таймауту - Mikla(21.02.2024 11:28)
- Пользую с gd 103 и 303,китайские сторублевые st-link v2, проблем не
было. Подключение согласно даташита. А вот GDlink-и двух типов,
правда тоже не фирменные, - отложил в стол и забыл, ибо вели себя
непредсказуемо. - Bинни Пox(21.02.2024 13:51)
- Положа руку на сердце - впаяли в изделие вместо ST32F103 микросхему
GD32F103. С толкача подключался стлинк. Пришлось выставить хотплуг
и в момент подачи питания коннектится. После этого стирал память и
работало. Но тут еще момент, что прошивку заливали для stm32. Потом
переписал под GD либы и больше такого не наблюдал. Есть плата
STM32F407. Из трех свистков, только один коннектитца. В данном
случае, я думаю, схемотехника кривая. Обратил внимание, что коек
какие ноги питания vesago(53 знак., 21.02.2024 13:21)
- в GD вляпаться не удалось, но артери на нем шил и даже немного
миландр помучить получилось. - Nikolay801_(21.02.2024 10:32)
- Coocox 1.7 и набор проектов (для блупилл) для него.. Через 2 месяца
с этий дико кривой средой, но с комплектом рабочих примеров -
будешь уже прям как два пальца сам себе выбирать инструмент ) POV(1 знак., 21.02.2024 09:31, ссылка)
- Армовский ассемблер сильно на любителя. Поэтому даже не думайте ни
о чём, кроме тёплой ламповой сишечки :-) - SciFi(21.02.2024 09:03)
- Меня больше всего бесило после перехода с АВР на СТМ то, что я так
долго этот переход оттягивал :-) Для начала работы самое простое и
удобное средство - это Keil. il-2(377 знак., 21.02.2024 08:37)
- Я для авр, мсп430, армов использую IAR. Скорее всего буду в
основном китайские чипы использовать, поэтому CubeIDE не использую.
Как авр на регистрах, называется CMSIS. Но лучше LL - фактически
надстройка макросами над CMSIS, упрощающая жизнь. Сам код пишу в
сликэдите или вскоде. Отладчики - стлинк и джетлинк. К IAR примеры
обширные идут - переделывание под себя. Ну и с авр многие
наработки, если на сях тоже пойдут. - vesago(21.02.2024 08:20)
- Qt-creator очень хорош. А редкие запуски gdb - в терминале, коих у
меня почти на каждом рабочем столе, еще и с вкладками... - Eddy_Em(21.02.2024 08:13)
- Абсолютный минимум железа это сам камень и последовательный порт с
3.3В уровнями (преобразователь USB->UART какой-нибудь). Этого
достаточно чтобы заливать прошивку с помощью встроенного в STM
загрузчика. Отлаживаться придется мигая светодиодами и выводя
сообщения в UART, не очень удобно, но ничего невозможного в этом
нет. - ЫЫyкпy(21.02.2024 07:49)
- Для генерации проекта пользуюсь CubeMX. Потом вся отладка в Кейле.
В принципе ничто не мешает ковыряться в регистрах. Лично мне
интересно изначально было - как Куб настраивает тактирование и
периферию. И сам там правлю иногда после него. Потом в Кейле
интересно наблюдать за работой. И регистрами в том числе. - Лaгyнoв(21.02.2024 07:16)
- Фирменный отладчик называется ST-Link, если брать Discovery, то он
обычно туда уже встроен. Аналогом студии можно считать Cube IDE, но
я предпочитаю использовать IAR EWARM (+в отличии от куба и кейла он
не подтягивает никакие пакеты из интернета, с чем сейчас есть
проблемы). - AlexG(21.02.2024 07:06)
- а младшие "дискавери" умеют со старшими камнями в режиме пошаговой
отладки на кристалле?? - Adept(21.02.2024 14:28)
- При стоимости ST-Link проще в базарный день на али горсть заказать,
чем из дискавери его выковыривать. - VladislavS.(21.02.2024 17:27)
- st-link что встроен в обычные дискавери по схемотехнике малость
упрощен. И есть всегда риск глюков. У меня было так, что с одними
камнями нормально, а других не видит. Как-то говорили, там по
линиям SWDIO и SWCLK последовательные резисторы в пределах 50 Ом
надо подбирать - Лaгyнoв(21.02.2024 17:13)
- ну по аналогии с АВРами, есть "дракон" - в принципе да, отладчик,
но достаточно сырой и в аппаратном плане, да и в отладке не сильно
быстрый и не очень стабильный (у меня, так иногда отваливался пот
ЮСБ :(( и есть AtmelICE - тот вообще без вопросов, работает как
часы. Мож и для STM есть какие-то дискавери, на которые и смотреть
не стоит, а есть нормальные универсальные, но и не монстроподобные
вроде STK, Понятно, что "дискавери" эт "девборда", и для "крайних"
камней Adept(182 знак., 21.02.2024 17:30)
- Теоретически, ничто не мешает. Отладчик на дискавери совершенно
отдельный узел, никак не привязанный к МК дискавери. AlexG(25 знак., 21.02.2024 16:34)
- это верно, хороший вариант для ознакомления их дисковери, там много
всякого в комплекте, есть примеры кода и отладчик в комплекте и в
заявленный бюджет влазит. Nikolay801_(88 знак., 21.02.2024 10:51)
- вот такое писмо и НИИЭТа прилетело.. klen(1 знак., 12.03.2024 21:14, MCU, ссылка, полностью)
- Нам тоже прилетело. Видимо, оно всем прилетело. ))) - vpv.vpv(14.03.2024 07:19)
- Щетаю надо брать немедленно! С такими-то характеристиками! Да и
цена в $6.5 - все равно что боженька поцеловал. - RxTx(12.03.2024 21:24)
- Помечтаю. Раза в 4 цену скинуть. Какой-нибудь генератор на борту
типа NCO, CWG, PSMС. PPF. DAC. Быстрый компаратор. И можно было-бы
рассмотреть к приобретению. - Gerasim(14.03.2024 07:44)
- у меня сложные устройства - AVR ATmega8 мне не подходщит даже
насилу..:( - klen(12.03.2024 21:28)
- Ох, кажется ты не понял мой сарказм... Контроллер 8-битный,
достаточно примитивнй и очень, очень дорогой. - RxTx(14.03.2024 23:07)
- Контроллер просто дорогой, вот и всё. Потому, что первый, опытный,
"блин комом", обвешаный, как ёжик, затратами на на ОКР,
пусконаладку, и т.д. и т.п. По факту - просто кастрированная
Атмега16. А что по поводу "примитивности", то мы, например, в
некоторых своих простейших устройствах вобще используем Attiny13A,
поставляем их тысячами штук, и для них этот суперпримитивный МК
подходит идеально. - vpv.vpv(15.03.2024 06:41)
- Но вполне в состоянии, на подсрачниках, вынести с какого тендера,
поделие на продвинутом и дешовом. - mse homjak(14.03.2024 23:19)
- Прикольно - ядро Cortex-M4F. Но контроллера CAN нету и UART всего 2
шт. reZident(1 знак., 12.03.2024 21:22, ссылка)
- "Старых Большевиков ул." И Ленин такой молодой, и юный Октябрь
впереди! Поэзия... - SciFi(12.03.2024 21:18)
- STC32G12K128 что это? как это? зачем это? Vit(1 знак., 14.03.2024 12:38, MCU, ссылка, полностью)
- Коллеги, кто знаком с интерфейсом 1-Wire? Сначала идет Reset, потом
Presence. Какая максимальная пауза может быть между Presence и
началом слота (передача данных от мастера к слейву)? - vesago(09.03.2024 16:35, MCU, полностью)
- Давно это было... Помимо DS - пользовался проектом имитатора ключей
от Л.И.: Toчкa oпopы(90 знак., 09.03.2024 18:46, ссылка)
- Есть такой документик, там последняя глава по теме ASDFS(1 знак., 09.03.2024 17:10, ссылка)
- Спасибо, друзья. Придется мне переделать функцию. Какие-то
состояния хранить . Я почему-то думал, что не более времени сброса. - vesago(09.03.2024 16:54)
- Насколько помню: Presence идет после подачи питания/подсоединения
устройства. Если неаккуратно строить работу с устройством, то можно
этот Presence спутать с тем, что идёт после сброса, тогда обмен
дальше не пойдëт. - Пaлыч(09.03.2024 16:52)
- Может, пригодится: Eddy_Em(24 знак., 09.03.2024 16:47, ссылка)
- Любая (неограниченная). - Samx(09.03.2024 16:42)
- Коллеги, кто работает с артери, какую версию Keil ставить? - vesago(25.02.2024 15:11, MCU, полностью)
- Я еще в IAR привык, что когда жмешь дебаг, компилер собирает весь
проект и потом заливает в чип. В Кейле уже несколько раз по
привычке вносил изменения, запускал дебаг и удивлялся, почему
ничего не поменялось. Не знаете - может в Кейле можно настроить,
чтобы перед дебагом сборка было? По настройкам полазил - не нашел
как-то. - vesago(05.03.2024 16:45)
- Я тоже про версию Keil вопрос хочу задать. Сам я пользуюсь 5.25. У
меня куча проектов, и все они подключены к одному Workspace. il-2(292 знак., 05.03.2024 15:50)
- Вчера (не касаемо Artery) сделал чистую установку Keil v5.39.0.0.
Какие подводные? Заметил что Pack Installer почему-то очень и очень
медленно работает вообще на каждый чих при разворачивании веток
дерева. У всех так? RxTx(73 знак., 26.02.2024 21:50)
- у меня такой abivan(1 знак., 26.02.2024 11:02, картинка)
- У меня пятерка. Работаю с 407 и 421. - my504(25.02.2024 15:49)
- А пятерка - 5.39 пойдет? - vesago(25.02.2024 16:58)
- Нет. Сначала поставь 5.36, а тогда накатывай 5.39. В 5.36 последней
штатно стоит компилятор 5-й. А на выше он не всегда корректно
доставляется. До 5.38 включительно не нужно - там были глюки с
отладкой, побороли в 5.38а, ну и 5.39 вроде тоже ничего - Vit(26.02.2024 10:12)
- Думаю да. Крайний раз на работе ставили месяца четыре назад
коллеге. Но у меня дома и на работе - 5.29 с таблеткой. - my504(25.02.2024 17:28)
- Спасибо!! Ещё подумаю. Или тоже 5.29 или 5.36. В следующих уже
компилер сменился. Хз как оно будет. Я в основном IAR пользую.
Посмотрел у китаезов примеры под Keil. Решил не эксперементировать. - vesago(25.02.2024 20:05)
- Крайний день Помпеи 🤣🤣🤣 Бoмж(1 знак., 25.02.2024 17:34, картинка)
- Не, поциент не въежает. То, что он написал, именно "последний".
После него ничего не будет. А после "крайнего", скока угодно. - mse homjak(26.02.2024 10:24)
- "Последний" на тот момент. Позже может быть сколько угодно новых
"последних". За своим "олбанским" ты пытаешься скрыть свою
малограмотность :-) - Бoмж(26.02.2024 12:46)
- На какой "момент"? Своей малограмотностью вы пытаетесь наехать на
мой олбанский. День Помпеи имана последний. Могиканин, имана
последний. Герой, имана последний. Не на "тот момент", а вообще. Не
будет у Помпеи больше дней. Об том картинко. Не будет больше
могикан и героя. Об том книга, кыно и пестня. Хотя чо я? Логика,
москальска лжэнауко. - mse homjak(26.02.2024 13:52)
- после́дний -яя, -ее. 1. Такой, за которым не следуют другие, находящийся в самом конце
ряда каких-л. предметов, явлений и т. п. || Предсмертный. ||
Совершаемый при похоронном обряде. (Малый академический словарь) reZident(1 знак., 26.02.2024 13:00 - 13:04, ссылка)
- Крайняя плоть...:) - Vit(26.02.2024 10:15)
- Крайний - это не синоним последнему. Поэтому анекдот не слишком
смешон. Опять же известно откуда взялось употребление "крайний".
Думаю, что ничего смешного в этом нет. - my504(25.02.2024 20:51)
- Зачем суеверия тех у кого это связано с опасностью для жизни (не
вернётся из полёта или плавания) нести в повседневную жизнь? Это
была его последняя установка Keil - поставил и умер. Бред полный. - VladislavS.(26.02.2024 13:22)
- "Крайний раз на работе ставили" - первый что ли? А если последний,
то почему бы так и не написать? Вот же бред… Eddy_Em(266 знак., 26.02.2024 12:25)
- В очереди крайний становится последним только, если рабочий день
уже закончился и сегодня больше приема не будет. - reZident(26.02.2024 13:08)
- В очереди два края. А последний всегда один, просто он перестает
быть последним, как за ним занимают. Ну и первый, как заходит,
передает звание первого следующему за ним. Так что, все правильно:
когда занимаешь очередь, надо спрашивать "кто последний". Заодно в
глазах людей не будешь зэком каким-то выглядеть. - Eddy_Em(26.02.2024 15:47)
- См. выше, крайний может стать последним, но не наоборот. reZident(1 знак., 26.02.2024 17:05, ссылка)
- В очереди нельзя говорить "крайний", т.к. краев два. Аналогично во
многих других случаях: по-русски будет "последнее плавание",
"последний поход", но "крайняя плоть". А никак не "крайнее
плавание" (вообще бред: первое или последнее), "крайний поход"
(такой же бред) или "последняя плоть". - Eddy_Em(26.02.2024 17:07)
- У очереди не два края, а начало и конец. Конец находится на краю
очереди. Все логично. - reZident(26.02.2024 17:09)
- Очередь, как любая хрень, имеет два края: начало и конец. Поэтому
"крайний" в очереди - либо первый, либо последний. Тут все
однозначно. И с точки зрения языка некорректно к очереди
обращаться: "кто крайний", т.к. это мало того, что неоднозначный
вопрос, но еще и выдает в вопрошающем классическое быдло. - Eddy_Em(26.02.2024 17:22)
- Словари с вами несогласнЫя! нача́ло -а, ср. 1. Исходная точка, грань чего-л. имеющего протяжение, а также
пространство, примыкающее к этой точке, грани; противоп. конец. Банальная логика говорит нам, что термины, которые
противопоставляются, не могут означать одно и то же, нес па? Точно
так же как мужчина и женщина это противоположности, хотя и
относятся к одному биологическому виду. reZident(192 знак., 26.02.2024 17:38, ссылка)
- и да, крайних у нас нет, так я отвечаю вопрошающему в очереди(думаю
никто не хочет "оказаться крайним") - abivan(26.02.2024 17:30)
- У крайнего, как минимум, два края. На вопрос в поликлинике "кто
крайний" я обычно спрашиваю с какого края? Но Вы можете и дальше
продолжать фигней маяться. - abivan(25.02.2024 21:49)
- Гуру 51х! Есть микроконтроллер STC15F2K60S2, читаю даташит, стр.
876 и пытаюсь понять, возможна ли на нем пошаговая отладка? (Вроде
бы да... ) RxTx(311 знак., 03.03.2024 08:58 - 09:09, MCU, ссылка, ссылка, полностью)
- STM32L4: будет ли работать эмуляция однонаправленного SPI с помощью
DMA из памяти в GPIO ? VLLV(89 знак., 19.02.2024 11:21, MCU, полностью)
- Появился секретный контроллер IT8752TE BXS. Настолько секретный,
что продают его все, а описание нет нигде. - Kpoк(15.02.2024 11:54, MCU, полностью)
- На электрониксе эффективного совета не дали, попытаю счастья здесь.
Скрипт сборки проекта написан на Python, сам Питоном не владею, был
взят из демо проекта. Требуется передать компилятору GCC строку -
короткий хэш git версии проекта. Саму строку в скрипте получаю так. Rainman62(1122 знак., 13.02.2024 08:15, MCU, полностью)
- Подскажите - какой протокол обмена данными можно использовать для
того, чтобы "зеркалить" массивы данных в микроконтроллерах,
соединенных между собой по Ethernet, так, чтобы если изменятся
данные в одной из ячеек, они сразу "отзеркалились" изменились в тех
же ячейках других микроконтроллеров в сети? - Make_Pic(29.01.2024 21:56, MCU, полностью)
- Кто может сказать, как устроен режим зеркалирования (или
стекирования, как тут было уточнено) у промышленных контроллеров по
сети между различными периферийными модулями и самим контроллером? - Make_Pic(05.02.2024 16:28)
- Мультикасты не пробовали? - Eddy_Em(30.01.2024 09:55)
- EtherCAT, PDO объекты синхронизированы с частотой цикла, обычно
около 2кГц - dxWAk(29.01.2024 22:51)
- Весь EtherCAT не надо , есть описанные протоколы попроще? Хотелось
алгоритм прикинуть. - Make_Pic(30.01.2024 05:25)
- Алгоритм прикидывается в табличке. Реализовал такое по
последовательному интерфейсу. Идёт обмен кадрами между МК. Размеры
кадров фиксированы. Кадры поделены на управляющую часть, данные
реального времени и пакетную часть для данных, не критичных ко
времени. Nikolay_Po(1645 знак., 30.01.2024 09:13)
- ...Возможна ситуация, когда обе стороны поднимут свои запросы на
один и тот же тип данных. В таком случае, чтобы не зависнуть без
подтверждений, одна из сторон либо всегда принимает и подтверждает
запросы безусловно, либо всегда подтверждает, даже отказавшись
принять. В зависимости от того, какое направление передачи данных
этого типа приоритетное (приоритеты нужно расставить). ... Make_Pic(95 знак., 30.01.2024 11:49)
- Явно заданных значений приоритетов нет, приоритет данных задаётся в
исполняемом коде. Например, сторона, чьи данные считаются
приоритетными, поднимает запрос на обновление своих изменений и не
снимает его до тех пор, пока другая сторона не подтвердит
обновление. А если наоборот, менее приоритетная сторона запросила
обновление в момени, когда своё обновление запрашивает главный МК,
то главный просто шлёт подтверждение ведомому, игнорируя его
изменения, до тех пор, пока ведомый Nikolay_Po(71 знак., 30.01.2024 15:23)
- Вдогонку - Постоянно читать массивы и полностью их передавать не
надо. Передача происходит только изменения элементов массива.
Вопрос как синхронизировать и отслеживать изменения. Предположил,
что существует проверенный протокол/алгоритм для этого. Возможно
ошибаюсь. - Make_Pic(30.01.2024 07:10)
- мы такое делали, но не по езернету, а по sport'у. - Alex68(29.01.2024 22:09)
- Ну, у серьезного оборудования это называется стекирование. А зачем
бы это потребовалось на МК - не знаю )) - POV(29.01.2024 21:58)
- Непонятка с AT32, с ремапом ног... POV(312 знак., 09.10.2023 22:11, MCU, картинка, картинка, полностью)
- Хочу спросить совета. VVB(2858 знак., 25.01.2024 10:06, MCU, полностью)
- Для тестирования, попробовал вернуться к корням. Оригинальный
проект Nuvoton NUC970_NonOS_BSP из SampleCode/FreeRTOS при "-O3
-flto=auto" в GCC13 с некоторыми несущественными правками (для
устранения ошибок сборки) собирается, но перестаёт работать даже на
стадии инициализации, происходит разрыв отладочного соединения JTAG
в sysSetupCP15(). При уровне "-O0", однако, оригинальный проект
работает. VVB(44 знак., 30.01.2024 09:07, ссылка)
- С WDT разобрался, это мои косяки были в скриптах установки
отладочного соедения. VVB(443 знак., 29.01.2024 11:12)
- Если программа работает, значит количество ошибок четное(С):) Как
уже писали, на "бомбер" (а-ля указатель с левыми значениями) похоже
или преполнение стека. Как ещё варианты - переменная, которая дб
статическая, объявлена на стеке, знаковая переменная типа
таймстемпа вместо беззнаковой, выход за границы массива (уже
упоминалось), прога собрана без -fno-common и один модуль бьёт по
другому, размотанные циклы без барьера. Это всё может приводить к
отложенным чудесатым Vit(8 знак., 26.01.2024 08:33)
- Я бы, вдобавок к питанию, предположил проблему с сигналом RESET.
Короткий пичок по ней или наоборот очень затянутый фронт. Там нога
RESET двунавправленная, может это не учли? Прошивка делает
софт-ресет, а из-за схемы на ножке сброс до конца не выполняется и
проц встает раком. - LightElf(25.01.2024 11:30 - 18:46)
- Исчо я бы проверил, совпадает ли скрипт инициализации с маркировкой
на проце. У камней с маркировкой 61Y/62Y/63Y (то есть имеющие
память разных производителей) - разные скрипты инициализации DDR2
(ЕМНИП) и при несовпадении может быть всякое интересное. - LightElf(25.01.2024 18:44)
- А почему отказаться от МК ?! Tyмблep(1255 знак., 25.01.2024 15:18)
- Я бы попробовал 1) заменить на входе RESET RC-цепочку на м/с SVS;
2) временно попробовать тактировать от внешнего генератора; 3)
временно попробовать без использования Ethernet, если он у вас
используется (кстати, какой у вас PHY и как он тактируется - от
собственного кварца 25МГц или по-другому?). - reZident(25.01.2024 13:07)
- Поставить внешний железный wdt. - ASDFS(25.01.2024 13:02)
- Описанное мною поведение соответствует состоянию "Power-down Mode"
(за исключением того что у меня при сбое работает HXT, а в
"Power-down Mode" он, судя по документации, не должен работать), но
вот в чём дело: у меня в коде нет ни одного обращения к регистру
CLK_PMCON, и нет команды "mcr p15, 0, <Rd>, c7, c0, 4". - VVB(25.01.2024 11:48)
- А первая заповедь ? Исполнена ? akz(528 знак., 25.01.2024 10:47)
- Теоретически может левый код записать что-нибудь такое в нужный
регистр настройки тактирования и вызвать вот это всё? Если так,
можно ли настроить какие-нибудь средства диагностики, чтобы
отловить такую запись? - SciFi(25.01.2024 10:20)
- Есть одна идея по устранении последствий сбоя. Попробую перевести
WDT на тактирование от часового кварца, благо он имеется. - VVB(25.01.2024 10:20)
- как костыль - принудительно перезагружать раз в час изнутри -
скорее всего это поможет... - sav6622(25.01.2024 10:15)
- еще как вариант - всю память НЕиспользуемую прописать возврат на
ресет-старт - sav6622(25.01.2024 10:10)
- Я в подобных случаях в первую очередь - увеличиваю стеки по
максимуму. При повышенной оптимизации требования к стеку могут
вырасти. - il-2(25.01.2024 10:10)
- а просто перейти на -Os и проверить ? может и не будет... - sav6622(25.01.2024 10:06)