- [09.01.2024] по ходу подпрыгивании на тему "подъема-взлета"
ch32v003 всунул в него CoreMark. промерил... klen(16022 знак., 01.07.2023 02:44 - 09.01.2024 17:13, MCU, ссылка, картинка, полностью)
- Как все таки включить релакс? - petrd(18.01.2025 21:47)
- Кажись разобрался. Это же V003 у него RAM всего-то 2 Кб (0x800).
При любом раскладе petrd(275 знак., Вчера, 21:41)
- Кстати - интересный вопрос!!! У меня релакс работает, и я этим
вопросом не задавался. Щас сижу и чешу репу :-) Могу предположить,
что оно работает само, когда в линкер-скрипте задано
__global_pointer$ - il-2(Вчера, 09:36)
- Кагтатаг, чота в коде меняется, но по временам, не шибко заметно. mse homjak(77 знак., 18.01.2025 22:33)
- Спасибо! - Evgeny_CD(10.01.2024 12:10)
- Ща полезу в 303. Чуйствую, повеселюсь. Кстати, никто не знает, где
у них обозначение номера лота. Там, походу, версии жэлеза разные. В
документаццыи "ордеринг" тока инфа о кристалле. mse homjak(1 знак., 09.01.2024 17:58, картинка)
- Блять, старый вариант жэлеза. mse homjak(29 знак., 16.01.2024 12:30)
- Таков
китай путь. Я уже наелся с ревизиями geehy apm32f40x. Теперь только
оригинальные stm32 с ними хотя бы жизнь предсказуема и другое
принципиально несовместимое железо с тем же ordering code не
получишь. - 3m(16.01.2024 18:25)
- Да херня делов, ношка недоремапилась. Можно подумать у СТМ сильно
лучше. Думаю, там есть такая-жэ ревизия. Периферия-то драная с СТМ.
По крайней мере, я упарывался с китайцким СПИ по документации и
исходникам от СТ. Убогий СТшный СПИ китайцы перетащили себе
полностью. Со всеми багами и уродством - mse homjak(16.01.2024 19:10)
- Занялся времянками FSMC. В *.h файлах, по этому поводу трэшь и
угар. Диапазон регистров от 0xa0000000 0xa0000108 умещон в скромные mse homjak(339 знак., 02.02.2024 10:31, картинка)
- Кароч, если закладывать внешнюю память как 16р, адресаццыя будет
идти к словам(что ессно). Т.е. "А0" херится, адресная шина
сдвигаецца вправо: ...A16->A15...A1->A0. Т.е. nALE
защолкивает А16...А1 по шине AD15...AD0. Доступ к байтам, через
соотвецтвующие чипселекты. Если обращаться к словам, то чипселекты
можно похерить. В документации написано как-то мутновато, пришлось
пару раз упороться головой. Тем более, первый раз пользую
ГоВиновскую память, там чутка не так, mse homjak(14 знак., 04.02.2024 21:00)
- New File, NewFolder - это каменный век. Где "Upload to Cloud", я
вас спрашиваю? - SciFi(02.02.2024 10:31)
- Прикольно, на 303@144МГц слелал ногодрыг. Получил 24МГц. Ну, вроде
и нормально. НО! Оселограв показывает меандр! Но в цикле участвуют
три команды: две загрузки в порт и джумп. Где джумп? Сожран тактами
синхронизации с шиной периферии? Так она тактируется теми-жэ
144МГц. В принцыпе, насрать, но интересно. Ну и обычное: примеры
"ис каропки" такие себе. Приходится исправлять и дописывать. Ну на
то он и дарёный конь. - mse homjak(14.01.2024 22:02)
- этот мк лучше по потреблению/быстродействию stm8s003 будет на
32кГц? Что то в даташите нет характеристик на минимальных частотах.
halt c выходом по таймеру интересует. - jlm(02.11.2023 14:32)
- Спасибо! Титанический труд! - Evgeny_CD(29.10.2023 20:08)
- Шел 107 месяц самого длинного года в истории Человечества... - Evgeny_CD(29.10.2023 20:07)
- Играясь с делителем частоты тоже окирпичил контроллер. Однако
удалось восстановить с помощью earvest(197 знак., 16.08.2023 14:10, )
- Походу, это работает для V3 и V4. CH32V203F8P6, например. Но и у
неё, "из коробки" MRS, порядка 100нС. mse homjak(552 знак., 14.07.2023 07:08, картинка)
- я всетаки не понимаю - я баран или они мудаки. опять про spi -
смотрим примеры из MounRiver, пример для spi - ни в одном примере
нет дергания nss руками, одновременно ни в одном примере не указано
что межу мастером и слейвом нужно тянуть провод CS. оно че??? само
телепатически?? примеры с ошибками - компилятор их пошлет эти
исходники пока руками не исправишь. как это все понимать? klen(5780 знак., 13.07.2023 12:50)
- мне всегда было интересно - а кто победит? грузовик или вертолет
связанные цепью.? можно отмапить gpio так чтобы pc0 была spi1 nss,
и одновременно usart1 rx, и подключить как gpio input. как всегда
победила цепь! что было в голове у людей когда они его
проектировали. и у тех что копировали? загадка. дождевой червь
являет более разумное поведение. - klen(12.07.2023 15:43)
- мудаки. они скопировали spi из stm32f103 - опять мастер не умеет
управлять сигналом NSS. фильм ужасов который смотреть не страшно но
противно. - klen(12.07.2023 14:29)
- Да. Там ещо прикольнее, сигнал RXRdy формируется только после
приёма 8р. Дажэ если установлена работа с 16р. А с NSS ваще позор.
Ну выведите просто сигнал Busy и будет всем щастя. - mse homjak(12.07.2023 14:37)
- да .. мечта использовать dma c spi китайцами просрана. даже ребенок
бы так не сделал бы. ST - злое зло, само нагрешило и совратило
других. а это еще более тяжкий грех. тут все понятно и печально.
переходим к многострадальному i2c, который человечество только
программно без ошибок научилось делать :( - klen(12.07.2023 14:49)
- Мне порты очень понравились. Я с помощью ДМА сделал закос под УАРТ
на 16 бит. Разложил состояние пина в ОЗУ и по таймеру вывожу в порт
с помощью ДМА. Так и СПИ сделать можно, только скорость в два раза
меньше и памяти в два раза больше. Ну то такэ... - mse homjak(12.07.2023 14:55)
- я тоже так делаю, но память под буфер нужна. а тут ее чуть больше
чем ноль. к тому же нельзя выводить на порт меньше 8 бит в ширину. - klen(12.07.2023 14:59)
- Можно. Регистр BSHR. Хоть один бит, хоть 16. Одновременно
сбрасывать и устанавливать. Одной командой. - mse homjak(12.07.2023 15:20)
- это умное предложение но мне не понятно как dma обяснить что
единыцы пейсать в BSHR в низнее полуслово а нули это тоже единицы и
писать в верхнее. - klen(12.07.2023 15:37)
- Зачем? Нужно установить энный пин в "1", пишете в соотвецтвующее
полуслово "1". Одновременно, можэте сбросить эммый пин, написав "1"
в другое полуслово. mse homjak(205 знак., 12.07.2023 16:12)
- еще раз. я не пишу руками, я хочу чтоб это dma делала. а ей память
нужна. - klen(12.07.2023 16:57)
- Спору нет, нужна. Но, как вариант, чому бы и ни? Мне, например,
выбирать не приходится: один СПИ на АЦП и всё. По таймру в
прерывания, скушно, вызов памяти сожрёт не меньше, плюс, время. А
так, зарядил ДМА таймером и в фоне вычисляй пока там передаётся. - mse homjak(12.07.2023 22:43)
- Немного времени освободилось. Давай поисследуем. VVB(353 знак., 12.07.2023 08:37)
- Спасибо!Спасибо-2! - mse homjak(09.07.2023 17:18)
- Столько полезной информации... Eddy_Em(108 знак., 03.07.2023 07:50)
- доковырял rrc - есть новые сведения.. минус две микросхемы klen(2539 знак., 02.07.2023 17:15, картинка, картинка)
- Имею тожэ -2 микросхемы, но ужэ 203. Пользоваться дармовыми
стартовыми прожэктами нужно очень осторожно. Забанил ненужную мне
инициализацию УАРТа и порт А остался невключонным в РСС. - mse homjak(12.07.2023 12:14)
- Кстате, у МРС-ногосистем инита, в плане клоков, сделано достаточно
умно: там сперва определяется, есть ли кто снаружи и только потом,
подключается ХСИ. Т.е. из косяков с подключонными портами есть
какой-то выход. - mse homjak(02.07.2023 18:27)
- Не помню, где читал, что из траблы с клоком можно выйти, путём
зажатия сброса. Или задействовать сброс от свистка. Наверное. Можэт
быть... А картинка hse-pll как раз, говорит о том, что ПЛЛ есть. И
немного гудит. Коэффицыент демпфирования плохо подобран. На схемке
умножителя от фронтов болтало бы фронт, противоположный
синхронизаццыи осцылла. Да и то, навряд-ли. HSE у вас хороший. - mse homjak(02.07.2023 18:15)
- А нет ли там специального зашумления клока, чтобы срач уменьшить? - Evgeny_CD(02.07.2023 17:37)
- Спасибо. А где заголовочные файлы брали? Неужто самостоятельно
писали? - Eddy_Em(01.07.2023 13:01)
- Похожее с китайского форума. NonStop(1 знак., 01.07.2023 12:34, ссылка)
- Спасибо! Можно уточнений? Nikolay_Po(350 знак., 01.07.2023 11:50)
- да klen(560 знак., 01.07.2023 12:57)
- Спасибо, прикольно, "если уметь их готовить". Только цэна 20р. - mse homjak(01.07.2023 09:15)
- Спасибо! - Evgeny_CD(01.07.2023 03:20)
- klfs+ch32v307+w25q512 (обычный spi 30МГц клок) че получилось: klen(2233 знак., 12.01.2025 21:21 - 13.01.2025 12:50, MCU, ссылка, ссылка, полностью)
- Что интересно, у меня ни разу не возникало желание иметь файловую
систему. Открывать/закрывать файлы, делать там seek/read/write?
Обычно есть калибровочная таблица - просто кусок флеша, который
несложно стереть/записать/прочитать. И настройки пользователя,
которые по сути структура, и её кусочки могут часто меняться. У
меня реализовано в виде дописывания журнала изменений, ну и при
старте этот журнал разматывается, воспроизводя структуру в ОЗУ. - SciFi(13.01.2025 20:31)
- А что за хрень тут происходит? Ralex(34 знак., 13.01.2025 12:52)
- а я предупреждал! ваш любимый С в олбанском стиле нужно смореть
через зеленые стекла... не поверили :) что характерно! код имеет
Copyright (c) 2017, Arm Limited. All rights reserved. - klen(13.01.2025 18:39)
- Если ошибки не возникает в принципе, то возвращается значение типа
int, даже если тип err был другим. Такое может быть полезно как
затычка, для случая, когда ошибок быть не может - чтобы сделать
неявное приведение типа, когда err не int, а какой нибудь другой
тип, например, enum или что там в Плюсах может быть. Если кусок
кода не генерирует ошибки - возвращаем ноль и не паримся с типом. В
других случаях возможны предупреждения компилятора. - Nikolay_Po(13.01.2025 18:18)
- Недавно читал пост, в котором автор подобного фрагмента объяснял
его появление тем, что он гуманитарий AlexG(52 знак., 13.01.2025 16:33)
- err имеет внутренние значения (0 - нет ошибкИ, не ноль - код
ошибки). И вот "наружу" согласно API надо выдать 0 (false?) если
есть ошибка (!err) - как вариант почему так могло получиться - POV(13.01.2025 15:53)
- И не такое встречается :-) il-2(1 знак., 13.01.2025 15:42, картинка)
- Надел зеленые очки и повдуплял. Только у меня в очках не тот
оттенок зеленого :) Интересно было бы поганять телегу под линухом.
Только нет интерфейса для io_t и надо вылускивать, что там внутри.
Видно там все на свалку и вызовы библиотечных функций и переменные
и буфера. Вот если бы был интерфейс можно было бы сделать
имплементацию под линх и погонять на тестах и проверить
санитайзерами. Да и функции драйвера можно вынести в класс (если
понял правильно то это framer(15 знак., 12.01.2025 22:46)
- А ты LFS как-то им коммитил, или только для себя правил?... POV(113 знак., 12.01.2025 21:50)
- Какбы делал на FatFs от Chan на больших носителях и на мелких своя
файловая система (бейсик контроллер), но временные интервалы
замерить не было идеи. Для вашей реализации расчет показывает , что
на тактовой частоте 30М время передачи данных по SPI ~ 50
миллисекунд. Остальное либо накладные расходы стека либо ожидание
готовности флэша, что сильно менее чем "(write) 424.1мс". Думаю
надо понять , сколько ожидание от w25q512, а потом делать выводы.
Позиционирование Driver_gv(51 знак., 12.01.2025 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
- Напомните плз схему подключения 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)