- в связи с тем что в мои загребущие лапки едет NUCLEO-N657X0-Q...
очень захотелось испытать этот ихний helium klen(9962 знак., 01.07.2025 23:56, ARM, ссылка, картинка, полностью)
- Столкнулся со странной ситуацией, знатоки STM приглашаются к
обсуждению ;-) LightElf(562 знак., 28.06.2025 19:29, ARM, полностью)
- ГДЕ? Ralex(1 знак., 30.06.2025 11:53, картинка)
- А если влезть в код бутлодыря, там ничего интересного нет? - SciFi(29.06.2025 18:00)
- grok: SciFi(4684 знак., 29.06.2025 14:33)
- Если по регистрам никак - отличай по наличию/отсутствия кварца. il-2(448 знак., 29.06.2025 07:32)
- Зачитай регистр CRS configuration register. Там вполне
индивидуальное значение. - alag57(28.06.2025 21:34)
- Эээ... может я не тот RefMan читаю, но DEV_ID таки отличаются. P.S.
извиняюсь, действительно RefMan-ы разные, а DEV_ID одинаковые :-/ reZident(2 знак., 28.06.2025 20:57, картинка, картинка)
- А чего не 072? Они более идентичны, хотя, конечно, второй круче. И,
кстати, умеет в бутлоадер софтварно... - Eddy_Em(28.06.2025 20:16)
- "Сводный системный топик" :-) по китайской микрухе CH579. Предлагаю
сюда добавлять кто чего нарыл. Для начала гугл-перевод даташита
(побит на две части). LightElf(23.05.2021 22:39 - 23:19, ARM, ссылка, ссылка, полностью)
- На всякий случай перечислю переходнички, из которых очень явно
торчат ноги вышеозначенного CH579 с заводской прошивкой. LightElf(426 знак., 27.06.2025 21:14)
- Хозяйке на заметку. Некоторая часть чипов на некоторых определенных
платах со старта плохо ловит линк. Судя по китайскому коду драйвера
Ethernet не я один такой. Мне помогает такое телодвижение: LightElf(170 знак., 03.04.2025 19:58)
- Резюмируя, стоит закладываться ? интересует по сути только BLE - Aleksey_75(13.12.2024 17:00)
- Столкнулся со странной ситуацией, честно говоря идей нету. Ничего
подобного никогда не видел. Приволокли кучку сдохших плат на
CH579M, платы изрядно поработали и сдохли во время обновления
фирмвари (не шьются). При глубоком исследовании нескольких образцов
обнаружил, что у всех одна проблема: у страницы флеша по адресу
0x8400 не пишется первая половина. То есть сектор (512байт)
0x8400...0x85FF стирается, но область 0x8400..0x84FF после этого не
пишется, остается в FF. LightElf(360 знак., 12.02.2024 21:14)
- Внезапно обнаружил, что англоязычный даташит на сайте WCH для
сабжевой микрухи не содержит описания некоторых регистров Ethernet
(таблица хэшей и фильтр приема пакетов). Выше есть перевод
китайского даташита, в котором эти регистры описаны. Фильтрация по
хэшу у меня, вроде как, работает вот таким макаром (на базе
китайского разъяснения): LightElf(881 знак., 29.12.2023 16:33)
- Огреб странное, хозяйке на заметку. В процессе экспериментов с SPI0
в DMA где-то нахеровертил. И чипец ушел в нирвану совсем, даже по
SWD не откликается. Предполагаю, что DMA непрерывно лупит и шину на
100% занимает. Еле-еле разлочил за счет того, что в ините есть цикл
ожидания готовности кварца. Замкнул кварц пинцетом и стер флешу по
SWD. - LightElf(19.04.2023 14:43)
- Результаты поиска Kpoк(1 знак., 27.01.2023 23:21, картинка)
- 5 дней назад обновился GitHub. Выложили исходники ethernet драйвера
и документацию на английском. Причем и комменты в исходниках
драйвера тоже на Ём, как и примеры, касающиеся сетевых дел... Гyдвин(1 знак., 27.01.2023 19:45, ссылка)
- Интересная статья про CH579 и его Ethernet на Хабре AlexG(1 знак., 14.01.2023 06:57, ссылка)
- Платан > Гyдвин(1 знак., 08.12.2022 22:34, ссылка)
- Наткнулся на пример реализации пользовательского загрузчика с
перенаправлением векторов у китайцев. Без танцев с
бубнами с корявой поддержкой этого дела в чипе. Такой подход мне нравится
гораздо больше. Ну и сохраняется встроенный bootloader для штатной
прошивки через usb/uart если что. Пример проверил - работает.
Прикрепил... Гyдвин(1 знак., 01.12.2022 04:19, ссылка)
- Если интересно - я разобрался со штатным механизмом, вполне
нормально работает. LightElf(2252 знак., 01.12.2022 12:57 - 02.04.2025 13:42)
- Спасибо - RED_DRAGON(01.12.2022 20:56)
- Для пересброса, смотрю, нужно довольно длительное время. Похоже я
вчера как раз с этим и прокололся. Нетерпеливый ;) Метод с
пробросом векторов срабатывает мгновенно. - Гyдвин(01.12.2022 20:23)
- У меня осень была загруженная основной работой. Сейчас полегчало, и
пришел очередной позыв ;) Гyдвин(779 знак., 01.12.2022 15:19)
- Я заливаю свой бут через SWD и первое, что мой бут делает -
отключает нах китайского загрузчика и доступ по SWD. LightElf(713 знак., 01.12.2022 16:04)
- Планирую 579F в массовых девайсах. Надо передать "оживление" в
шаловливые ручки наших паяльшиков. Гyдвин(952 знак., 01.12.2022 19:56, ссылка)
- Млтятььь, забыл еще главное. Мелочь - метки и брелоки. Да еще на
новых принципах. И несколько девайсов, работающих в полях, тоже :(
Вся это байда взаимодействовало между собой, включая то, что
упомянул в предыдущем посте... MSP430, LPC1768, меги328,
СС1101,ENC28, MCP2030, LCD и пр. шалабушки, Гyдвин(370 знак., 02.12.2022 05:25)
- А, блин. У 579F же нету SWD, тогда понятно. - LightElf(01.12.2022 20:16)
- Придется опять юзать Gainta и китайские теперь LCD/OLED....
Наклейка для них обходилась в цену, равную себестоимости всего
остального :) Гyдвин(1 знак., 01.12.2022 20:07, картинка)
- У меня такой вопрос: У тебя похоже железки у же приличное время
эксплуатируются. Как у них со стабильностью работы ethernet? Гyдвин(131 знак., 01.12.2022 14:58)
- Мелкомягкий антивирь ругаеццо на троян в архиве. - LightElf(01.12.2022 13:00)
- Не встречал ли кто отладочной платы, типа arduino, на CH579M, по
проще чем по ссылке? Tech_(1 знак., 19.07.2022 15:53, ссылка)
- Господа пользователи CH57x. Библиотека BLE у производителя только в
кейловском формате LIB существует? есть ли вариант либы для
пользования с gcc? или опробованный с этим камнем опенсорс ble стек
в исходниках? - RED_DRAGON(15.06.2022 21:23)Гyдвин
- Меж тем, чипы в товарных количествах начали появляться на LCSC. "F"
стабильно присутствует 1.5 мес., "M" появился вчера после долгого
отсутствия. Соответсвенно, и наши барыги обещают привезти... Гyдвин(1 знак., 10.05.2022 16:13, ссылка)
- LightElf, какая версия штатного загрузчика в ваших чипах? На моих
китайских платках - 2.7. Сегодня довелось перепаивать контроллер
BLDC (друг приволок). Заодно, наконец, решил набить руку по пайке
CH579M. Все прекрасно сдувается и паяется феном. Сдул, запаял чип
из новой партии. Но, сцуко, в новой партии (заказывали сотню штук)
версия загрузчика 2.8. Если загрузить прошивку их утилиткой по usb,
следующий раз эта утилитка чип уже не видит - загрузчик не
стартует, сколько не Гyдвин(1290 знак., 16.08.2021 17:49)
- Еррата на нее есть на английском? Не нашел типовой схемы включения.
0.35 не 0.5 поставить. - vasily777(04.06.2021 12:46)
- Прислали десяток чипов CH579M c работы. Намереваюсь сдуть со своей
платки и попробовать паять. Но пока не пришла еще пара заказанных у
китайцев платок, чОта очкую - шибко мелкое :) - Гyдвин(03.06.2021 11:53)
- Ну вот как то так... Программатор для заливки загрузчика в платки
при производстве. , чтобы "бибизьянки" чО-нить не намухали :) Гyдвин(958 знак., 03.06.2021 11:43, ссылка)
- Сделал первый подход к аппаратному AES. Пока понял только как
шифровать/расшифровывать в режиме ECB с 128-битным ключем. Более
хитрые варианты (в частности CCM) не особо пока ясны. Вот примерно
что делает кетайская либа при шифровании. LightElf(518 знак., 02.06.2021 19:09)
- Проц среди прочей периферии имеет некий LED Controller. Шо это
такое и куда его применить - понять не удается никак. Если кто
поделится мнением - буду признателен. - LightElf(01.06.2021 20:15)
- Простейший драйвер Ethernet, просто иллюстрация отправки и приема
пакетов LightElf(24.05.2021 18:09, ссылка)
- просто добавляйте к сообщениям тег "CH579" и получите спец. конфу - General(24.05.2021 17:48, ссылка)
- Пины девайса не имеют режима "открытый коллектор/открытый сток".
Аппаратного I2C тоже нет. Следует поиметь в виду. - LightElf(24.05.2021 15:18)
- Поддержка чипа в IAR. FlashLoader, регистры, файлы линкера. Просто
развернуть поверх установленного IAR в соответствующие папки. После
перезапуска IDE камень появится в списке. LightElf(23.05.2021 23:20, ссылка)
- У Cortex-M0 отсутствует регистр VTOR, т.е. перенести вектора
прерываний нельзя. Что несколько неприятно для реализации
бутлодера. LightElf(289 знак., 23.05.2021 23:18)
- Мой топик в конфе ESP8266. - Гyдвин(23.05.2021 23:15, ссылка)
- BLE, NET. Гyдвин(23.05.2021 23:11, ссылка, ссылка)
- GD32F103. Я правильно понимаю, конфликт JTAG и СH1 TIM2? Короче
симптомы. IBAH(466 знак., 27.06.2025 13:22, ARM, полностью)
- В 1921вг015 как перейти в U-mode? COKPOWEHEU(432 знак., 25.06.2025 08:45,
, ARM, полностью)
- Artery AT32F407. Записываю прошивку софтиной ICP Programmer через
программатор AT-Link+. Если устанавливаю защиту FAP, то программа
автоматически не запускается. Приходится переподключать питание
устройства. После этого всё работает как нужно. При этом в
интерфейсе программатора при установке чекбокса Enable FAP after
download становится недоступным чекбокс Jump to the user program. В
документации сказано, что так и должно быть. При этом нигде в
софтине программатора я не FDA(288 знак., 24.06.2025 10:51, ARM, полностью)
- В кйеле есть такое. Неужто в софтине программатора не сделали. POV(1 знак., 24.06.2025 11:02, картинка)
- Я ж про это и пишу. Что если FAP активируешь, то это галка уже не
работает! А ручного сброса в интерфейсе почему-то нет. - FDA(24.06.2025 11:03)
- Есть проги, которые галочки в интерфейсе снимают. Это вы не имели
дело с мегавиновским софтом. У нас, чтобы шить на производстве,
мастерили софт, который имитирует нажатие кнопок в родной оболочке.
В вашем случае можно приладить доптулз, который по команде будет
ресет дергать на плате. - vesago(24.06.2025 12:11)
- Вот как получается. Всё шьётся, но надо потом плату пересбросить.
Вроде мелочь, но когда придётся шить пару тысяч штук, это уже
напрягать будет :-) FDA(1 знак., 24.06.2025 11:06, картинка)
- Задался вопросом - можно ли при помощи stm32 управлять импульсным
источником питания, руля его ШИМ. Оказывается - все уже придумано -
проц STM32G474 имеет таймеры высокого разрешения, спец для этого. и
даже хардверный цифровой фильтр. Правда я пока не понял для чего.
Есть отладочная плата B-G474E-DPOW1 около 6т на али. Я так понял
что управление идет PID алгоритмом. Только не понятно - по идее
параметры PID зависят от нагрузки, и их надо динамически менять,
или я не прав? Mty1(2 знак., 21.06.2025 18:14, ARM, ссылка, ссылка)
- СТМ32 таймер в режиме двухстороннего аппаратного ШИМ, вывод на
порт. Как наиболее правильно сделать защиту по току. IBAH(250 знак., 21.06.2025 15:22, ARM, полностью)
- Не могу понять - ADC с запуском по таймеру, сканирует 5 каналов и
отдает данные через DMA в буфер. Что в однократном что в curcular режиме - DMA делает один проход буфера и останавливается. А мне
нужно в circular режиме непрерывно наливать в буфер. Накидайте идей
- не могу понять. Stm32 f4, CubeIDE Mty1(74 знак., 19.06.2025 13:54, ARM, картинка, картинка, полностью)
- Странный вопрос задам - а Clipped Sine Wave Oscillator подойдет для
внешнего тактового генератора Stm32 ? - Mty1(12.06.2025 19:21, ARM, полностью)
- Gd32f103cb PD0, PD1 и , EXTI - правильно ли я понял, что внешнее
прерывание не доступно для 48 ногих чипов на данных портах(ногах)
?? - Balda(11.06.2025 17:37, ARM, полностью)
- проект выходного дня....вроде заработало! свежак KGP для
riscv32-kgp-elf с поддержкой CH32Vxxx (QingKeV4, QingKeV4B,
QingKeV4C, QingKeV4F) klen(13886 знак., 10.04.2023 03:27, ARM, ссылка, картинка, полностью)
- исходники доступны ? - beefdeadbeef(11.06.2025 12:15)
- А нельзя в атрибут прокинуть параметры какие именно регистры
сохраняются аппаратно? Ну то есть это wch сохраняют все временные,
а вдруг кто-то сделает проц, в котором только ra, sp и пара t0, t1
сохраняться будут - ради экономии транзисторов. COKPOWEHEU(620 знак., 11.06.2025 11:00,
)
- Проблемы запуска исполняемых файлов VVB(2197 знак., 14.04.2023 11:08)
- Вот сделал вменяемый стартап, обёртку над расширением Zicsr и ядром
QingKeV4, управление VTF прерываниями. А то китаёзы даже функцию
разрешения прерываний правильно написать не могут. VladislavS.(4 знак., 13.04.2023 06:45, ссылка)
- все таки они упыри... не добавили стандартные riscv 64 битные
счетчики тактов и инструкций.. злодеяние холодящее души эмбеддеров,
живущих в реалтайме .. 3 китайские копейки сэкономили. правда нужно
отметить что sys_tick 64 битный, в отличие от немощного обрезанца в
cortex-m - klen(12.04.2023 09:32)
- Как все грустно с riscv. Разброд и шатания в реализациях
микроарихитектур его и погубят. Думал пощупать процы на riscv но
теперь понятно что нах-нах. - 3m(10.04.2023 11:05)
- Тема прерываний GD32VF103 не раскрыта. У него есть режим с общим
входом в прерывание и с переходом сразу по таблице векторов
прерываний. VladislavS.(1568 знак., 10.04.2023 08:32)
- RiscV от Миландра в природе были, знаю контору, которая купила
несколько тысяч и они, наверное, так и лежат, потому что при их
объемах это количество ни о чем, а больше уже не купить. AlexG(50 знак., 10.04.2023 05:38)
- ch32vxx: починил поддержку FreeRTOS в openocd для wch-riscv klen(1090 знак., 26.12.2024 15:11, ARM, ссылка, картинка, полностью)
- Не работало с WCH-LinkE. Добавил одну строчку в wlinke.c: Nikolay_Po(2076 знак., 10.06.2025 17:40, ссылка)
- Короче, эта сборка с WCH-LinkE пока не работает, по крайней мере с
CH32V317. Пробую поднять отладку RTOS на WCH-Link-CH549. Товарищ
Клён! Есть просьба. Покажите, пожалуйста, ваши конфиги, в
частности, wch-riscv.cfg для OpenOCD и настройки GDB в самой среде
Eclipse. Пока добился, что RTOS видит. И, если, в стартапе отладки,
снять птичку Continue, то отладка идёт пошагово нормально. Кнопка
перезапуска работает - начинает с вектора сброса опять. Но стоит
нажать "плей" - Nikolay_Po(1292 знак., 04.06.2025 14:03)
- Пробую компилировать. Всё хорошо до момента сборки после компиляции
модулей. Ошибок компиляции нет. Но не находит переменных и функций
из wlinke.c, будто бы этот файл не компилируется вообще (не попал в
make?). Nikolay_Po(5366 знак., 03.06.2025 12:32 - 13:21)
- Товарищ Клён, а нельзя ваши труды смержить с этим:
cjacker/wch-openocd Latest source of official WCH OpenOCD
(2024-11-26 version): Nikolay_Po(1 знак., 03.06.2025 09:29, ссылка)
- Тут товарищи из смежных конференций, спрашивают: Nikolay_Po(136 знак., 26.12.2024 15:57)
- Опять GD32F103, опять SPI. Пауза между прием между передачей байт,
на приеме та же хня. Такое ощущение что флаг RXNE выставляется не
после 8, а после 16 бит. Кто виноват и что делать? IBAH(1451 знак., 04.06.2025 20:41 - 20:46, ARM, картинка, полностью)
- Ну теперь точно постиг дао. Китай загадка покрытая тайной. Секрет в
том что перед проверкой BSY надо проверять TXE. Чтоб я еще с шиной
ABP1 связался! IBAH(1870 знак., 09.06.2025 19:41)
- Всем спасибо! Кажись победил! Путём научного тыка в бубен родил
такой код. Правда пришлось добавить еще одну функцию, занятость
SPI. Немножко придется поправить обмен. IBAH(1313 знак., 05.06.2025 15:24, картинка)
- на стр. 490 при передаче предлагают игнорить RBNE Vit(1 знак., 05.06.2025 13:37, ссылка)
- Ну это понятно, передача у меня так и работает. - IBAH(05.06.2025 14:12)
- что-то там мутное. "в полнодуплексном ведущем режиме (MFD)
оборудование получает следующий кадр данных только тогда, когда
буфер передачи не пуст." Vit(802 знак., 05.06.2025 15:00)
- Хз... Мастер, в полнодуплексном режиме, засылает 16 бит в datar(я
предпочитаю "0", но надо смотреть документацию оконечного
устройства) и, как тока попускает, выгребает из datar данные. При
необходимости, повторить. Чота я смотрю на дискуссию и не понимаю,
обо што разговор. - mse homjak(06.06.2025 12:00)
- Разговор о том, что флаг RXNE выставляется, по факту не когда
происходит завершение приема, а на несколько десятков тактов проца
позже (в моем случае гдето 500нС). В результате стоишь тупо ждешь
RXNE!=0, как дебил. С флагом BSY та же история. - IBAH(06.06.2025 15:18)
- RXNE выставляется после передачи байта. Полюбому, чисто, чтобы вы
не забыли вычитать данные(на самом деле, хуй его знает, зачем этот
флаг). Смотрите первые два сообщения по сцылке про это. И пофиг,
передаётся 8 или 16 бит. Это косяг, ессно. Флаг должэн взводиться
после завершения базовой транзакции, т.к. при передаче одновременно
идёт и приём. Т.е. сигнала BUSY или TXE достаточно. Хотя TXE тожэ
нах не упёрся, они оба-три дублируют друг друга. Нижэ код работы с
АЦП. mse homjak(932 знак., 06.06.2025 18:30, ссылка)
- Этот код ничего не доказывает. Сколько времени проходит между
SPI2->DATAR=(uint16_t)0; и входом в прерывание? я думаю больше
16 тактов SPI, как раз на те самые 500нС - IBAH(06.06.2025 18:41)
- То, что больше, к бабке не ходи, т.к. время на вход, контент, пока
доберётся до загрузки. Но тут по другому нельзя было. А по сцылке,
я пытался в аппаратный NSS, но уй там. Потому, для многобайтных
потоков или программного NSS, нужно просто следить за BUSY безо
всяких прерываний. И чем выше скорость SCLK, тем выгоднее тупой
поллинг BUSY. - mse homjak(06.06.2025 18:47)
- Это у вас ошибочка. Вы ждёте лишнего следующего символа. Нет у периферии такой памяти, чтобы задержать
сигнал на на кучу тактов. Вы просто промахиваетесь с приёмом. Или
пропускаете
бит байт (тогда будет поднят флаг оверфлоу, проверьте), или принимаете
и упускаете один, а потом ждёте лишнего. Nikolay_Po(842 знак., 06.06.2025 15:38)
- Я по всякому пробовал... Мне как раз не нужно буферизированное
чтение. Я на ходу байты разбираю. А в доке по GD32 так и написано IBAH(236 знак., 06.06.2025 16:46)
- Ну да. Не вижу противоречий. Как только взводится TXE, сразу
кидайте следующий байт. Но кидать больше байт, чем у вас длина
транзакции - не нужно. Кинули последний, выключили прерывание по
TXE и ждёте падения BSY. Всё. Транзакция закончилась ровно тем
количеством байт, которое отправили в буфер передачи. Так получите
полностью слитную посылку. Nikolay_Po(1026 знак., 06.06.2025 17:46)
- Я так и делаю... Правда на переполнение Rx чихаю. Может из-за этого
проблемы... Попробую не чихать - IBAH(06.06.2025 18:24)
- Чихайте смело. Дажэ плюйте. Просто контролируйте передачу. mse homjak(317 знак., 06.06.2025 18:53)
- Не катит. ТСу нужна непрерывная передача, а по BSY она будет
дырявой. - Nikolay_Po(06.06.2025 20:29)
- Ну, тогда, канешно, придётся смотреть на ТХЕ. Если он работает как
должэн. Тактовая, порты, делим на 2, СПИ тожэ на 2. Это
максимальная СЦК. У СПИ есть двойная буферизация, когда идёт
передача, в ДАТАР можно записать следующее. Скока там будет, читать
статус, проверить флаг, записать новое, подготовить следующее?
Думаю, быстрее, чем 16*4 тактов. - mse homjak(06.06.2025 22:30)
- Спасибо. Совпадает с моими представлениями. Nikolay_Po(295 знак., 06.06.2025 09:00)
- предложу попробовать поменять строки LL_SPI_Init(SPI2,
&SPI_InitStruct); и LL_SPI_Enable(SPI2); между собой - Vit(05.06.2025 12:21)
- А я вот так с SPI работал vesago(2363 знак., 05.06.2025 11:56)
- У тебя между обменами - 500нс, это десятки тактов МК. Что ты еще
хочешь от программного SPI, да еще через библиотеку, да еще с
ожиданием после каждого байта посылки, т.е. без использования
буферного регистра данных SPI. Так оно примерно и будет, так что
все нормально. - il-2(05.06.2025 06:15)
- Йа каг-то упоролся с СПИ СТМа. Часть моей боли тут, по сцылке. mse homjak(1 знак., 04.06.2025 23:38, ссылка)
- от POV(1 знак., 04.06.2025 21:24, ссылка)
- В листинге все ОК, наблюдаю байтовую запись STRB r2,[r4,#0xc] IBAH(442 знак., 04.06.2025 20:54)
- попробуй перед отправкой еще флаг TXE проверять POV(53 знак., 04.06.2025 20:54, картинка)
- Или проблема в медленной шине APB1 на которой сидит SPI2 ? - IBAH(04.06.2025 20:54)
- Компилятор Кейл. - IBAH(04.06.2025 20:43)
- Продолжение про ST-Link v2. Заказал на озоне новый, за смешные
272р. Прибыл на странном чипе MH2103C8T6. Поначалу вроде все ок -
обновился, прошился, загрузил прогу в проц. Но потом бац - сюрприз.
Даже при отключенном сеансе отладки, и просто подключенном
программаторе основной проц выдает мусор в GPIO порт, вместо
правильных данных, которые туда пихает DMA. Отмыл старый
программатор спиртом, прошил еще раз новой прошивой. Вроде пока
работает без сбоев. Но задача купить Mty1(92 знак., 01.06.2025 21:45, ARM, картинка, полностью)