- Бруссонетия - так она цвела в мае, и ее плоды в сентябре. Говорят,
можно есть. В Японии из нее делали высококачественную бумагу для
денег, а в Пакистане бруссонетия бумажная признана одним из самых
злостных сорняков. Этo_Я(3 знак., Вчера, 16:40, Off, картинка, картинка)
- А правда, что на Кубе нет симулятора? - Kpoк(02.09.2026 15:34, dao, полностью)
- А как можно симулировать конгломерат из ядер, шин, периферии, и
асинхронных костылей и палок между ними? Это вам не AVR. Там с
симуляцией проблем не было, всё чётко, до битов и наносекунд.
Паяешь чип, включаешь осциллограф - всё 1:1. - vpv.vpv(Вчера, 06:56)
- Помнится, на это дело выставлены лицензионные ограничения.
Предполагаю, что алчность АРМ имеет невменяемые размеры. - Vit(03.09.2026 20:08)
- Симулятора Че Гевары? Или чего там еще на острове-то симулировать? - Eddy_Em(02.09.2026 21:44)
- А зачем он нужен? Я понимаю в ПЛИС, или на МК типа Cypress, а на
обычных МК что там можно симулировать? - Anvar(02.09.2026 15:41)
- Как минимум, арифметику. - Kpoк(02.09.2026 21:32)
- Именно. Когда на асме фигачил арифметику, только симулятор и был
инструментом. А на Ц вся арифметика уже. И как мне говорил мой
учитель, лучше ты не сделаешь. И ваще, фраза "на Кубе нет
симулятора" выбила меня из плавного течения мысли для того, чтобы
найти точки соприкосновения острова Куба и термина "симулятор". В
Кубе, чёрт побери. - Бapбoc(02.09.2026 21:47)
- Говно арифметика на Ц. Как и весь язык. Проверять все равно надо.
Как можно доверять людям, которые дают переменным имена длиной в
экранную строку? - Kpoк(02.09.2026 21:58)
- А чё такого обозвать переменную
СчётчикКоличестваПрерыванийПослеСобытияПревышенияНапряженияНаВходеКомпаратора1?
Зато понятно, и комментариев не надо. - Бapбoc(02.09.2026 22:10)
- Но они этот подход тащут и в решение систем квадратных уравнений! - Kpoк(03.09.2026 09:11)
- Проверьте фамилие аффтара. ЧерезЗаборНогуЗадерищенко? Сишечка не
виновата. - SciFi(03.09.2026 09:22)
- Она виновата уж тем, что он её выбрал! - Kpoк(03.09.2026 10:00)
- Вы, возможно, не поверите, но сишечку выбрало огромное множества
прекрасных людей, создавших прекрасные вещи. Это ваш мозговой
слизень нашёптывает, но от этого наверняка есть таблетки :-) - SciFi(03.09.2026 10:05)
- И да, выбора ни у кого не было. - Kpoк(03.09.2026 10:17)
- Но эта часть выбравших от меня прячется! Вот и сейчас, был вопрос о
симуляторе, а мне говорят: "нет, язык С хороший". Подкармливают
моего слизня. - Kpoк(03.09.2026 10:13)
- Только жытаг, только хардкор. - =AlexD=(03.09.2026 11:11)
- Да что в нем плохого? Расскажите - Anvar(03.09.2026 11:10)
- Медленно по буквам. Спрашиваю: нет ли симулятора? В ответ - а зачем
он тебе? То есть, люди настолько гениальны, что пишут без
черновиков. Или пишут всякую херню, типа включить лампочку -
выключить лампочку. И вряд ли они пишут это на Фортране. Ну как бы
такая логическая цепочка. - Kpoк(03.09.2026 12:15)
- Сишечка работает боль-мень одинаково в разных местах, для этого не
обязательно симулировать целевой проц. Ну и для армов есть всякие
симуляторы, я гонял qemu, например. - SciFi(1 знак., 03.09.2026 12:20, ссылка)
- Я Вас умоляю. Во времена Борланда программы на Ц переносились с ПК
на ПК только с помощью бригады санитаров. Вряд ли что-то изменилось
к лучшему. Опять же, стандарты каждый год меняются. В общем, на
Кубе нету. А у Кейла? - Kpoк(03.09.2026 12:36)
- Всегда так и делаю, пишу и тестирую на Сях под Линуксом, потом
компиляю под чипа. К вашим услугам все средства отладки хоста,
логи, статистика и поиск утечек памяти. Если вы считаете такты и
трамбуете байты - тогда только на жылезе. Потому что там разные
шины, разное тактирование, разная периферия. Симулятор сосёт. - =AlexD=(03.09.2026 15:28)
- У отладчика IARа есть симулятор. Внешних устройств из коробки нет,
есть только средства симулировать их работу самому, с помощью
макросов: реагировать на обращение к регистрам I/O, видеть что
пишут, подставлять данные для чтения, запрашивать прерывания. ЫЫyкпy(151 знак., 03.09.2026 13:37)
- У Кейла есть. А утилитки мелкие, что ваш покорный сладил на таки
борланд с++ билдере изначально под ХР, вполне годно ведут себя и на
десятке. - Бapбoc(03.09.2026 12:46)
- С тех пор таки изменилось к лучшему, кстати. И стандарты не
меняются, православная сишечка весьма стабильна. Это безбожные
плюсы грешат. - SciFi(03.09.2026 12:40)
- Я написал рендер векторных шрифтов на Ц.. отлаживаю на блидере. Без
изменения компиляю в проект под МК. - POV(03.09.2026 12:38)
- Я всякие небольшие алгоритмы смотрю на дизасме - пошагово. Быстрее
чем флешку прошивать. Нечасто, но случается. - POV(02.09.2026 15:44)
- Зато в Греции все есть! - Argon(02.09.2026 15:40)
- Свободу профессору Павлу Молчанову! Solo(380 знак., 03.09.2026 13:47, Off, ссылка, полностью)
- "И вот я в Хопре!". Постоянно этот слоган из 90-х в голове, когда
приезжаю в отель на дачу. К слову, юбилей, - 20 раз - Лaгyнoв(03.09.2026 13:55, Off, полностью)
- кто календарь перевернет? - =L.A.=(02.09.2026 19:21, zen, полностью)
- Получил китайский домашний дивайс.. все названия чипов срезаны
фрезой. Боятся что сопрем. - Heтcлoв(02.09.2026 11:48,
, zen, полностью)
- Лагунову.. Как сократить расходы добраться до Турции.. - Solo(1 знак., 31.08.2026 09:42, Off, ссылка, полностью)
- RISC-V, прерывания, стек прерываний и mscratch применительно к ОСРВ
Задал вопрос в телеграм-канале RISC-V MCU. Задам и тут: Nikolay_Po(1626 знак., 10.06.2026 22:55, ARM, полностью)
- Доделал я порт FreeRTOS для QingKeV4 с включённой вложенностью
прерываний. Как тов. Клен тут пояснял в своих примерах, ограничился
только прерываниями с HPE, то есть, уровень вложенности до 3х
включительно. Nikolay_Po(1359 знак., 10.07.2026 14:25, +2)
- CAUTON: Не используйте HPE с FreeRTOS. Путём долгих страданий,
выяснил, что HPE не совместим с существующим шаблонным механизмом
сохранения, а, главное, восстановления контекста. Причём выяснил
это не сразу. Не давала покоя жажда оптимизаций и выжимки скорости. Nikolay_Po(585 знак., 15.06.2026 17:32)
- Вот моя шпаргалка на тему вымучивания HPE+FreeRTOS которую себе
написал храню в FreeRTOSConfig.h klen(3778 знак., 15.06.2026 19:50)
- В качестве ликбеза, почему SysTick должен вытеснять SWI? Пусть себе
переключится до конца. А то выйдет так, что SysTick обнаружил, что
нужно передать управление другой задаче и поменяет текущий TCB, в
то время, как процесс переключения контекста ещё не завершён... Я
наоборот думал, и, возможно, читал в комментариях на
forums.freertos.org, что вложение этих двух прерываний, таймера и
переключателя контекста, должно быть исключено... - Nikolay_Po(16.06.2026 16:50)
- OK. Приму объяснение, что SysTick нужен для выполнения регулярных,
требовательных к низкому джиттеру, действий, а так же для
минимального джиттера значения системного времени, используемого из
более приоритетных прерываний, как пользующихся API, так и нет.
Предположу, что SysTick-у безопасно отдать приоритет, так как
работа вызываемого внутри xTaskIncrementTick() влияет только на
определение потребности в переключении контекста, без влияния на
процесс переключение. Если Nikolay_Po(20 знак., 17.06.2026 16:42)
- Ну вроде это очевидно, что если ртосина не может контролировать
контекст, то и работать не будет. - =AlexD=(15.06.2026 17:55)
- Мне до обнаружения этой очевидности пара недель потребовалась.
Чувствую себя как тот кадр, у которого не получается
программировать МК... - Nikolay_Po(15.06.2026 17:59)
- Давайте разбирастя, ув. кроты! контекст прерывания ( читай по сути
исключения процессора ) и "что то где сохраняется контекст
FreeRTOS" - веши перпендикулярные. 0) в FreeRTOS прерываний не
существует 1) контекст исключений и контекст задач - ваще не одно и
тоже 2) FreeRTOS + исключения(прерывания у меня работают с HPE 3)
Где я балбес? - klen(15.06.2026 19:04)
- Есть вопросы. 1. Как при выходе из прерывания, при включённом HPE,
если это прерывание само меняет контекст и само восстанавливает по
своему разумению те же регистры, что восстанавливает и HPE,
оставить контекст RTOS для задачи, а не восстановленое HPE
состояние регистров на момент входа в прерывание? Я знаю только
один способ - установить GIHWSTKNEN и выйти, предварительно сбросив
MIE, чтобы защититься от вложенности. Nikolay_Po(579 знак., 16.06.2026 17:13)
- У меня такая переключалка выходит, в части блокировки прерываний
приоритетом до RTOS API включительно: Nikolay_Po(1443 знак., 16.06.2026 16:46)
- Контекст сохраняется не где-то каг-то, а в прерывании ;-). А из
прерывания переключения контекста он уходит не строго обратно, а
уже в другую задачу. А таг всё верно ;-). - =AlexD=(16.06.2026 10:24)
- Дык, стек РТОС, это доступ через какой-нить индексный регистр,
программно, а стек вызовов-прерываний проца, это чисто механическая
штука. Прерывания, вообще, для кода, прозрачны, он их не осчучает:
откуда-то, из параллельной вселенной, ему падают флаги и данные. - mse homjak(15.06.2026 19:15)
- я разумею почти так же ( сохранение регистров проца при эксепшене
не совсем аппаратная штука - традиционно компилятор генерит пролог
и эпилог ). вопрос в том где связзь HPE и кода сохранения и подъема
контекста задачи ОС? я утверждаю что её нет. но это не точно :)
думаю что суть в правильном назначении приоритетов прерываниям - у
меня в этом было откровения после которых все заработало с HPE - klen(15.06.2026 19:43)
- Меня что беспокоит: если я выхожу из прерывания, при входе в
которое было включено HPE, то при выходе, регистры, сохраняемые
аппаратно, восстановятся на значения в момент входа. Как быть, в
таком случае, с прерыванием, которое переключало контекст задачи и
при выходе должно оставить новые значения регистров, не те, чтобы
были на момент входа? Разве HPE не будет препятствовать сохранению
новых значений регистров, если они - контекст задачи RTOS, на
которую только что Nikolay_Po(14 знак., 16.06.2026 17:16)
- Дык, этта... Контекст задачи должэн переключать планировщик. - mse homjak(16.06.2026 18:46)
- Ну так все порты FreeRTOS на RISC-V (да и на прочие схожие по
возможностям контроллера прерываний чипы/архитектуры), используют
для переключения контекста прерывание. Контекст прерывания (содержимое набора регистров, значение указателя стека) перед
возвратом из прерывания, заменяется на контекст задачи ОС (то же самое, плюс некоторые регистры, которые могут не
сохранятся при обычном прерывании). И HPE этому препятствует,
восстанавливая контекст прерывания Nikolay_Po(996 знак., 16.06.2026 21:10)
- Ну, ХЗ. Я предполагал, что стек задачи, это не стек машины. Или там
нет возможности для такого финта ушами? Ну, типа, mashine/user
mode. Там указателя стека, как такового, нет, мож как-то можно
разделять стек машины и стек задачи? По крайней мере, команда mret
на что-то намекает. Да и, в принцыпе, наработана масса трюков, типа
замены вершины стека и возврат из прерывания в процэдуру
сохранения/смены контента для переключения задач. - mse homjak(16.06.2026 22:36)
- Если задача должна быть вытеснена (а FreeRTOS - вытесняющая ОС),
это можно сделать, лишь прервав задачу прерыванием. Внутри
прерывания, вместо восстановления контекста прерывания "как было до
прерывания", восстанавливается контекст более приоритетной задачи.
И вот это нетиповое использование прерывания, с возвратом не в
прежний контекст прерывания, а в новый, и, по моему мнению, не
совместимо с аппаратным восстановлением контекста. Nikolay_Po(387 знак., 16.06.2026 22:37)
- Сохранение, да. Но эксепшын, аппаратен и сразу, в машине моде. Т.е
код будет исполнен всегда, плус, у него свои регистры и всё такое. mse homjak(366 знак., 15.06.2026 19:58)
- А нет желания спросить у синего кита? Он тоже китайский, про свои
родные контроллеры ответят: ### Резюме по вашим вопросам: 1.
**Верно.** Каждое прерывание (и вложенное в том числе), которое
может вызвать переключение контекста, должно работать на выделенном
стеке прерываний, чтобы не затереть стек задачи. 2. **Верно.**
Использовать `naked` обязательно. Компилятор не знает про
`mscratch` и вашу логику переключения стеков. Только ручное
управление контекстом спасет Yft(925 знак., 11.06.2026 17:11)
- ниче не понял, но вопросы правильные. я когда портил - сильно лоб
морщил. у меня сделано 1) не все прерывания выключаются, только те
что могуть влиять на планировщик, для этого есть регистр
PFIC_ITHRESDR порога пиоритета 2) таски работают в user режиме чтоб
не достали до SCR-регистров. 3)чтото еще перепиливал klen(23200 знак., 11.06.2026 01:00, ссылка)
- Посмотрел я. И не понравилось в твоих примерах, что прерывания
глобально блокируются дольше, чем мне хотелось, см. GIHWSTKNEN. С
момента его установки, глобально прерывания блокированы. Nikolay_Po(179 знак., 24.06.2026 23:26)
- Кстати, в шаблоне для RISC-V, в свежем порте FreeRTOS, заложили
условное сохранение контекста FPU: Nikolay_Po(129 знак., 15.06.2026 13:42, ссылка)
- Правильно ли я понял, что для ОСРВ, прерывания полностью
блокируются сбросом бита MIE? И нет возможности
разрешать не запрещать более приоритетные прерывания, не влияющие на задачи
и переключения контекста ОС? Nikolay_Po(975 знак., 12.06.2026 22:03)
- А где эти? Особенно интересуют макросы для обработчиков прерываний
при входе POP_ISR_SP и выходе PUSH_ISR_SP. Nikolay_Po(451 знак., 11.06.2026 15:30)
- Скоро выборы.. :) Как там потом - а как карта ляжет.. --> Solo(28 знак., 02.09.2026 12:32, Off, ссылка, youtube, полностью)
- А какая самая быстродоступная программа распознавания текста в ПДФ
файлах (сканированных, вестимо)? - Kpoк(30.08.2026 20:28, dao, полностью)
- Поизучал вчера возможности PDF-XChange Editor версии 10 в части
OCR. Для моих потребностей годится, ограничения демо-режима не
мешают. ЫЫyкпy(940 знак., 03.09.2026 08:50, ссылка)
- А никто не пробовал "болвану" подсунуть сканированный pdf или djvu
и попросить не только перевести, но и полностью сохранить
форматирование, выдав в итоге latex'овский файл? - Eddy_Em(02.09.2026 13:15)
- есть/был достаточно древний пакет умевший в лоб осээрить и пдфы и дежавю. LordN(407 знак., 02.09.2026 18:23)
- Запускать в виртуалбоксе ворованый файнридер как-то не хочется. Тем
более, ИИ развелось, как собак нерезаных! А что до латеха, то мне
иной раз попадается китайская документация - очень хотелось бы ее
перевести на английский с сохранением форматирования, т.е. без
латеха никак не обойтись. - Eddy_Em(02.09.2026 19:19)
- Попробуй гуглу ( translate.google.com ) этот pdf скормить. Я так
переводил китайские даташиты, местами получается кривовато, но
читать можно. - ЫЫyкпy(03.09.2026 09:12)
- Не совсем идеально, но более-менее пдф документ с большим
количеством картинок, таблиц, формул с сохранением форматирования
мне перевёл deepl . Он платный, но 1 раз в месяц с ограничением
объёма, можно небольшой документик перевести. arisov77(244 знак., 02.09.2026 21:04, ссылка, ссылка)
- пробовал нескольких бесплатных попросить почистить фон в pdf от "рыбу заворачивали" - самый
мягкий посыл был как в известном анекдоте Vit(82 знак., 02.09.2026 14:36)
- попробуй гугель объектив. с картинок он нормально распознаёт текст. - LordN(02.09.2026 13:14)
- без регистрации и смс, сама скачает teseract и сделает невидимый
подстрочник для выделения и поиска ну и собрать/разобрать может - ocr_pdf(1 знак., 31.08.2026 08:46,
, ссылка)
- Wondershare PDFElement - Vit(30.08.2026 21:51)
- Из быстродоступных - онлайновые распознавалки. Погуглить их весьма
несложно. - reZident(30.08.2026 21:42)
- FineReader - Бoмж(30.08.2026 21:34)
- Спасибо - Kpoк(30.08.2026 22:27)
- Угу. - Бapбoc(30.08.2026 21:43)
- Кортекс М, memcpy() через DMA. Имеет смысл? по идее, если
тормознуть проц, еще как имеет. Вопрос. Как изящно тормозуть проц и
запустить его по окончании работы DMA. Делать прерывание по концу
ДМА, а процессор уводить в __WFI(); ? - IBAH(31.08.2026 16:48, ARM, полностью)
- как вы скзали wfi + dma irq. но я бы не засыпал проц - в это время
параллельно исполнять целевой код. то есть распараллеливание
копирование и еще чтото. - klen(31.08.2026 19:10)
- Зачем? - SciFi(31.08.2026 16:48)
- ну мне кажется, что это всяко быстрей, чем по байтику копировать - IBAH(31.08.2026 18:51)
- Библиотечные memcpy не по байтику копируют, там разогнано. Ну и
опять же, зачем? Куда-то опаздываем? - SciFi(31.08.2026 19:07)
- Быстрее будет только на заметных объемах данных, т.к. ДМА надо
настроить, это время. А еще ДМА может работать на частоте в разы
ниже процессорной, тогда выигрыша по скорости может не быть. AlexBi(104 знак., 31.08.2026 19:06)
- Могу ошибаться, но разве DMA не через раз (условно) шевелится,
только когда шина высвободилась?... POV(189 знак., 31.08.2026 18:55)
- Обычно шины ОЗУ и ПЗУ разные, шина ОЗУ часто свободна - AlexBi(31.08.2026 19:09)
- Насколько я понимаю проц имеет самый высокий приоритет на шине, и
если его усыпить, то DMA все по быстренькому перекидает, и гораздо
быстрее чем проц ручками. - IBAH(31.08.2026 19:09)
- Всё уже было. Вот тут с картинками: SciFi(2 знак., 31.08.2026 19:14 - 19:25, ссылка, картинка)
- Странно: почему у newlib-nano такое сильное отставание в memcpy()? Eddy_Em(107 знак., 01.09.2026 09:03)
- Там как раз по байтику. Зато минимум кода. - SciFi(01.09.2026 09:16)
- Ты в листинг загляни. Бывает, оно оптимизирует и всё, что можно,
копирует полными словами. А бывает - по байтам. Может от версии
библиотеки зависеть. YMMV. - Nikolay_Po(01.09.2026 09:16)
- Еще ведь от модели МК зависит: на всяких "нулевках", если
копировать невыровненными словами, будет хардфолт. Т.е. недостающие
до слова из головы и хвоста надо побайтно, остальное - по словам. Eddy_Em(546 знак., 01.09.2026 10:27)
- По умному эти функции должны инлайниться самим компилятором (его
оптимизатором), и не зависеть от библиотеки. Такие компиляторы
есть, но не все. - AlexBi(01.09.2026 09:51)
- memcpy не такая уж простая функция. я бы сказал, что инлайнятся
реализации в зависимости от условий. самое жирное в плане
реализации - копирование перекрывающихся областей - когда
(src+size) > dst. потому везде пихать одинаковое - как-то
нерационально. и вместо поиска оптимальной реализации в рантайме и
соответствующего оверхеда это дело по возможности инлайнится именно
компилятором. - Vit(01.09.2026 12:25)
- Есть плюсы и минусы у этого подхода. Обобщать "умно" или "неумно"
здесь едва ли имеет смысл. - SciFi(01.09.2026 09:54)
- Можете сказать какие есть минусы? - AlexBi(01.09.2026 09:56)
- ЕМНИП, сталкивался с тем, что компилятор решил, что указатель
выравненный, и заинлайнил соответствующее копирование, а он был
невыравненный. Можно, конечно, сказать, что сам дурак, но это ещё
одна мина на минном поле, можно было обойтись и без неё. - SciFi(01.09.2026 10:24)
- Что интересно - с отключенным у DMA FIFO получается немного
быстрее. - ЫЫyкпy(01.09.2026 07:12)
- негрузиться!!! что там? - IBAH(31.08.2026 19:21)
- Ув. администратор При попытка войти в форум по нику NickB53 система
пишет "Не найден паспорт". Подскажите как можно восстановить вход в
форум - NickB53(03.09.2026 12:21,
, Webmaster)
- Сегодня, 1 сентября, подошел срок обязательного учета домашней
птицы и кроликов в личных подсобных хозяйствах - если птиц или
кроликов больше 10. На этом фоне в соцсетях появились сообщения,
что владельцы ЛПХ понесли кур регистрировать в МФЦ - =L.A.=(1 знак., 01.09.2026 18:53, Off, ссылка, полностью)
- А чо случилось-то? По ящику - явление Христа народу и интернет
летает как бешеный! Solo(1 знак., 03.09.2026 09:43, Off, картинка)
- Не будет ли General любезен записать в план уборку вложенных полос
прокрутки? Когда читаешь ветки в "развëрнутом виде", то прокрутка
мышкой то и дело срабатывает не так, как ожидаешь. - !Neofit(03.09.2026 09:13, Webmaster)