ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
3 апреля
1509649
Связанные сообщения
Ch32WchRisc-V
Нашёл решение, как в Виндовс 10, 11 запретить обновлять драйвер. Конкретно CH340. Почему-то новая версия этого драйвера отказыва...2025-03-31
Вот моё творчество:2025-03-09
В приличном обществе принят BOM (Byte Order Mark). 0xEF 0xBB 0xBF в начале файла.2025-03-04
У CH32V003 отладка и загрузка ПО по одному проводу идет что ли? О.о2025-02-28
Вопрос по CH32V003.2025-02-28
У WCH заявились мелкокристаллки для всяческих моторчиков. Серия CH32M.2024-12-17
всунул и протянул. gcc теперь умеет так: riscv32-kgp-elf-g++ ..... -mcpu=к1948вк018 ...., мой вклад в импортозамещение - буквы р...2024-10-10
Немного рассуждений про ch32v307+freerto+libwchnet.a2024-07-10
Китайский CH582. Я тут опять немного прихренел от китайского МК.2024-06-19
китайцы что то изобретают - ch32v006/ch32v007/ch32m007 : Streamlined Timer. непонятое... но интересное2024-05-18
Нет ли выбросов в питании "на местах" в момент обновления? Честно сказать, я так и не решился ставить в девайсы WCH не смотря на...2024-02-12
[09.01.2024] по ходу подпрыгивании на тему "подъема-взлета" ch32v003 всунул в него CoreMark. промерил...2024-01-09
CH57x и CH58x - проблемы отладки и решение. Думаю, это относится и к другим чипам WCH.2024-01-09
нашел на китайской версии сайта WCH ннфографику про семество riscv ch32 - сделал картинку. теперь легче понять отличия. удобно ч...2023-12-11
VisionFive. SBC на RISC-V со встроенным GPU.2023-11-16
Я извиняюсь народ.) Но пролейте пожалуйста свет кто чем сейчас programmирует чипы на RISC-V?2023-11-07
Пришел десяток CH32V003 в soic8 с Ali по 13 руб. Показались удобными для всяческой мелкой хренотени. Ну и как у китайцев положен...2023-07-26
СH32V203F8P6 - 96МГц. SPI - 12MГц, ENC28J60. Ping + UDP ping-pong 50 байт + UDP "спам" 1500 пак/сек. Вот такую вот картинку вижу...2023-07-03
Цука... CH32V00x с WCHlink нихт арбайтен. Требуют WCHlinkE. "Вот нахуя так делать? И, главное, зачем?"(С)... Да знаю, знаю зачем...2023-05-12
У ядра QingKeV4 есть расширенный набор коротких команд. Их пока только WCH-ный GCC порддерживает.2023-04-06
Траблы с WCH для CH32V203RBT6.2023-03-24
Risc-V, CH32V203RBT6, MounRiver Studio IDE, Си. Отладчик WCH-Link.2023-03-22
почитал доки на свежий китайский микроконтроллер ch32v307, есть много фич которые я воображал но не было в cortex-m. похоже risc...2023-03-03
Кто-нибудь уже пробовал использовать IAR EWARM для разработки под CH32F* от WCH? У производителя можно найти примеры и библиотек...2023-01-04
[RISC-V от WCH] - перспективно для замены всего недружественного. Klen, просьба покурить. ch32v103, ch32v307. - брать. Ес...2022-03-24
Платочки в формфакторе Raspberry Pi на RISC-V грядут. Заметим, сразу идет bare metal ПО, FreeRTOS, и на картинке видим ChipLink....2021-12-01
[WCH CH568 USB to SATA chip] - любопытный MCU2021-02-24
Allwinner обещается в этом году выкатить жЫрный RISC-V2021-02-09
ну давай Муська! еще капельку!: поразгонял gd32vf103cb + oled 0.962020-05-31
gd32vf103: выполнил обезжиривание кода rv-link/longan-nano, пришлось переделывать китайский код. меня попросили дать бинарь для ...2020-04-26
кто нибудь знает? GigaDevice планирует в gd32vf всунуть FPU или еще что нибудь, нигде не нашел их планов по захвату поляны - я б...2020-02-12
Computer Organization and Design RISC-V edition. просто бесподобны мануаЛЬ!2019-11-30
gd32vf103: Думаю можно подумать открывать новый раздел - RISCV2019-10-28
Китайцкая GigaDevice залепила мелкокристаллку на RISC-V. 108Mhz, 128K Flash, 32K RAM. На замену STM32F103, вроде как совместима ...2019-08-31
[RISC-V: ядра, SoC для микропроцессоров и микроконтроллеров] Сводный системный топик.2018-12-04
[RISC-V как предел софткорного процессоростроения]. Текущие результаты капиталистического соревнования.2018-04-28
[Сводный топик про RISC-V] Гнездо архитектуры -> -->2017-08-11
Nikolay_Po (Вчера, 06:26, просмотров: 2699)
Про FLASH в CH32V203. Вкратце: похоже, что при частичной записи страницы, автоматически стирается и перезаписывается вся страница 256 байт. Подробности ниже. 

Пишу сейчас свой эмулятор EEPROM для CH32V203. У контроллера флеш стирается вариантами: вся, по 32к, по 4к или по 256 байт. Записывается по 256 байт за раз ("быстрый", рекомендованный режим) или по два байта за раз ("стандартный" режим для "совместимости").
Каков был расчёт: стирать страницы по 256 байт (минимальный размер стирания). Затем, по частям дописывать данные в "стандартном" режиме, по два байта (одно полуслово), пока страница не заполнится. В некоторых случаях писать в ту же ячейку повторно - для специальной пометки - инвалидации данных. После использования - стирать страницу целиком для следующего цикла.

Ожидалось, что повторная запись в ту же область, без стирания, в зависимости от новых данных, приводит к разряду ещё не записанных битовых ячеек. А когда все биты записаны (ячейки разряжены), то значение такого байта (или полуслова) уже не меняется вне зависимости от перезаписываемого значения. Однако, в случае с CH32V203, в отличие от других микроконроллеров с флеш и в отличие от микросхем NOR FLASH, попытка частичной записи ("стандартной" записи полуслова) во флеш V203, приводит к полной перезаписи данных без наложения, без влияния старых данных. Это означает, что область записи полностью стирается и лишь затем перезаписывается.

Специально написал тест, который перезаписывает значения 0x0000 и 0xFFFF поверх разных значений байт в обоих байтах полуслов. И выяснил экспериментально, что при "стандартной" записи по два байта, эти два байта неизменно записываются как поданы, безотносительно того, какое значение в полуслове было до записи.

При этом тесты "быстрой записи" показали, что без стирания страницы 256 байт, данные накладываются, примерно как и ожидается от ФЛЕШ (с учётом того, что стёртое значение читается как 0xE339)


Вывод: с точки зрения износа флеш, писать 2 байта за раз не выгодно - автоматически выполняется стирание 256 байт. Такое возможно благодаря буферу записи на 256 байт. Получается, что "режим совместимости" для частичной записи был добавлен "поверх" "быстрого режима". Контроллер флеш МК (а чип флеш у этих МК - внешний, на проволочках), читает страницу в буфер. Меняет два байта в буфере и записывает весь буфер, всю страницу обратно.


Информация пока не точная, это мои рассуждения на основе небольшого исследования. Пишу дальше. Будут новые выводы - возможно, поделюсь.