Связанные сообщения
- Вопрос по CH32V003.2025-02-28
 
- Я извиняюсь народ.) Но пролейте пожалуйста свет кто чем сейчас
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)
			
 












