- Захотел пошить GD32F103 в Keil5, нагенерировал проект в Cube,
открыл в Кейле, заменил МК с STMа на GD, ошибка линковки "error:
L6236E: No section matches selector - no section to be FIRST/LAST."
Что я делаю не так? - IBAH(22.03.2025 21:51, ARM, полностью)
- Ребята,а где вообще качают stm библиотики? наблюдаю юзер мануал Balda(161 знак., Вчера, 11:51, ARM, полностью)
- Между попытками найти почему у меня запись во флешь вызывает
странные последствия решил проверить относительное быстродействие
при исполнении программы из флеш и из ОЗУ для AT32F407 Результат
получился не очевидный. В эксперименте процессор работал на частоте
близкой к максимальной (225МГц), программа выводила 0-1 на ножку,
скриптом линкера помещал программу в разные участки памяти и
смотрел осциллографом период сигнала на выводе. Результаты
получились такие: AlexBi(160 знак., 21.03.2025 21:28, ARM, полностью)
- Возникла непонятная проблема при записи во встроенную флеш у
AT32F407. Запись ведется при исполнении программы из этого же
флеша, в область не занятую программой. Перед записью работают
уарты, таймеры, ацп, дма, ethernet, ни чего не запрещается, только
запрещаются прерывания через __disable_irq() То, что программа
остановится на время записи меня не смущает. Запись в итоге
выполняется (записывается один сектор), но после записи программа
может улететь не пойми куда, что AlexBi(175 знак., 21.03.2025 12:30, ARM, полностью)
- Насколько периферия CH32V схожа с CH32F (Таймеры и пр.)? vpv.vpv(395 знак., 19.03.2025 11:11, ARM, полностью)
- Большое всем спасибо! Теперь как-то энтузиазму поприбавилось. )) - vpv.vpv(19.03.2025 13:48)
- периферию шью по докам от СТМ, но одним глазом смотрю в родную.
Пока проколов не было. Дажэ наоборот, в ВЦШной, у СПИ нарисовано,
что только ЛСБ(илиМСБ) лезет первым, но если программировать по
СТМовской, то лезет первым и тот, и тот. - mse homjak(19.03.2025 12:11)
- С CH32F периферия должна совпадать почти полностью, там даташиты
даже общие. Про STM32F читать можно, но имейте ввиду, что CH32 не
копия, очень очень похожие, но другие МК. AlexG(71 знак., 19.03.2025 12:03)
- Даже не столько ch32f, а stm32f. Большая части периферии, похоже,
взята оттуда. Да и информации по STM-кам больше. Разве что эта
информация перемешана с мусором вроде ST-HAL. COKPOWEHEU(152 знак., 19.03.2025 11:39,
)
- Да. - petrd(19.03.2025 11:21)
- Да, так и надо делать. - SciFi(19.03.2025 11:13)
- Вот такой вопрос по HardFault. Вроде как обычно (у меня по крайней
мере) четко отрабатывалась ситуация выхода индекса за пределы
массива. И МК впадал куда надо. Но вот обнаружилась ситуация, что я
превышаю границу массива, никто никуда не впадает, рестарта не
происходит. Но зато непредсказуемая порча переменных, которые вроде
как даже рядом не лежат с этим массивом. При чем этот массив у меня
в памяти SRAM2 (STM32L476). А портились переменные в памяти SRAM1.
И еще о Лaгyнoв(229 знак., 18.03.2025 10:10, ARM, полностью)
- Скажите, есть ли где описание ассемблера для CH32V003 / CH32X035
(QingKeV2/V4)? Гуглится что-то типа
"QingKeV4_Processor_Manual.PDF", но на сайте WCH даёт или китайские
иероглифы, или 404. - vpv.vpv(14.02.2025 10:27, ARM, полностью)
- нормально скачивается через хром+VPN - DVV(27.02.2025 20:11)
- Кстати, никто ещё IAR EW RISC-V 3.30.1 не пробовал? там заявлена
поддержка устройств V003 и V203 vpv.vpv(140 знак., 26.02.2025 11:50, ссылка)
- Сегодня коллега исследовал chatGPT на предмет написания
программулины для RISC-V CH32V. Результат не тестировался, но
выглядел достаточно достоверно :) - VLLV(25.02.2025 17:15)
- Вот основные доки для этих процов LightElf(62 знак., 24.02.2025 20:24, ссылка, ссылка)
- Не видел у WCH документов по ассемблеру для CH32V. А в
"QingKeV4_Processor_Manual", RM и DS о нем точно ничего нет. Это же
стандартный ассемблер для RISC-V + немного от себя: petrd(847 знак., 14.02.2025 11:29)
- Понятно. Нашёл какой-то "Risc-V card", в принципе, почти то, что
хотел. Мне бы только к мнемонике привыкнуть, чтоб листинги
осмысленно смотреть .)) - vpv.vpv(14.02.2025 12:04)
- в Upload выложил черновик инструкций RISC-V RV32/64 IEMC Zikon(671 знак., 24.02.2025 19:52, ссылка)
- Спасибо! Тоже выложил какую-то шпаргалку и более-менее развёрнутое
руководство по RISC-V (какое нашёл). Может кому будет интересно.
Так-то примерно всё понятно. Условные переходы обозвали как
бренчи... Но общий пазл пока не сложился. )) - vpv.vpv(25.02.2025 07:23)
- Подумаваю в будущем заменить Атмеги/Аттини AVR на мелкие CH32V
(которые 5В/20мА I/O). Главное - встретил упоминание о "Command
Line Tools". т.е. врозможность программировать их тыщами. Скачал
MRS, получил с Али демо-платку и Link-E, поиграюсь на досуге. :)) - vpv.vpv(25.02.2025 07:33)
- мелких надо v002, v004 ... посмотреть Zikon(314 знак., 25.02.2025 10:56)
- А USB dev/otg как у стм32F103/F105? - Andreas(03.03.2025 11:54)
- V203G8 то же самое: два USB вывели, а вот ноги кварцев забыли. А
еще с интерфейсом программирования накосячили: не через UART1, как
у всех, а через UART2. Ну хоть boot0 на месте. - COKPOWEHEU(03.03.2025 11:41,
)
- Да, для мелких 003, видимо, посчитали, что интерфейсов I2C и UART
на ногах будет достаточно. )) По питанию, я так понял, vpv.vpv(356 знак., 25.02.2025 12:18)
- CH32x035 - наконец-то понял почему буква X в этой серии ! Zikon(454 знак., 13.03.2025 08:10, ARM, полностью)
- CH32V003. Смотрел на работу внутренностей, хотел посмотреть как
работает предсказатель переходов и наткнулся на сопутствующее
непонятное (для меня) поведение. petrd(1878 знак., 07.03.2025 08:42, ARM, картинка, картинка, полностью)
- А почему код такой большой и стек используется Zikon(1382 знак., 07.03.2025 12:38)
- выравнивание команд на куда переход идет - 2 и 4 байта играет роль
- скорее всего ! Zikon(134 знак., 07.03.2025 11:32)
- Вот интересная статья, но только с ch32x035 может чем-то поможет ! Zikon(1 знак., 07.03.2025 09:19, ссылка)
- Предположу, что выравнивание инструкций во флеш меняется, отсюда и
время доступа к ним, wait state. - Nikolay_Po(07.03.2025 09:06)
- Мужик пишет письмо на спичечную фабрику: "Я на протяжении 10 лет
покупаю спички Вашей фабрики и считаю количество спичек в коробке.
Вы их кладёте то 59, то 60 штук, иногда 61, а вчера положили 56. Вы
что там, совсем ебанутые?" - POV(07.03.2025 08:55)
- 8-D - Vit(07.03.2025 08:58)
- А как там флеш, задержки при чтении, предвыборка кода? Погрешность
измерения слишком велика, чтобы достоверно намерить 2 такта, КМК. - SciFi(07.03.2025 08:47)
- Ребят, а как можно по средствам LWIP вытащить широковещательный
пакет изернет и посмотреть его до кишек с Хеадерами итд итп, а так
же отправить пакет.. Возможно тут lwip вообще не причем? Eth
lan8720.. Грубо говоря на канальном уровне - Balda(05.03.2025 15:05, ARM, полностью)
- Господа, а что такое субприоритет в прерываниях STM32? Приоритет
понятно, а субприоритет? Это что приоритет в приоритете чтоль? Чет
никак ни всосу. - Balda(28.02.2025 21:45, ARM, полностью)
- Незатейливый вопрос - нужно в цикле делать переменную сначала 0
потом 1. Кто как делает? Mty1(38 знак., 27.01.2025 13:12, ARM, полностью)
- ну ды нк ЯВУ домножением на -1, если "int 1" или инверсия если
"логическая переменная" , а на ассемблерах XOR. Если ЯВУ, то какой
смысл "ловить блох" на такой редкой операции и оптимизировать по
скорости?? ну как-то так. - Adept(28.02.2025 15:24)
- Тык VladislavS.(1 знак., 27.02.2025 23:32, картинка)
- XOR наше всё! - Yft(27.02.2025 14:53)
- пришло время освежить ветку... POV(5 знак., 27.02.2025 14:04, картинка, картинка)
- (i++) & 0x1 - 0x1(26.02.2025 15:22,
)
- btg PORTA,5,0 - Бapбoc(29.01.2025 18:33)
- int before = x, after; do { after = rand() & 1; } while (before ==
after); x = after; - SciFi(29.01.2025 13:04)
- x = 1 - x - acex2(29.01.2025 12:59)
- if((Делаете для себя)&&(тип bool)){можно xor 1;} else{
только х=!х; } - CтpaycTpyп(28.01.2025 14:51,
)
- обсудили тут в своем коллективе. Пришел(я не знаю как они) к выводу
если переменная bool то правильно x=!x, если uint то можно и x ^=
1; abivan(361 знак., 28.01.2025 12:17, картинка)
- bcpl adr, #bit - argus98(28.01.2025 11:53)
- x ^= 1; - Cкpипaч(27.01.2025 19:24)
- не хрен ! if (x == 0) x = 1; else x = 0; - De_user(27.01.2025 17:24)
- булевы операции экономичней в плане ресурсов. Поэтому - второе - bodis(27.01.2025 16:37)
- бережоного бох бережёт, сказала монашка =AlexD=(55 знак., 27.01.2025 15:55)
- А вот у меня с "начальной школы" в памяти отложилось, что результат
логических операций либо ноль, либо ненулевое значение. А люди
тыкают в Госты, а там 0 и 1! Откуда у меня это заблуждение? Из
Бейсика? Фортрана? Кернигана-Ричи? - IBAH(27.01.2025 15:31)
- в смысле? Nikolaev_Aleksey(23 знак., 27.01.2025 15:00)
- AND ? Tyмблep(18 знак., 27.01.2025 13:20)
- В смысле? mse homjak(12 знак., 27.01.2025 13:15)
- Сборник граблей STM32, по наводке с Хабарки. Toчкa oпopы(1 знак., 23.02.2025 11:15, ARM, ссылка, полностью)
- Подскажите, где и как у всяческих CH32 посмотреть "lot number"?
Вчитался в referece manual и понял, что китайцы наплодили заметно
отличающихся ревизий кристаллов. - AlexG(12.02.2025 09:00, ARM, полностью)
- UPD. Программное определение лота возможно LightElf(1270 знак., 13.02.2025 14:55 - 14.02.2025 15:15, картинка)
- В главе 33 пишут, что регистр R32_EXTEN_CTR2 (0x40023808)
существует только у более кошерных лотов. Можно попробовать его
почитать-пошевелить. LightElf(188 знак., 12.02.2025 19:57)
- А где в мануале такое, что есть разница? Семейства у них есть,
всякие там D6, D8, D8C, D8W - но они жестко к моделям прибиты и
описаны в табличке: LightElf(84 знак., 12.02.2025 15:10)
- Кокойты нутряной регистр. - mse homjak(12.02.2025 13:03)
- Кто-нибудь пробовал в МК похожих на CH32F207 переключать туда-сюда
HCLK на лету? Что-то у меня после такого передача пакетов Ethernet
ломается, хотя прием продолжает работать. AlexG(34 знак., 25.01.2025 14:21, ARM, полностью)
- UPD2: Дело похоже в поле CR регистра ETH->MACMIIAR, в которое
при HCLK 144 МГц нужно записать не описанное в китайской
документации значение 1 - AlexG(03.02.2025 13:56)
- UPD: эффект похоже связан со встроенным PHY, т.к. возникает когда
MAC еще не инициализирован и устраняется передергиванием сетевого
кабеля. Если кабель не был подключен - не возникает. - AlexG(27.01.2025 10:45)
- В мануале на CH32V207 (c 479) наблюдаю "When using an Ethernet
transceiver, the clock of the HB bus cannot be lower than 50MHz".
Проверьте значение - Vit(25.01.2025 17:45)
- в каком плане похожих, и куда и когда тактовую переключаем? может у
вас таймауты какие с константами, рассчитанными для фиксированной
частоты, на ходу разлетаются, а вы на кремний смотрите с
ethernet-передачей - Vit(25.01.2025 14:55)
- Похожие это, как минимум, STM32F207 и CH32V307. В принципе, всё
STM-образное с ethernet'ом. Возпрос возник из-за того, что у
CH32F207 есть ограничение по допустимой тактовой при записи во
flash. Я пробую тактовую на время снизить, поработать с flash,
затем вернуть тактовую как было. После возвращения получаю
отсутствие ethernet-пакетов от устройства. Из таймеров кажется,
только systick и используется, плюс используется CAN, у которого
часть пакетов в процессе бьется. Вообще AlexG(88 знак., 25.01.2025 16:45)