Связанные сообщения
- Я извиняюсь народ.) Но пролейте пожалуйста свет кто чем сейчас
programmирует чипы на RISC-V?2023-11-07
- Столько полезной информации...2023-07-03
- У ядра QingKeV4 есть расширенный набор коротких команд. Их пока
только WCH-ный GCC порддерживает.2023-04-06
- Траблы с WCH для CH32V203RBT6.2023-03-24
-
- Как все таки включить релакс? - petrd(18.01.2025 21:47)
- Кажись разобрался. Это же V003 у него RAM всего-то 2 Кб (0x800). При любом раскладе petrd(275 знак., 19.01.2025 21:41)
- Кстати - интересный вопрос!!! У меня релакс работает, и я этим
вопросом не задавался. Щас сижу и чешу репу :-) Могу предположить,
что оно работает само, когда в линкер-скрипте задано
__global_pointer$ - il-2(19.01.2025 09:36)
- Похоже, что так оно и есть. il-2(179 знак., 19.01.2025 09:49, ссылка)
- В линкере есть PROVIDE( __global_pointer$ = . + 0x800 ), только не
помогает, потому что вот petrd(245 знак., 19.01.2025 10:05)
- а чему равен этот __global_pointer$ ? Смотрел в .map? - il-2(19.01.2025 10:07)
- Смотрел, вот : 0x0000000020000800 PROVIDE (__global_pointer$ = (. +
0x800)) - petrd(19.01.2025 10:14)
- Это уже интересно. А там есть еще дальше переменные по адресам
> 0x2000000 ? И они тоже не релаксируются? il-2(233 знак., 19.01.2025 10:23)
- Нет, не понял. Вот так вся секция выглядит petrd(450 знак., 19.01.2025 10:29)
- Не верю! :-) il-2(708 знак., 19.01.2025 10:56)
- Файлы, из того проекта, проект минимальный. Переменная всего одна.
Вот map секции .data petrd(883 знак., 19.01.2025 11:07)
- Ну и что тебя удивляет? tick_count = 0x20000000, __global_pointer$ = 0x20000808 !!! il-2(85 знак., 19.01.2025 11:11)
- Файлы, из того проекта, проект минимальный. Переменная всего одна.
Вот map секции .data petrd(883 знак., 19.01.2025 11:07)
- Не верю! :-) il-2(708 знак., 19.01.2025 10:56)
- Нет, не понял. Вот так вся секция выглядит petrd(450 знак., 19.01.2025 10:29)
- Это уже интересно. А там есть еще дальше переменные по адресам
> 0x2000000 ? И они тоже не релаксируются? il-2(233 знак., 19.01.2025 10:23)
- Смотрел, вот : 0x0000000020000800 PROVIDE (__global_pointer$ = (. +
0x800)) - petrd(19.01.2025 10:14)
- а чему равен этот __global_pointer$ ? Смотрел в .map? - il-2(19.01.2025 10:07)
- В линкере есть PROVIDE( __global_pointer$ = . + 0x800 ), только не
помогает, потому что вот petrd(245 знак., 19.01.2025 10:05)
- Похоже, что так оно и есть. il-2(179 знак., 19.01.2025 09:49, ссылка)
- Кагтатаг, чота в коде меняется, но по временам, не шибко заметно. mse homjak(77 знак., 18.01.2025 22:33)
- Не, это не про HPE, а про petrd(18 знак., 19.01.2025 08:41)
- Да, тупанул. - mse homjak(19.01.2025 11:33)
- Не, это не про HPE, а про petrd(18 знак., 19.01.2025 08:41)
- Спасибо! - 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)
- Ослеку уже скока лет. Он словов таких не знает. - mse homjak(02.02.2024 10:40)
- Занялся времянками FSMC. В *.h файлах, по этому поводу трэшь и
угар. Диапазон регистров от 0xa0000000 0xa0000108 умещон в скромные mse homjak(339 знак., 02.02.2024 10:31, картинка)
- Да херня делов, ношка недоремапилась. Можно подумать у СТМ сильно
лучше. Думаю, там есть такая-жэ ревизия. Периферия-то драная с СТМ.
По крайней мере, я упарывался с китайцким СПИ по документации и
исходникам от СТ. Убогий СТшный СПИ китайцы перетащили себе
полностью. Со всеми багами и уродством - mse homjak(16.01.2024 19:10)
- Таков
- Прикольно, на 303@144МГц слелал ногодрыг. Получил 24МГц. Ну, вроде
и нормально. НО! Оселограв показывает меандр! Но в цикле участвуют
три команды: две загрузки в порт и джумп. Где джумп? Сожран тактами
синхронизации с шиной периферии? Так она тактируется теми-жэ
144МГц. В принцыпе, насрать, но интересно. Ну и обычное: примеры
"ис каропки" такие себе. Приходится исправлять и дописывать. Ну на
то он и дарёный конь. - mse homjak(14.01.2024 22:02)
- дык, три команды на Сях или на Асме? И за сколько циклов
выполняется каждая команда? - =L.A.=(19.01.2025 09:18)
- Подсчотом не занимался. Проблема в том, что в зависимости от
программы, ногодроч можэт быть реализован по разному. В простйшеи
случае компилер пихает в регистры все адреса и данные для дрочева и
в цикле тупо набрасывает. Если реальная программа и регистры могут
быть заюзаны, то будет набрасывать непосредственные данные или по
непосредственному адресу. Соотв.времянка будет поскучнее. - mse homjak(19.01.2025 11:41)
- помню, что STM32 обращается к ногам портов исключительно коряво. - =L.A.=(21.01.2025 19:09)
- Подсчотом не занимался. Проблема в том, что в зависимости от
программы, ногодроч можэт быть реализован по разному. В простйшеи
случае компилер пихает в регистры все адреса и данные для дрочева и
в цикле тупо набрасывает. Если реальная программа и регистры могут
быть заюзаны, то будет набрасывать непосредственные данные или по
непосредственному адресу. Соотв.времянка будет поскучнее. - mse homjak(19.01.2025 11:41)
- Так вот исправленные и выложи, на благо новичкам. - General(02.02.2024 10:51)
- Да там в редкой мелочовке всякое. Начинающий в ту-жэ FSMC и не полезет. А мейнстрим там откатан ещо с СТМ. - mse homjak(02.02.2024 11:11)
- дык, три команды на Сях или на Асме? И за сколько циклов
выполняется каждая команда? - =L.A.=(19.01.2025 09:18)
- Блять, старый вариант жэлеза. mse homjak(29 знак., 16.01.2024 12:30)
- этот мк лучше по потреблению/быстродействию 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, картинка)
- так оно и есть. в доке для qk4v конкретно сказано single cycle push
or pop, в доке для qkv2 ничего не скзано, говорить нечего.
сохраняется последовательно в озу. на святом сэкономили три
транзистора и испортили сразу все. печалька. - klen(14.07.2023 12:15)
- Да. На 144МГц не так страшно, как на 44. - mse homjak(14.07.2023 12:17)
- однако дважды через задницу. при выключении HPE, обаботчик прерывания сам должен делать эпилог и пролог, но
эти 23 такта никуда не пропадают. что он делает в это время? не
доделали корку? - klen(14.07.2023 15:04)
- ХЗ. У 203 от включения-выключения HPE, на осцыллограмме не меняется вообще ничего. Хотя листинг кажэт, что менятся заметно. mse homjak(1221 знак., 14.07.2023 22:51)
- однако дважды через задницу. при выключении HPE, обаботчик прерывания сам должен делать эпилог и пролог, но
эти 23 такта никуда не пропадают. что он делает в это время? не
доделали корку? - klen(14.07.2023 15:04)
- Да. На 144МГц не так страшно, как на 44. - mse homjak(14.07.2023 12:17)
- так оно и есть. в доке для qk4v конкретно сказано single cycle push
or pop, в доке для qkv2 ничего не скзано, говорить нечего.
сохраняется последовательно в озу. на святом сэкономили три
транзистора и испортили сразу все. печалька. - klen(14.07.2023 12:15)
- я всетаки не понимаю - я баран или они мудаки. опять про spi -
смотрим примеры из MounRiver, пример для spi - ни в одном примере
нет дергания nss руками, одновременно ни в одном примере не указано
что межу мастером и слейвом нужно тянуть провод CS. оно че??? само
телепатически?? примеры с ошибками - компилятор их пошлет эти
исходники пока руками не исправишь. как это все понимать? klen(5780 знак., 13.07.2023 12:50)
- Нигде нет дрыганья. Вся моя боль по сцылке. Хужэ того, искал, как там в СТМ, оказалось, так-жэ. Закат Солнца вручную, как есть. mse homjak(1 знак., 13.07.2023 13:12, ссылка)
- мне всегда было интересно - а кто победит? грузовик или вертолет
связанные цепью.? можно отмапить gpio так чтобы pc0 была spi1 nss,
и одновременно usart1 rx, и подключить как gpio input. как всегда
победила цепь! что было в голове у людей когда они его
проектировали. и у тех что копировали? загадка. дождевой червь
являет более разумное поведение. - klen(12.07.2023 15:43)
- Да, зачем китайцы копируют убогие F1, когда у тех же ST есть
гораздо более нормальные F0/F2/F3/F4 - не понять - LightElf(12.07.2023 15:48)
- f4 тоже убогий. у st переферия очень так себе. - klen(12.07.2023 15:57)
- У них, как минимум, гораздо гораздее сделан ремап пинов. - LightElf(12.07.2023 16:13)
- Вот этот пассаж, про интересный ремап пинов он как-то
настораживает. Неужели там сделано, как в советском 1986ВЕ1, где
каждый пин может выбрать только из четырёх вариантов периферии? - Kpoк(10.01.2024 10:45)
- У F1xx ремапится периферийный блок целиком, а не отдельные пины.
Например на F1xx (и всех подряд китайцев) один бит AFIO переключает
SPI1 либо на PA4/PA5/PA6/PA7, либо на PA15/PB3/PB4/PB5 и никаких
других вариантов. А вот у F0,F2,F4 LightElf(227 знак., 11.01.2024 19:28)
- Тьфубля. Это от того, что они сверчков жрут и червей всяких. - Kpoк(12.01.2024 00:18)
- У F1xx ремапится периферийный блок целиком, а не отдельные пины.
Например на F1xx (и всех подряд китайцев) один бит AFIO переключает
SPI1 либо на PA4/PA5/PA6/PA7, либо на PA15/PB3/PB4/PB5 и никаких
других вариантов. А вот у F0,F2,F4 LightElf(227 знак., 11.01.2024 19:28)
- Это да, но всё остальное такой же леденящий душу - lloyd(12.07.2023 16:17)
- Много чего пофиксили, но, конечно, не все. - LightElf(12.07.2023 16:19)
- Вот этот пассаж, про интересный ремап пинов он как-то
настораживает. Неужели там сделано, как в советском 1986ВЕ1, где
каждый пин может выбрать только из четырёх вариантов периферии? - Kpoк(10.01.2024 10:45)
- У них, как минимум, гораздо гораздее сделан ремап пинов. - LightElf(12.07.2023 16:13)
- f4 тоже убогий. у st переферия очень так себе. - klen(12.07.2023 15:57)
- Да, зачем китайцы копируют убогие F1, когда у тех же ST есть
гораздо более нормальные F0/F2/F3/F4 - не понять - LightElf(12.07.2023 15:48)
- мудаки. они скопировали 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)
- Зачем? Нужно установить энный пин в "1", пишете в соотвецтвующее
полуслово "1". Одновременно, можэте сбросить эммый пин, написав "1"
в другое полуслово. mse homjak(205 знак., 12.07.2023 16:12)
- это умное предложение но мне не понятно как dma обяснить что
единыцы пейсать в BSHR в низнее полуслово а нули это тоже единицы и
писать в верхнее. - klen(12.07.2023 15:37)
- Можно. Регистр BSHR. Хоть один бит, хоть 16. Одновременно
сбрасывать и устанавливать. Одной командой. - mse homjak(12.07.2023 15:20)
- я тоже так делаю, но память под буфер нужна. а тут ее чуть больше
чем ноль. к тому же нельзя выводить на порт меньше 8 бит в ширину. - klen(12.07.2023 14:59)
- Мне порты очень понравились. Я с помощью ДМА сделал закос под УАРТ
на 16 бит. Разложил состояние пина в ОЗУ и по таймеру вывожу в порт
с помощью ДМА. Так и СПИ сделать можно, только скорость в два раза
меньше и памяти в два раза больше. Ну то такэ... - mse homjak(12.07.2023 14:55)
- да .. мечта использовать dma c spi китайцами просрана. даже ребенок
бы так не сделал бы. ST - злое зло, само нагрешило и совратило
других. а это еще более тяжкий грех. тут все понятно и печально.
переходим к многострадальному i2c, который человечество только
программно без ошибок научилось делать :( - klen(12.07.2023 14:49)
- Да. Там ещо прикольнее, сигнал RXRdy формируется только после
приёма 8р. Дажэ если установлена работа с 16р. А с NSS ваще позор.
Ну выведите просто сигнал Busy и будет всем щастя. - mse homjak(12.07.2023 14:37)
- Немного времени освободилось. Давай поисследуем. VVB(353 знак., 12.07.2023 08:37)
- Вот некоторые картинки вывода PA8 в качестве выхода меандра от TIM1 (длительность ШИМ 2 такта), при 50 МГц настройке GPIO, для CH32V307 VVB(1743 знак., 12.07.2023 10:34, картинка, картинка)
- Спасибо!Спасибо-2! - mse homjak(09.07.2023 17:18)
- Столько полезной информации... Eddy_Em(108 знак., 03.07.2023 07:50)
- Здесь есть система тегов. Ставишь метку и по ней быстро находится.
Как избранное, только лучше. Cкpипaч(58 знак., 03.07.2023 09:11)
- О, здорово! Не обращал на это "теги" внимания. Спасибо. - Eddy_Em(03.07.2023 09:21)
- Здесь есть система тегов. Ставишь метку и по ней быстро находится.
Как избранное, только лучше. Cкpипaч(58 знак., 03.07.2023 09:11)
- доковырял 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)
- Срач будет поменьше, но его будет побольше. И не получится подвинуться по частоте чтобы не срать куда не следует. - mr-x(03.07.2023 11:13)
- ну можно и так это интерпретировать - гавеный клок, меньше помех!
гениально - главное ничего делать не нужно, оно само... с процом
понятно, но с периферией то зачем? таймеры смотрят на все это в
предобморочном состоянии. - klen(02.07.2023 18:12)
- Например, это отключаемая фича. По плану :) Но план изменился :) - Evgeny_CD(02.07.2023 18:45)
- Там скорее просто причудливая система тактирования из-за нехватка
опыта и квалификации разработчиков. На CH32F207 я наблюдал подачу
тактов ядра пачками импульсов, так что средняя частота примерно
соответствовала ожидаемой и не сразу было заметно что что-то не
так. Правда в этот режим я сам систему тактирования загнал. - AlexG(02.07.2023 17:45)
- Напоминает работу модуля FLL в MSP430, где средняя частота
поддерживается модулятором за счет "прореживания" тактовых
импульсов. - reZident(02.07.2023 19:35)
- и как после этого таймеры работают? - klen(02.07.2023 23:54)
- Для применений, критичных к джиттеру тактового сигнала, стараюсь не использовать модулятор. Подстроил генератор DCO поближе к требуемой частоте и выключил модулятор FLL. В TI именно так и рекомендуют. - reZident(03.07.2023 12:57)
- Не жалуюсь :) Главное предназначение - экстремально низкая средняя жрачка. - Гyдвин(03.07.2023 11:36)
- Нормально - там пропуск 1 раз на 8 или 11 тактов вроде бы, в общем таймер как ФНЧ работает. ПРавда я не работал, только читал, но у коллеги работало - symbions(03.07.2023 11:21)
- и как после этого таймеры работают? - klen(02.07.2023 23:54)
- Напоминает работу модуля FLL в MSP430, где средняя частота
поддерживается модулятором за счет "прореживания" тактовых
импульсов. - reZident(02.07.2023 19:35)
- Спасибо. А где заголовочные файлы брали? Неужто самостоятельно
писали? - Eddy_Em(01.07.2023 13:01)
- все с нуля. а там не много. я пытаюсь с С++23 выжать максимум по эффективности. это требует правильно писать в его терминах. если делать по старинке С-like, то компиллеру не доставить очень много информации о том что же ты на самом деле хочешь. язык С не дает таких возможностей, он почти ассемблер и ты сам должен все заоопимизировать зная тонкости архитектуры и задачи.. - klen(01.07.2023 13:06)
- посмотрите там >>> SciFi(1 знак., 01.07.2023 13:04, ссылка)
- Ага, спасибо, оттуда я ещё неделю назад клон сделал, там же и утилита есть для wch-link. Eddy_Em(31 знак., 01.07.2023 15:15)
- у wch на сайте в страничке каждой микросхемы есть ссылки на даташит, рефмануал,описание используемого проц. ядра, архив демок и ссылка на mounriver студию где все в одном флаконе. все есть. лежит на самом видном месте. klen(1 знак., 01.07.2023 13:11, ссылка)
- Похожее с китайского форума. NonStop(1 знак., 01.07.2023 12:34, ссылка)
- нужно изучать китайский язык, но сначала доучить русский. - klen(01.07.2023 13:01)
- Спасибо! Можно уточнений? 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)
- Как все таки включить релакс? - petrd(18.01.2025 21:47)