Задать вопрос
  • Как создать файл без формата с скомпилированным C кодом?

    15432
    @15432
    Системный программист ^_^
    Возможно, вам поможет кусок из моей статьи, к которому я сам часто возвращаюсь. Правда, там ARM, но gcc везде +/- одинаковый

    arm-none-eabi-gcc.exe echo.c -nostdlib -O2 -o echo.out
    arm-none-eabi-objcopy.exe -O binary echo.out echo.bin


    По-хорошему нужно явно указать компилятору, по какому адресу будет расположен код директивой -Wl,--section-start=.text=0x30400000 (последнее - требуемый адрес)
    Ответ написан
    Комментировать
  • Можно ли копировать защищенные nfc метки?

    15432
    @15432
    Системный программист ^_^
    Да, вам нужно повторить исследования из этой статьи и получить ключи от ваших карт. После чего через приложение NXP для чтения/записи карт сохранить состояние и постоянно его записывать обратно, восстанавливая число поездок на лифте. Это при условии, что баланс действительно хранится на карте.
    Ответ написан
    Комментировать
  • Как вернуть звук в наушники?

    15432
    @15432
    Системный программист ^_^
    В настройках BIOS на вкладке устройств установите пункт "HD Audio Controller" в "Enabled". Если уже стоит Enabled, то сделайте сброс настроек BIOS (Reset to defaults), потом установите снова
    Ответ написан
  • Падает интернет на пару секунд, если есть какая-то нагрузка в чем дело?

    15432
    @15432
    Системный программист ^_^
    Если вы упираетесь в лимит скорости соединения, роутер или провайдер может дропать пакеты
    Ответ написан
    Комментировать
  • Почему разные кабели заряжают телефон по разному?

    15432
    @15432
    Системный программист ^_^
    С проводами всё достаточно запутано и до USB-C было сильно разрознено у разных производителей.

    По умолчанию в стандарте USB 2.0 задано максимальное потребление 500 мА, это очень мало для современных устройств. Поэтому однажды кто-то подумал, - "а давайте жрать больше!" Но чтобы случайно не повредить USB-"мамы", которые умеют не более 500 мА, придумали следующее:

    - в блоке питания, поставляемом с телефоном, дата-линии сделали замкнутыми
    - в телефоне проверялось, если линии замкнуты, то это наша зарядка, жрём 1А

    Другие производители решили сэкономить, их телефоны жрали 1А, если на дата-линиях ничего не было, при этом в комплекте с телефоном клали кабель, в котором вместо 4 проводов было всего 2. Ещё такие кабели часто клали в комплект к маложрущим устройствам, где и 500мА за глаза. "Первые" с таким проводом не могли видеть замкнутость контактов и ограничивали ток до 500 мА, до сих пор с таким сталкиваюсь.

    Но время шло, и современным телефонам и 1000 мА стало мало. Придумали несколько разных и несовместимых между собой протоколов, как "договориться" с телефоном о повышении тока и напряжения, это:
    - qualcomm quick charge (QC 2.0, QC 3.0) - особым изменением напряжений на дата-линиях зарядка сообщала, что она умеет, а телефон выбирал ток и напряжение
    - apple что-то там - наличием резисторов определенного номинала на дата-линиях, зарядка сообщала, что можно жрать 2А
    - VOOC от компаний oppo/realme - импульсами на линиях питания зарядка договаривалась с телефоном о токе и напряжении, это работает даже на проводах без дата линий
    - некоторые телефоны вообще не общаются с зарядкой, а тупо увеличивают потребление, пока не увидят, что зарядка перестает справляться (напряжение падает ниже 4.8в)
    - power delivery - наконец попытка стандартизовать весь этот зоопарк, тоже обмен подключением сопротивлений на дата-линиях

    Из этого получаем, что в любом из случаев, если:
    - в кабеле перебиты дата-линии, и у вас не случай с VOOC
    - в кабеле перебиты линии питания и напряжение сильно падает
    - протоколы быстрой зарядки телефона не совпадают с протоколами в блоке питания
    - блок или телефон слишком тупой и вообще не имеет быстрой зарядки

    то заряжаться будет медленно. и хорошо если на 1А, а не на 0.5А

    Я иногда использую USB-хрень с экранчиком, которая общается с телефоном вместо блока питания и просит его жрать по максимуму, 2А, но это несколько опасный путь, т.к. блок питания может не вытянуть такой ток.
    Ответ написан
    4 комментария
  • Можно ли получить контроль над аппаратным обеспечением и BIOS с помощью Python?

    15432
    @15432
    Системный программист ^_^
    Можно, конечно. Я описывал, как это сделать, в своей статье:
    https://habr.com/ru/articles/527006/

    Если корректно реализовать необходимые команды, то можно всё, что умеет сама система, в том числе:
    - изменение напряжения процессора (нужно отреверсить AMD ryzen master utility или Intel XTU, чтобы узнать, какие регистры для этого записывать, делал когда-то по просьбе знакомого, даже проц спалить реально, у него случайно получилось)
    - управление диском через ATA команды (понадобится реализовать драйвер AHCI интерфейса, это я уже для себя делал)
    - взаимодействие с USB на низком уровне параллельно основной системе (тоже для себя делал)
    - изменение настроек BIOS (тупо перезапись NVRAM раздела флешки, см статью, там чтение, но запись тоже возможна, если почитать доки на чипсет ;)

    Короче на что фантазии хватит.
    Ответ написан
    3 комментария
  • Как происходит сброс и заполнение регистров ip и cs когда CPU получает сигнал reset при включении ПК?

    15432
    @15432
    Системный программист ^_^
    1. Включается Intel ME, загружает свою прошивку из SPI флеш-памяти, инициализирует своё оборудование (внешние и внутренние PCIe шины, sideband, DMI), всё это происходит в мини-операционке внутри чипсета PCH
    2. Intel ME считывает модель CPU, находит соответствующий блок микрокода в FIT разделе флешки, проверяет его цифровую подпись и загружает в CPU, вероятно, по шине DMI
    3. RISC-подобный микрокод запускается на CPU, в том числе в нем закодированы инструкции по инициализации режима процессора и начальные значения программного заполнения некоторых регистров. Часть регистров заполняется аппаратно - они выполнены "в кремнии" так, что когда на reset-domain, которому они принадлежат, приходит сигнал сброса, они устанавливаются в значение по умолчанию. Опционально могут быть программные или аппаратные "страпы", меняющие значение по умолчанию на другое, например, загрузка с резервного бутлоадера.
    4. RISC Микрокод начинает парсить x86 команды и исполнять программный код, симулируя CISC архитектуру и обеспечивая конвейеризацию, hyper-threading и кучу всего другого

    Это если очень и очень кратко, все подробности вам вряд ли кто расскажет, многое под NDA, многое сложно понять.
    Ответ написан
    Комментировать
  • Почему может передоваться только 8 байт через сокеты клиенту?

    15432
    @15432
    Системный программист ^_^
    У вас там sizeof(get_buffer) стоит. Вы спрашиваете размер указателя, что равно 8. Таким способом можно указывать размер только статических массивов, для динамической памяти - только указывать конкретные значения
    Ответ написан
    1 комментарий
  • Питание ESP32, как решить проблему с питанием от розетки?

    15432
    @15432
    Системный программист ^_^
    Блок с некачественным питанием. Попробуйте другой.
    По поводу type-C, всё просто, допаяйте резисторы 5.1 КОм на линии CC, китайцы часто их забывают поставить и TypeC-TypeC из-за этого не работают
    Ответ написан
    Комментировать
  • Как правильно прочитать параметры таблицы?

    15432
    @15432
    Системный программист ^_^
    На упаковке написан Vf - падение напряжения на диоде и рекомендуемый ток (700mA). Это значит, что диод гарантированно долговременно может работать, если подать указанный ток и обеспечить охлаждение. Для питания используют источник постоянного тока - на лабораторном БП это соответствует настройкам "напряжение повыше, например 5 вольт, ток ограничить до желаемого"

    При этом рекомендуемый ток из таблиц не обязательно означает, что выше подавать нельзя - светодиоды в фонариках разгоняют и до 5 А (правда, с потерей эффективности) самое главное - отвести тепло, обеспечить охлаждение. Поэтому в таблице ток 1200 указан только для одинарных диодов с падением 2-3 В, ведь на токе 1200 мощность получится как раз 5W, на что и рассчитана как подложка, так и кристалл (о чем тоже указано на упаковке). Другие диоды в таблице, очевидно, внутри имеют несколько соединённых последовательно кристаллов (их падение напряжения кратно выше), соответственно, мощность в 5W они достигнут уже на токе 700 мА.

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

    15432
    @15432
    Системный программист ^_^
    Вероятно, в настройках игры установлен полноэкранный режим, оба монитора будут работать только при настройках "в оконном"
    Ответ написан
  • Как организовать переключение всей периферии, включая два монитора, между MacBook и ПК одним кабелем или действием?

    15432
    @15432
    Системный программист ^_^
    Единственное, что приходит на ум - Thunderbolt док-станция, подключаемая по Type C к макбуку, а для компа доустановить AIC (add-in card), Thunderbolt 3 (titan ridge или новее), Thunderbolt 4 или USB4, в которую воткнуть DisplayPort от видяхи и в которую будет втыкаться USB-C кабель от док-станции.

    Тут нужно посмотреть версию Thunderbolt на маке, выбрать соответствующую док-станцию, которая потянет 2 ваших монитора, найти AIC, который заработает на вашем ПК (могу продать свой AIC titan ridge, все равно не пользую) и надеяться, что всё будет шустро работать
    Ответ написан
    4 комментария
  • Почему при запуске Пк не видит монитор, мышку и клавиатуру?

    15432
    @15432
    Системный программист ^_^
    Да тут у вас в целом комп не запускается. Предположу, что процессор (вы не указали какой) слишком новый для материнской платы и для запуска нужно обновить BIOS (вы не указали версию BIOS, обычно написана на наклейке на ПЗУ матплаты).

    Но так может быть неисправно что угодно
    Ответ написан
    Комментировать
  • Какие современные материнки имеют легкодоступный jtag порт?

    15432
    @15432
    Системный программист ^_^
    Если вы про x86-64 материнки, то легкодоступных отладочных а-ля JTAG разъемов на них нет и никогда не было. Всегда требовалось уникальное дорогое и труднодоступное оборудование, которое очень сложно (если вообще возможно) завести на "магазинном" ПК.

    Если вам очень нужно отлаживать x86-64 настолько полностью, ваш выбор - QEMU. И даже тогда не очень представляю, чем вам поможет JTAG - гораздо полезнее встроенные в ОС средства отладки, они вам и процессы покажут и их память, и точки останова поставить дадут. С низкоуровневым доступом у вас будет физическая память, по которой как-то раскидана ось и перемешаны процессы. И если на микроконтроллере ещё что-то можно понять, то в масштабах ПК с таким доступом очень сложно
    Ответ написан
  • Почему термопринтер XP-365B не включается от АКБ через повышающий DC на 24 вольт?

    15432
    @15432
    Системный программист ^_^
    Но при подключении через эту батарею или лабораторный блок питания с выставленным 24в, термопринтер не включается, просто никакой реакции. Включается только от своего блока питания на 24в. У принтера разъем питания 3х пиновый, не знаю как называется.

    Возможно, вы продаете "минус" только на один контакт из двух необходимых
    Ответ написан
    Комментировать
  • Почему компьютер зависает и теряет SSD в BIOS при нагрузке в некоторых играх?

    15432
    @15432
    Системный программист ^_^
    С чем может быть связана такая проблема?
    Аппаратная или программная ошибка SSD

    Почему SSD исчезает из BIOS?
    Прошивка SSD выпала в ошибку, например. Перетык питания SSD это временно исправляет

    Как диагностировать проблему и устранить её?
    Переткнуть SSD в другой порт, если не поможет, заменить SSD на нормальный, например, Samsung
    Ответ написан
    2 комментария
  • Сайт работает только с мобильного интернета, как запустить с домашнего?

    15432
    @15432
    Системный программист ^_^
    Не, ну всё логично - вы не пользуетесь сайтом лично, а парсите / используете скрипты, создавая повышенную нагрузку. Cloudflare абсолютно логично вас (и видимо всех ваших соседей заодно) за это банит.
    У меня сайт с вашего скриншота на домашнем WiFi открывается нормально. Перестаньте "автоматизировать" и через некоторое время всё само заработает
    Ответ написан
  • Нашел старый HDD и подключил к компу, когда включаю пк, винда не грузится, в чем может быть проблема?

    15432
    @15432
    Системный программист ^_^
    Вообщем, нашел старый HDD и подключил к компу, когда включаю пк, винда не грузится. Стоит мне только отключить SATA провод, так винда сразу подгружается, а когда подключаю уже в загруженной винде, система встает и ничего не грузится.

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

    Возможно он просто умер, но тогда мне кажется система бы его не видела.

    Иногда отдупляется, иногда минуту читает несчастные 100 КБ, нормально для полудохлого диска

    Забыл уточнить, что в проводнике диск тоже появляется.

    Ну ок, вы дождались, пока плохие сектора не прочитаются, диск осилил выдать вам таблицу разделов и часть данных. А оно вам надо? Если данные важные - в контору по восстановлению. Если на данные плевать - очевидно, что лучше не использовать этот диск, починить его не выйдет
    Ответ написан
    Комментировать
  • Возможно ли создать pkg в macOS, который не запрашивает пароль во время установки?

    15432
    @15432
    Системный программист ^_^
    Судя по ответам на stackoverflow, потому что по умолчанию приложуха ставится в Applications, а для доступа туда нужен пароль. Но можно ставить в папку юзера, для этого что-то такое нужно указать:

    Distribution.xml: <domains enable_anywhere="false" enable_currentUserHome="true"/>
    Ответ написан
  • Какой сотовый оператор дает пакет минут, sms и интернета без абонплаты?

    15432
    @15432
    Системный программист ^_^
    Когда-то у мегафона был тариф "умные вещи", 2500 разово и потом 100 МБ / 100 смс / 20 минут в месяц навсегда. Посмотрите, может ещё остался, мы покупали
    Ответ написан
    Комментировать