Поздравляем goddev с днём рождения!
- klfs+ch32v307+w25q512 (обычный spi 30МГц клок) че получилось: klen(2233 знак., Вчера, 21:21 - Сегодня, 12:50, MCU, ссылка, ссылка, полностью)
- А что за хрень тут происходит? Ralex(34 знак., Сегодня, 12:52)
- Надел зеленые очки и повдуплял. Только у меня в очках не тот
оттенок зеленого :) Интересно было бы поганять телегу под линухом.
Только нет интерфейса для io_t и надо вылускивать, что там внутри.
Видно там все на свалку и вызовы библиотечных функций и переменные
и буфера. Вот если бы был интерфейс можно было бы сделать
имплементацию под линх и погонять на тестах и проверить
санитайзерами. Да и функции драйвера можно вынести в класс (если
понял правильно то это framer(15 знак., Вчера, 22:46)
- функции драйвера как раз и вынесены - в параметр шаблона - класс
io_t , а сам io_t тоже шаблонный и имеет параметр - класс драйвер
специфической флехи. klen(25530 знак., Вчера, 23:39)
- сейчас 32-бит контроллера без DMA не очень-то и найти... в
побайтных SPI-трансферах на одних инлайнах/неинлайнах от фантазий
компиляторописателей можно такие разбросы огрести, что все эти
измерения - частный случай. и вам везёт - выбираете флешки без
неравномерного размера страниц по телу (на плюсах должно решаться,
конечно, удобнее)... ну а wait_busy подразумевает либо тупое
ожидание, либо отдано на откуп вытеснению. при 2-х устройствах на
одном SPI решение будет сильно Vit(54 знак., Сегодня, 00:53)
- Как втащить поддержку dma мне понятно. Поддержку синхронизации для
мультпоточности уже всунул. Я имел ввиду свойства самой littlefs. - klen(Сегодня, 01:57)
- так там ещё нужно решать тучу моментов стыковки уровня
сектор-кластер. на DMA это в первую очередь и ложится, но оно
торчит на слой выше голых дров. т.е. это не те дрова. ну и если
явно видно ожидающую семантику, то опять же никаких возвратных
статусов не видно. оно, наверно, выглядит проще, но, КМК, тематика
съедена давно, а реализации как раз и соревнуются в вопросах
синхронизации и кэширования. т.е. там самое интересное, а не в API - Vit(Сегодня, 09:13)
- А ты LFS как-то им коммитил, или только для себя правил?... POV(113 знак., Вчера, 21:50)
- Какбы делал на FatFs от Chan на больших носителях и на мелких своя
файловая система (бейсик контроллер), но временные интервалы
замерить не было идеи. Для вашей реализации расчет показывает , что
на тактовой частоте 30М время передачи данных по SPI ~ 50
миллисекунд. Остальное либо накладные расходы стека либо ожидание
готовности флэша, что сильно менее чем "(write) 424.1мс". Думаю
надо понять , сколько ожидание от w25q512, а потом делать выводы.
Позиционирование Driver_gv(51 знак., Вчера, 21:38)
- Скажите, положа руку на печень. Кто использует динамическое выделение памяти (mallock ) в проектах на МК? Понимаю, что надо mallock применять, но как-то тоскливо. Поагитируйте за и против. - IBAH(08.01.2025 22:21, MCU, полностью)
- Статическое выделение + "динамическое использование"! Объединил в
юнион несколько структур, которые не пересекаются в одно и то же
время. плюс=расходов нет, минус= нужно помнить, кнешна, но это не
сложно - VLLV(11.01.2025 17:22)
- Использую по мере необходимости. Чаще всего причина это или
сторонний код использующий динамическое выделение (TCP-стек,
например) или обработка данных в заранее совершенно неизвестном
количестве (на столько, что не получается просто сразу заложить
максимум). Пришлось добавить блокировку одновременного обращения к
malloc из разных потоков и избавиться от тех сторонних библиотек,
которые вызывали утечки памяти AlexG(120 знак., 09.01.2025 12:29)
- freertos требует динамическое выделение. Отдал ей пару килобайт с
памятью 1-го типа выделения. Всё остальное на статических задачах с
выделением памяти для них собственным аллокатором. Также и
межзадачные сообщения работают с выделенными/освобожденными
сегментами. Аллокатор построен на пулах памяти кратных степени
2-ки. Данный аллокатор использую еще со времен пика с озу 4кб. - abivan(09.01.2025 10:41)
- Почитал ваши ответы, понял, что еще не дорос, какая-то
мультипульность, стоковые аплокаторы... где изучить эту
терминологию? - IBAH(08.01.2025 23:02)
- Случаи всякие бывают. Можно даже представить себе, что какая-то
библиотека выделяет что-то на старте и никогда не освобождает.
Ясно, что в этом случае всё очень просто. - SciFi(08.01.2025 22:41)
- я использую. считаю что пить можно и нужно. что бы печень не
пострадала от радости, это нужно делать грамотно. использую
самоперепиленные o1heap или tlsf. klen(705 знак., 08.01.2025 22:26, ссылка)
- стараюсь не использовать. делал несколько пуловых аллокаторов -
хватало. своё если упрётся в размер или фрагментацию, то знаю что
делать. а там, где стоковый аллокатор обругался, уже можно комом
огрести. ну и кучу оно обычно всю может зохавать, а пул сразу выдан
известного предела. но если не грязно писано, то ничего страшного
обычно в стоковых нет. ну и так как мусоросборщика никто не обещал,
то при неровной нарезке ожидается фрагментация, а вопрос скорости в
непервый раз Vit(286 знак., 08.01.2025 22:26)
- IAR Embedded Workbench for V850 avcel(123 знак., 22.12.2024 10:59, MCU, полностью)
- Напортачил в двух соснах с EXTI (AT32). Не могу увидеть где... POV(253 знак., 31.12.2024 09:43, MCU, картинка, картинка, полностью)reZident
- Подумалось. Вот бы кто-то из товарищей китайцев сделал серию МК под
названием FAT32. Просто чтобы было... - SciFi(31.12.2024 18:05)
- Вы заметили, где этот хитрый лис задаёт вопросы? Случайно? Или
умышленно, чтобы не сохранилось для потомков? - Nikolay_Po(31.12.2024 12:44)
- С наступающим!!! Когда у меня наступают непонятные глюки, всегда
проверяю питание в том числе процессора. У меня были "глюки", когда
прерывание вызывали иголки по питанию от подтягивающего резистора.
А процессор был обложен конденсаторами и до него иголки не ходили.
А еще было, что вместо резистора 10Ком подтяжку сделали 10Ом. И при
нажатии кнопки которая, закорочивала вход процессора на землю,
кнопка заодно закорачивала и источник питания. :) - Sl(31.12.2024 11:51)
- Хз. Может лучше exint_flag_clear делать по конкретной EXINT_LINE_X? - vesago(31.12.2024 10:11)
- а как различать собираемся нажатие и отпускание, если
EXINT_TRIGGER_RISING_EDGE? импульс это бездребезговое? а кнопка? и
ещё - не вкурил зачем else по проверке флага EXTIN_LINE_13. если
buzzer_Beep(500), то это прям в обработчике пищим? - Vit(31.12.2024 09:57)
- кнопки на прерывание??? Ну и ну. Это ж какие они должны быть
идеальные! - Лaгyнoв(31.12.2024 09:54)
- Кнопки бездребезговые? Дай ссылку, интересно - Anvar(31.12.2024 09:51)
- Напомните плз схему подключения MSP430G2 к MSP-fet430uif для
программирования и отладки. - VLLV(30.12.2024 09:30, MCU, полностью)
- Кто-то пробовал интерфейс камеры DCMI использовать для быстрого
получения данных с АЦП или FPGA? Andreas(582 знак., 26.12.2024 16:07, MCU, полностью)
- Вопрос по буферам в LWIP. У меня есть сравнительно большой кусок
данных, который нужно передать, но при передаче надо добавить
"заголовок" и "хвост". Будет ли нормально работать такой код и
лучше ли это чем создание большого буфера на все и копирование туда
данных? AlexBi(355 знак., 14.12.2024 08:44, MCU, полностью)
- Infinneon, будь он проклят, но навязано... Оказалось, что
компилятор среды разработки "Аурикс" доступной версии только "для
опытов", а надо захуяррить весь потеyциал камешка с
неизведанно-непривычной архитектурой 3-core. Товарищи, поделитесь
пожалуйста, если у кого есть. - bnb62(08.12.2024 09:44 - 15.12.2024 09:48, MCU, полностью)
- Графический LCD индикатор 128х64 точки с контроллером ST7541i. Код
чужой. Всё работает. Но зачем запись данных в каждую ячейку памяти
дублируется? Можно это обойти для сокращения времени обновления
экрана? Спасибо. - ssr(16.12.2024 18:31, , MCU, полностью)
- PHY YT8512 никто не использовал? Он примечателен своей низкой ценой
(~40₽ в розницу) и наличием в КОМПЭЛе в большом количестве. Но
информации по нему крайне мало. Есть какие-нибудь особенности?
Может какие-то косяки? - FDA(12.12.2024 04:10, MCU, полностью)
- Примерно два года назад заменили KSZ8081 на YT8912H Michael75(401 знак., 12.12.2024 10:52)
- А можете куском схемы поделиться по подключению его к AT32? И что
меняли в инициализации драйвера? - FDA(12.12.2024 19:27)
- Вопрос: работает ли YT8512H с внешним тактовым генератором 50МГц?
Надо ли при этом подавать 50МГц одновременно и на вход генератора и на вход тактирования интерфейса RMII (вывод
TXC) как у RTL8201F от Realtek? После беглого просмотра datasheet
эти вопросы почему-то остались. P.S. м/с PHY от Micrel весьма
хорошие, ранее применяли KSZ8721BL и KSZ8081RND - проблем не было в
отличии от некоторых тайваньских. - reZident(12.12.2024 11:37 - 12:28)
- Мы используем генератор 25 МГц для тактирования CPU и PHY Michael75(1 знак., 12.12.2024 13:13, картинка)
- Из 25МГц не получается 48МГц для USB Host который у нас
используется. Поэтому применяем кварц 12МГц и кварцевый генератор
50МГц. - reZident(12.12.2024 14:24)
- Получается, если MCO2 как выход 50 МГц не использовать. Генератор
50 мег тактирует физуровень, после делитель на 74LVC1G80 делает 25
мег на проц. - Visitor(13.12.2024 17:50)
- А зачем делить 50МГц до 25МГц? Я посмотрел, что для, например,
STM32F407 ограничение 26МГц применимо лишь для встроенного в МК
генератора, а так от внешнего осциллятора на вход OSC_IN допустимо подавать до 50МГц. И вообще есть даже вот
такая картинка с тактированием RMII и МК от единого внешнего источника 50МГц. P.S. коэффициенты для PLL при этом:
делитель M=25, множитель N=168, делитель P=2. Итого на выходе
PLLCLK получается частота 50МГц/25*168/2=168МГц reZident(16 знак., 16.12.2024 14:25, картинка, картинка)
Не совсем не понял, к чему это замечание, для чего и что такое MCO2? - reZident(13.12.2024 17:55)
- В таком случае вам нужно ставить кварц на 25 МГц для PHY - Michael75(12.12.2024 17:01)
- чёй-то? нафига 25мгц тащить при наличи тактовой с проца? - POV(12.12.2024 13:14)
- Вроде бы всё понятно там написано. Правда, потом на картинке
нарисовали кварц. Чтобы запутать, видимо. SciFi(2 знак., 12.12.2024 11:55, картинка, картинка)
- Кстати, из datasheet какой ревизии эта картинка? В datasheet 2019 и
2021 года такого рисунка с одновременным подключением 25МГц и 50МГц
нету. reZident(1 знак., 12.12.2024 12:13, картинка)
- А как-же "кварц не нужен"? Чем дальше - тем запутаннее :-) Но, как
сказал классик -
Русскогокитайца надо благодарить хотя бы за намерения. - il-2(12.12.2024 12:26)
- Не, дело в том, что если кварц нужен обязательно, то нафиг такая
м/с нужна. Экономия на ее стоимости сожрет стоимость
дополнительного кварца. А без внешнего генератора 50МГц в LPC1768
Ethernet использовать нельзя - баг кристалла, при пропадании
REF_CLK (из-за сбоя внутреннего генератора 25МГц в м/с PHY) у МК
внутренняя шина встает колом. - reZident(12.12.2024 12:32)
- Про это где-то в errata почитать можно? - AlexG(12.12.2024 13:36)
- Да, об этом сказано в User manual. См. ремарку. Мы сами с этим
столкнулись, когда заменили KSZ8721BL с осциллятором 50МГц на
LAN8720A с кварцем 25МГц. Оказалось, что LAN8720A не очень
устойчива к помехам и при воздействии ЭМИ у нее сбивается работа
генератора 25МГц. Соответственно пропадает выходной сигнал REF_CLK
для LPC1768, который в свою очередь стопорится из-за нарушения
тактирования внутренней шины. reZident(1 знак., 12.12.2024 14:18, картинка)
- Думаю, это не баг, а фича, и выражение "внутренняя шина колом"
вызывает вопросы. Использую STM32 в таком режиме. Если из-за
дефекта на плате 50 МГц не приходит на REF_CLK, то виснет вот на
этой строчке: "while ((ETH->DMABMR & ETH_DMABMR_SR) != 0) ; //
wait for core reset to complete" - SciFi(12.12.2024 13:53)
- Если вас интересует мнение человека, который в этих ваших PHY
ничего не понимает - т.е. абсолютно не предвзятого :-) il-2(306 знак., 12.12.2024 12:09)
- Вот такие коллизии и вводят в ступор. У Micrel-овских PHY всегда
применялся один источник тактирования - либо собственный генератор
с кварцем 25МГц, либо внешний кварцевый генератор 50МГц. А у этих
китайско-тайваньских изделий хрен поймешь, чего им надо? - reZident(12.12.2024 12:02)
- Я еще только на начальном пути ее использования, каких-то
особенностей или косяков не замечаю, использую ее самый базовый
функционал вместе с AT32F407 и LWIP, на столе все работает. - AlexBi(12.12.2024 09:04)
- lwIP DHCP+SNMP. Настроил DHCP, адрес получаю путём проверки
условия: FDA(356 знак., 14.12.2024 21:13, MCU)
- Нужна помощь бывалых. Есть железяка max(180 знак., 04.12.2024 20:58, MCU, полностью)
- Надоело использовать научный тык. Посчитал эмбедерский фильтр
экспоненциального сглаживания. Шмалите пацаны, у Чебурашки который
ищет друзей, парники. IBAH(2813 знак., 30.11.2024 17:52, MCU, полностью)
- Ребята подскажите , простенький проц от GigaDevice Cortex-M23 чем
отлаживать, слышал что народ его дебажит ST-link. Но что то с ходу
в кейле не получилось, цепляюсь кнему но шагать не дает, или
отваливается сразу. Использую клон дешовый с Алишки в качестве
STlinka. Нужно ли GD LINK покупать, можно конечно и купить но что
то ждать не хочется. - PeterD(19.09.2024 20:41, MCU, полностью)
- CMSIS-DAP с Cortex-M23 работает. У ST насчет камней на M23 не
слышно. M33 есть, но оно всё-таки не M23. Сомнительно. Ну и
предложения по J-Link OB тоже сомнительны, ибо там в основе J-Link
v8. Ядра M23, M33 поддерживаются J-Link v10+ Vit(207 знак., 01.12.2024 12:20)
- Кому интересно. Короче какая та жопа с этим GigaDevice так и не
смог его зацепить программатором, причем разорился и прикупил вроде
как оригинал GD-Link на алишке, хер там, осцилом смотрю вроде
программатор что то шлет процику тот в ответ по клокам молчит. .
Поменял его сначала на GD32F130F6P6TR пин ту пин теже яйца не
цепляется. Заменил его на Artery AT32F421F8 пин ту пин в этой же
плате, завелся без всяких вопросов. - PeterD(14.10.2024 16:03)
- GD32F103/105/303/405 - нормально работают с ST-Link, в Кейле и
через ST-Linl Utility. Проблема может быть не в программаторе, а в
зашитой программе. При использовании в программе спящего режима и
неправильной настройке модуля DEBUG даже STM-ки перестают работать
через ST-Link - il-2(20.09.2024 06:02)
- Что за проц? Может новый и старая прошивка стлинка его не
поддерживает, надо обновить. - Andreas(19.09.2024 23:00)
- Да по идее должен. Ну разве что частоту может понизить. С данным
типом конкретно дела не имел. Остальные гигадивайсы с полтыка
работали через стлинк. - vesago(19.09.2024 21:36)
- Кто-нибудь запускал SNMPv3 из стека lwIP? SNMPv2c запустился сразу
из примера, далее я стал разбираться с v3. Ему нужна внешняя библа
mbedTLS. Скачал её, добавил в проект. Но получаю ошибки типа FDA(199 знак., 06.10.2024 14:47, MCU, полностью)
- Ура! Заработало! Проблема была в том, что не хватало места под
таймеры FDA(705 знак., 06.10.2024 19:24, ссылка)
- Если не секрет, какого типа оборудование? По идее, должно быть
что-то около-сетевое. Для моих разработок, пока не возникало
потребности в реализации SNMP вообще. Но у меня сетевого пока и не
было. - Nikolay_Po(06.10.2024 17:46)
- Так, каким-то чудом я всё таки запустил SNMPv3. Но работает всё
крайне нестабильно. При запросах HTTP, а иногда и простых UDP
прошивка перестаёт работать. Раз через раз отладчик показывается,
что мы всё время попадаем в функцию FDA(98 знак., 06.10.2024 15:31)
- Генерация случайных чисел. Что там под дифаном
MBEDTLS_NO_PLATFORM_ENTROPY? - Nikolay_Po(06.10.2024 14:59)