Обновить
3
Владимир Полетаев@vmpru

Пользователь

0,1
Рейтинг
Отправить сообщение

Странное поведение. Такое впечатление, что некорректно написан скрипт линкера.

Это что-то на AVRском? Забыл как страшный сон лет 20 назад, с появлением MSP430. А потом и их тоже забыл, перейдя на различные ARMы.

Сугубо Гарвардская архитектура, с абсолютно разными адресными пространствами, к которым даже доступ идёт разными командами и которая требует нестандартных расширений компилятора.

Кстати, возвращаясь к большим микроконтроллерам. Там тоже всё не так просто. Например, для того, чтобы разместить в ПЗУ массив указателей на строки в ПЗУ, нужно в объявлении переменной поставить два const, иначе строки лягут в ПЗУ, а вот указатели на них останутся в ОЗУ.

Меряться размером исполняемого файла хорошо на писюках. А вот на микроконтроллерах куда важнее размер используемого ОЗУ. (Пояснение для незнакомых с проблемой - обычно на микроконтроллерах размер ОЗУ (для данных) на один-два порядка меньше, чем размер ПЗУ (сегмент кода)).

И вот тут-то стандартный printf представляет большую (иногда очень большую - больше, чем размер ОЗУ) проблему. Стандартная реализация printf создаёт в стеке буфер на несколько килобайт, чтобы там формировать строки для вывода. Для микроконтроллеров это жуткое расточительство. Поэтому хорошие реализации исполняющих систем (библиотек) имеют возможность выбора вариантов printf, от максимальных до минимальных. А многие микроконтроллерщики имеют свой собственный велосипед вместо стандартного printf, который практически не трогает стек.

(Ну и возвращаясь к размеру кода - бывают реализации printf, не поддерживающие вывод float/double. Это тоже сильно снижает размер кода).

Плюс за упоминание кода Radix50 с размером алфавита в 40 символов. ;)

Скорее на интеллектуальный возраст. Если сумел сломать систему - значит взрослый.

Придется вспоминать RFC 1149.

https://datatracker.ietf.org/doc/html/rfc1149

Есть проверенные реализации?

Ну вообще-то ASCII Art давным-давно изобретен.

И больше никаких велопрокатов в Южно-Сахалинске.

Теперь там их некому развивать. «Градовод» Вишневский сбежал в Москву, к Антоновичу в "СпецДурьПроект".

Для разных работ нужен разный инструмент.

Справедливое замечание про современные паяльники. Только исходная цитата и мой комментарий относятся к доисторическим паяльникам времён диалектического материализма, изображенным на втором фото в статье.

Умный слушал терпеливо
Излиянья дурака:
«Не затем ли жизнь тосклива,
И бесцветна, и дика,
Что вокруг, в конце концов,
Слишком много дураков?»
Но, скрывая желчный смех,
Умный думал, свирепея:
«Он считает только тех,
Кто его еще глупее,–
«Слишком много» для него...
Ну а мне-то каково?»

(c) Саша Черный, 1909 год.

заточить нужным способом или ошкурить напильником,

Старые мастера советуют сначала поработать над жалом молотком, выковав нужную форму и только в самом конце использовать напильник. Наклёп от молотка улучшает внутреннюю структуру жала, в результате чего медь медленнее растворяется в припое и жало служит дольше.

На Али или Озоне недорого продаются малюсенькие платы с разъемом USB-C, выходными клеммами и переключателями, которые задают выходное напряжение в ряду 5/9/12/15/20 V.

Они просто сообщают блоку питания желаемое напряжение, а блок питания в ответ выдает его, если конечно умеет.

Искать на Али по запросу PD decoy.

Не понимаю, почему приложениям в основном пространстве виден квн в рабочем пространстве? Кривая реализация?

Да, виртуализировать графику - не простая задача, но в какой-то мере решаемая.

Факт включения квн виден приложениям не всегда. По личному опыту: pixel 9 pro, стоковая прошивка андроид 16. Стоит adguard (без дополнительных букв, рекламорезка) в режиме квн. При дефолтных настройках банковские приложения ругаются. Но в настройках адгуарда можно для избранных приложений снять галочку "направлять траффик через Adguard" и тогда эти приложения начинают работать как на чистой системе. Но ключик в строке состояния продолжает гореть.

Почему-то все стараются изолировать маха в песочнице, откуда он успешно выползает.

А что если поступить наоборот - сделать в телефоне отдельное пространство с квн и инстаргаммом? То есть в открытую на телефоне нет никаких подозрительных приложений. Но если запустить на нём некую программу (виртуальную машину?), то в ней уже запустится квн и нужные приложения. При этом квн будет виден только избранным программам.

Чтобы открыть сайт из белого списка, надо сначала прочитать этот список.

Чтобы прочитать белый список, надо открыть сайт с этим списком.

Чтобы открыть сайт...

Рекурсия, сэр!

Статистика использования поворотников будет собираться?

На платных дорогах даже дополнительные камеры ставить не надо. Достаточно слегка поправить софт.

Места расположения пунктов оплаты или рамок известны, момент их проезда уже фиксируется. Так что средняя скорость на трассе элементарно вычисляется.

Более того, достаточно предусмотреть штраф в правилах проезда или тарифах, и можно рубить деньгу не оглядываясь на КоАП.

Ибо у нас есть и свои детекторы. Просто руки. Ну, куда ими можно долезть.

Лезть руками в блок питания, чтобы пощупать температуру компонентов? Добрый совет.

Даже после выключения питания 310 вольт на входном конденсаторе не сразу спадает.

Не поленился, набросал тестовую программку на сях. Консольное приложение, выводит 10 000 строк по 62 символа + перевод строки. Время выполнения 7 секунд. Скорость 90 000 символов в секунду. Получается на порядок быстрее стандартного последовательного порта.

UPD: Такой результат получился при использовании putchar. После его замены на printf, выводящий строку целиком, время выполнения упало с 7 секунд до 0.2 секунды, соответственно скорость около 3 мегабайт в секунду.

Вывод: используйте буферизацию для минимизации накладных расходов.

1

Информация

В рейтинге
3 741-й
Зарегистрирован
Активность

Специализация

Инженер встраиваемых систем
Ведущий