Связанные сообщения
- Вот моё творчество:2025-03-09
- Вопрос по CH32V003.2025-02-28
- Я извиняюсь народ.) Но пролейте пожалуйста свет кто чем сейчас
programmирует чипы на RISC-V?2023-11-07
- У ядра QingKeV4 есть расширенный набор коротких команд. Их пока
только WCH-ный GCC порддерживает.2023-04-06
- Траблы с WCH для CH32V203RBT6.2023-03-24
-
- сделайте кольцевой буфер, - дописывайте без стирания страницу, пока
она не заполнится (не приблизится к концу), смещение адреса, ессно
тоже надо сохранять, или писать в конец вектора данных сигнатуру
маркера окончания (ну или просто определять по признаку "FF-до
конца"). стирать страницу можно заранее, когда понятно, что
следующий вектор не поместится, когда проц ещё на полноценном
питании. - Adept(Вчера, 13:28)
- Это всё реализовано в другом проекте с NOR FLASH. - Nikolay_Po(Вчера, 14:08)
- что мешает здесь так же поступить? - Adept(Вчера, 14:36)
- Не хочу. Интуиция подсказывает, что там где был один чип, должен
остаться один. Nikolay_Po(447 знак., Вчера, 17:39)
- дык и оставить один (спич о встроенной флеши МК, надеюсь инструкции
самопрограммирования он поддерживает ??) - Adept(Вчера, 21:52)
- Поддерживает. Но с говорками, см. заглавное сообщение темы. - Nikolay_Po(Вчера, 22:02)
- дык и оставить один (спич о встроенной флеши МК, надеюсь инструкции
самопрограммирования он поддерживает ??) - Adept(Вчера, 21:52)
- Не хочу. Интуиция подсказывает, что там где был один чип, должен
остаться один. Nikolay_Po(447 знак., Вчера, 17:39)
- что мешает здесь так же поступить? - Adept(Вчера, 14:36)
- Это всё реализовано в другом проекте с NOR FLASH. - Nikolay_Po(Вчера, 14:08)
- Мне кажется что вы решаете несуществующую проблему. Для WCH не
пришлось размазывать данные вообще. Что за желание экономить ресурс
таким образом? - General(Вчера, 08:19)
- Зависит от задачи. Бывает, нужно часто писать и максимально долго.
Большой объём, допустим, с половину набортной флеши. Задача
логгера, например. Nikolay_Po(338 знак., Вчера, 09:32)
- Если иметь буфер ОЗУ 256 байт и скидывать его в флеш в случае
шухера, все эти схемы могут работать. Но проще поставить SPI флешку
и делать всё это привычным образом. - SciFi(Вчера, 10:48)
- У меня платка в габаритах DIP-40. За вычетом гребёнок соединителя,
едва разместил кварц и стабилизатор питания. Текущий проект -
замена старых МК DIP-40. Пока всё складывается так, что
пользователи просто вытаскивают старый DIP-40 из панельки и
вставляют новый, на платке, в эту же панельку. - Nikolay_Po(Вчера, 10:50)
- Ну как бы прежде чем делать платку, нужно прикинуть, сможет ли она
выдавать функционал, который требуется, нет? - SciFi(Вчера, 10:52)
- У меня есть уверенность, что так или иначе, я смогу сохранить 16 байт во флеш. - Nikolay_Po(Вчера, 11:18)
- Ну как бы прежде чем делать платку, нужно прикинуть, сможет ли она
выдавать функционал, который требуется, нет? - SciFi(Вчера, 10:52)
- У меня платка в габаритах DIP-40. За вычетом гребёнок соединителя,
едва разместил кварц и стабилизатор питания. Текущий проект -
замена старых МК DIP-40. Пока всё складывается так, что
пользователи просто вытаскивают старый DIP-40 из панельки и
вставляют новый, на платке, в эту же панельку. - Nikolay_Po(Вчера, 10:50)
- Вот читаю я эти ваши страдания и не понимаю одного: щас ЕЕПРОМ с
конским объёмом стоит копейки. Ресурс её, на конские порядки,
превышает ресурс флэши ЦПУ. Её физически нельзя испортить по сбою,
если сделано правильно. Не нужны всякие половые извращения с
прерываниями при записи. Нахуя, а главное, зачем, использовать
потанцэвальный источник геморроя в товарной продукцыи? - mse homjak(Вчера, 10:46)
- у многих CH32 флэш устроена специфически - есть область из которой
программа при старте копируется в теневое ОЗУ и оттуда выполняется,
но теневое ОЗУ не перекрывает весь флэш, остается большой кусок.
Это прямо провоцирует придумать для этого куска флэш какое-то
применение. - AlexG(Вчера, 14:50)
- Конкретно у CH32V203 с 32..64к флеши, областей вне теневого ОЗУ нет. Тесты стирания/записи/перезаписи я делал, читая из адресов прямого доступа к FLASH, что с 0x0800000. - Nikolay_Po(Вчера, 17:43)
- На днях я измерил скорость выполнения кода из этого флеша: SciFi(1 знак., Вчера, 14:52, ссылка)
- Время доступа к данным из EEPROM на порядки превосходит время
доступа к данным из флэша. С точки зрения ЭМС отдельная м/с,
работающая на высокой частоте, источник геморроя. Общие размеры
могут быть ограничены. - AlexBi(Вчера, 11:19)
- Когда надо "доступать", то грузят оптом в память. Это ещо быстрее получается. С точки зрения ЭМС, это всё хня какая-то. Ну, разве что, поставить ЕЕПРОМку в полуметре от проца и постоянно хреначить на 10-20МГц. Что касаемо размеров, то найти место под ТССОП или СОТ-23, не проблема. - mse homjak(Вчера, 12:52)
- К ЭМС у меня, слава Богу, обычные требования и нет внешних, не
развязанных линий, но габариты ограничены весьма. Nikolay_Po(14 знак., Вчера, 11:24, картинка)
- Кварец, зараза, всё испортил :-) - SciFi(Вчера, 11:26)
- И ЭМС, и габариты. Но родная плата похуже будет с т.з. ЭМС. Так что
работать будет. Главное, чтобы от -20 до +60 была стабильной
частота UART'а. - Nikolay_Po(Вчера, 11:33)
- да на эту плату в три раза больше можно, чем стоит :)) как
правильно сказали - выкиньте HC49S, поставьте KX7, поставить
FRAM/MRAM soic8, на четырёхслойке, вангую, можно разместить все
компоненты "жопа к жопе", а при подобной плотности, и на двуслойке
всё получится :) Про вторую сторону скромно умолчим, подозреваю,
что там также всё нерационально. - Adept(Вчера, 11:54)
- Там дорожек много. Не без труда в два слоя уместил. А если мельчить
и частить, придётся на более строгие технормы производства
переходить, что дороже. - Nikolay_Po(Вчера, 14:10)
- да ладно?! технормы 0,2 (и даже 0,15/via 0.4) стоят столько же, сколько 0,35/via 0.6 - Adept(Вчера, 14:38)
- Полно кварцэв размером 3,2Х2,5. И генераторов, что ещо экономит
место. И ЕНки в СОТ23 - mse homjak(Вчера, 13:16)
- Я по цене оптимизировал. - Nikolay_Po(Вчера, 14:05)
- вот нагуглился SMD кварц совсем недорого: SciFi(1 знак., Вчера, 14:10, ссылка)
- И вообще, вы не следили за ходом моей мысли. Корпус кварца аутентичен кварцам, применяемым в других узлах системы. Поэтому брал в таком корпусе и с частотой, кратной УАРТу. Потом, для односторонности, взял его же, но не выводной, а поверхностный. Только лишь потому. Nikolay_Po(161 знак., Вчера, 18:06)
- Частота не кратная стандартному RS-232. И вообще, собранная плата у
меня сегодня уже появилась в руках. Так что начинаю работать уже с
предсерийным образцом. Nikolay_Po(1 знак., Вчера, 17:50, картинка)
- Изучите маччасть. mse homjak(185 знак., Вчера, 18:19)
- Если только вы не работаете на скорости выше 0,5Мбит/с, то уже начиная с примерно 10МГц частота становится пофиг. Потому, что можно настроить UART так, что ошибка не будет превышать той, которая помешала бы работе RS-232. К слову исконно-посконный EIA/TIA-232 и TIA/EIA-232-F были специфицированы для скорости всего 20кбит/с. reZident(1 знак., Вчера, 17:54, картинка)
- И TPL730-3.3... - mse homjak(Вчера, 17:46)
- RS3007-3.3ASYF5 больше нравится, хотя и подороже будет. - reZident(Вчера, 18:02)
- вот нагуглился SMD кварц совсем недорого: SciFi(1 знак., Вчера, 14:10, ссылка)
- Я по цене оптимизировал. - Nikolay_Po(Вчера, 14:05)
- Там дорожек много. Не без труда в два слоя уместил. А если мельчить
и частить, придётся на более строгие технормы производства
переходить, что дороже. - Nikolay_Po(Вчера, 14:10)
- да на эту плату в три раза больше можно, чем стоит :)) как
правильно сказали - выкиньте HC49S, поставьте KX7, поставить
FRAM/MRAM soic8, на четырёхслойке, вангую, можно разместить все
компоненты "жопа к жопе", а при подобной плотности, и на двуслойке
всё получится :) Про вторую сторону скромно умолчим, подозреваю,
что там также всё нерационально. - Adept(Вчера, 11:54)
- И ЭМС, и габариты. Но родная плата похуже будет с т.з. ЭМС. Так что
работать будет. Главное, чтобы от -20 до +60 была стабильной
частота UART'а. - Nikolay_Po(Вчера, 11:33)
- Кварец, зараза, всё испортил :-) - SciFi(Вчера, 11:26)
- Не позволяют габариты. Хочу односторонний монтаж. При тщательной
проработке, геморрой будет обнаружен и вылечен превентивно. - Nikolay_Po(Вчера, 10:52)
- Этта... Односторонний монтаж или плата? Втыкаемо-вытыкаемые
односторонние платы, без металлизированных отверстий, шибко не
любят долго жить. Иногда не переживают первого раза. - mse homjak(Вчера, 13:49)
- Монтаж односторонний. - Nikolay_Po(Вчера, 14:04)
- позвольте спросить, - а зачем? и почему компоненты со стороны
панельки? это же неправильно (компоненты могут упираться в балки
панели), хотя по высоте изоляторов PLS проходит (ну исключая
кварец). Или с обратной стороны красивые рекламные картинки
шелкухой и имерсионным золотом?? (что не вяжется со стремлением
удешевления :)) - Adept(Вчера, 14:42)
- Чтобы можно было покрасить чёрной краской и не смущать людей
странной конструкцией. - Nikolay_Po(Вчера, 18:02)
- Кого вы боитесь засмущать, когда мир захватили овноподелия Ардуино-стуле. - mse homjak(Вчера, 18:29)
- Чтобы можно было покрасить чёрной краской и не смущать людей
странной конструкцией. - Nikolay_Po(Вчера, 18:02)
- позвольте спросить, - а зачем? и почему компоненты со стороны
панельки? это же неправильно (компоненты могут упираться в балки
панели), хотя по высоте изоляторов PLS проходит (ну исключая
кварец). Или с обратной стороны красивые рекламные картинки
шелкухой и имерсионным золотом?? (что не вяжется со стремлением
удешевления :)) - Adept(Вчера, 14:42)
- Монтаж односторонний. - Nikolay_Po(Вчера, 14:04)
- Ну, бросить в качестве перемычек пару 0603, вместо того, чтобы надеяться на обнаружэние геморроя? Через пол-года/год? Восстановление флэши елевизеров, раз в пару лет, кормит несчотное количество елемастеров. Но мы-то суровые промышленники. Там-то это зачем? - mse homjak(Вчера, 11:04)
- Этта... Односторонний монтаж или плата? Втыкаемо-вытыкаемые
односторонние платы, без металлизированных отверстий, шибко не
любят долго жить. Иногда не переживают первого раза. - mse homjak(Вчера, 13:49)
- у многих CH32 флэш устроена специфически - есть область из которой
программа при старте копируется в теневое ОЗУ и оттуда выполняется,
но теневое ОЗУ не перекрывает весь флэш, остается большой кусок.
Это прямо провоцирует придумать для этого куска флэш какое-то
применение. - AlexG(Вчера, 14:50)
- Если иметь буфер ОЗУ 256 байт и скидывать его в флеш в случае
шухера, все эти схемы могут работать. Но проще поставить SPI флешку
и делать всё это привычным образом. - SciFi(Вчера, 10:48)
- Эмуляция EEPROM - вполне себе обычная задача. Wear leveling - один
из важных аспектов этой задачи. - SciFi(Вчера, 08:37)
- Вот именно это совершенно ненужная вещь. WCH успевает записать
данные из ОЗУ во флэш при снятии питания. - General(Вчера, 08:40)
- С этого момента поподробнее, пожалуйста. Там есть что-то типа
Microchip EERAM? SciFi(1 знак., Вчера, 08:45, ссылка)
- Это EERAM устроена таким образом как я использую WCH, рассказываю
примерно General(366 знак., Вчера, 11:56 - 22:20, картинка)
- А о каком из WCH'й идет речь? Это без стирания страницы? Tech_(88 знак., Вчера, 17:47)
- "с EEPROM была минута", а почему бы не использовать FRAM? - reZident(Вчера, 13:11)
- Эта ФРАМ будет дороже самого МК. - Nikolay_Po(Вчера, 14:05)
- Моя реализация возникла именно из-за ответа на этот вопрос - General(Вчера, 14:49)
- Тогда надо было уточнить, что EEPROM эта встроена в МК, а не в виде отдельной м/с. - reZident(Вчера, 14:52)
- ну, заложить "в цену прибора" :)) самая дешёвая на 2К 70-80р стоит. А если нужно кратковремннно переждать блэкаут (ну там до нескольких дней/недель, то МК в слипдауне, с буферным питанием SRAM MK от электролита (или даже высокоёмкой керамики), спасёт отца русской демократии. У меня помнится эмулятор РФПЗУ на РУ10 с 100мкф электролитом неделями держал информацию :)) - Adept(Вчера, 14:36)
- Моя реализация возникла именно из-за ответа на этот вопрос - General(Вчера, 14:49)
- Эта ФРАМ будет дороже самого МК. - Nikolay_Po(Вчера, 14:05)
- Это EERAM устроена таким образом как я использую WCH, рассказываю
примерно General(366 знак., Вчера, 11:56 - 22:20, картинка)
- С этого момента поподробнее, пожалуйста. Там есть что-то типа
Microchip EERAM? SciFi(1 знак., Вчера, 08:45, ссылка)
- Вот именно это совершенно ненужная вещь. WCH успевает записать
данные из ОЗУ во флэш при снятии питания. - General(Вчера, 08:40)
- Зависит от задачи. Бывает, нужно часто писать и максимально долго.
Большой объём, допустим, с половину набортной флеши. Задача
логгера, например. Nikolay_Po(338 знак., Вчера, 09:32)
- Дык это прямо написано в доках, не? - SciFi(Вчера, 07:55)
- Я бы не надеялся на "дозапись" уже записанной области флешь без
стирания. Выпустят новую ревизию чипа - там будет все по другому.
Кстати, даже STM32F1 не поддерживала "дозапись". Если попробуешь на
записанное место (где нет 0xFFFF) записать что-то другое, в
рассчете что стертые "1" превратятся в "0", то результат на самом
деле будет непредсказуемым. Я пытался на нем делать оптимизацию
записи - если новое значение при записи изменяет биты только с "1"
на "0", но не il-2(124 знак., Вчера, 07:40, ссылка)
- В стм флеше есть контрольные биты, поэтому и невозможно дописать
слово, о чем в документации прямо сказано. Здесь же китайцы мутят
как обычно втихую. - Andreas(Вчера, 12:06)
- По поводу STM32F10x не сказано там про контрольные биты. Но
сказано, что перед записью проверяется, что ячейка стёрта. - SciFi(Вчера, 12:13)
- Толи в апнотах, толи в форумах было объяснение, почему именно такой
изврат в стм. - Andreas(Вчера, 12:44)
- В форумах могли такую версию высказать. Потому что, например, для STM32L0xx сказано: "ECC (Error Correction Code): 6 bits stored for every word to recognize and correct just one error". - SciFi(Вчера, 12:53)
- Толи в апнотах, толи в форумах было объяснение, почему именно такой
изврат в стм. - Andreas(Вчера, 12:44)
- По поводу STM32F10x не сказано там про контрольные биты. Но
сказано, что перед записью проверяется, что ячейка стёрта. - SciFi(Вчера, 12:13)
- Спасибо за информацию. Относительно вашего случая по вашей ссылке выше, отмечу: Nikolay_Po(670 знак., Вчера, 09:40)
- В стм флеше есть контрольные биты, поэтому и невозможно дописать
слово, о чем в документации прямо сказано. Здесь же китайцы мутят
как обычно втихую. - Andreas(Вчера, 12:06)
- Аналогичная перезапись в режиме совместимости, по два байта, без стирания, даёт ровно записываемые байты, без искажения как в примере с "быстрой" записью страницы. - Nikolay_Po(Вчера, 06:50)
- Вот вывод тестовой программы (перезапись в "быстром" режиме, сразу 256-ю байтами, все 0xFF): Nikolay_Po(9698 знак., Вчера, 06:45)
- сделайте кольцевой буфер, - дописывайте без стирания страницу, пока
она не заполнится (не приблизится к концу), смещение адреса, ессно
тоже надо сохранять, или писать в конец вектора данных сигнатуру
маркера окончания (ну или просто определять по признаку "FF-до
конца"). стирать страницу можно заранее, когда понятно, что
следующий вектор не поместится, когда проц ещё на полноценном
питании. - Adept(Вчера, 13:28)