Перейти к содержанию
    

esaulenka

Свой
  • Постов

    1 454
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Весь контент esaulenka


  1. Неживы. А реверсят и дорабатывают всё подряд. Управление двигателем (увеличение мощности или её имитация, снижение экологических норм), добавление всяких плюшек, которые в штатной комплектации не предусмотрены, допиливание всякой мультимедии (включение ютубов/нештатных карт / чёрт-знает-чего-ещё). Но да, рынок сильно больше, чем десяток супер-приборов. Но и специалисты там получше встречаются, уж извините. Если гарантирован возврат и прочие долговременные отношения при аренде, вся эта ерунда с кодами защиты решается юристами в договоре: "нарушите условия использования, перестанем дружить и возьмём неустойку".
  2. Рынок неофициальных услуг "перепишем настройки вашего блока, чтобы он был быстрее-выше-сильнее или адаптируем блок с барахолки на ваш конкретный авто" просто гигантский. Автопроизводители пытаются применять какие-то меры против этого, но никого это не останавливает. Утечка пароля - и все устройства становятся бесплатными. Во-первых, нужно делать уникальные пароли для каждой железки. А во-вторых, ещё раз говорю, посмотрите на асимметричное шифрование. В этом случае добыча пароля из железки не позволит сгенерировать кодов на 100 лет вперёд.
  3. Задача недостаточно хорошо поставлена. У вас этих арендодателей много ведь будет? Т.е. у каждого будет свой (условно) десяток приборов и свой набор арендаторов? Тогда, если мы идём в веб (на стороне единственного производителя), потребуется делать какие-то личные кабинеты, разграничивать права и проч. С нулевым опытом будет тяжело. Проще скинуть ответственность за генерацию этих кодов (и за безопасное хранение генераторов) на арендодателя. Т.е. это будет локальное приложение, в которое вы сможете добавлять новые устройства (строчкой в конфиге, файликом). А дальше - почитайте про ассиметричную криптографию. Половинка ключа - в устройстве, половинка - в генераторе. У каждого - свой собственный. На чём генератор писать - спросите у арендодателя, авось у него комп с виндовсом-то найдётся. Вопрос сводится к "как написать приложение под виндовс с парой кнопок и подключить к нему крипто-библиотеку с RSA".
  4. Ну так код же есть, там всё стандартно-библиотечное. Я не настолько самоуверен, чтобы свои крипто-алгоритмы изобретать 🙂 https://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine https://ru.wikipedia.org/wiki/Вихрь_Мерсенна#Параметры_32-битного_генератора_MT И да, период обозначает количество итераций, когда алгоритм начнёт в точности повторять выданную последовательность. И он ДОСТАТОЧНО большой, чтобы никогда не увидеть подобного в реальной жизни, это авторы алгоритма гарантируют.
  5. Вы почитайте, что-ли, что это за алгоритм такой. Никто не обещал, что генератор случайных чисел не выдаст подряд десяток одинаковых значений. Да, вероятность ОЧЕНЬ маленькая, но ненулевая. Вероятность "два одинаковых значения в произвольных местах" - очевидно выше, и тоже далеко ненулевая. Я не математик ни разу, но это легко доказывается на практике.
  6. Это вероятность получить некое наперёд заданное значение. А вероятность получить пару одинаковых хэшей гораздо выше. Подробности в википедии, "парадокс дней рождения".
  7. Такая фишка уже миллион лет в си-шарпе есть. И это удобнее, чем заводить какой-то дополнительный тип и переопределять ему операторы. Кто у кого скопировал (особенно с учётом факта, что дельфи и си-шарп создал один и тот же человек), я не знаю. Билдер довольно странная штука, имхо. Идея "а давайте сделаем дельфи для тех, кто любит и умеет C++" привела к какой-то странной смеси - тут делаем по-дельфовски, а тут - по-сиплюсплюсному. Но это я билдер готовить не умею, да. Ну и снижение порога входа - не так и плохо. Тут вон постоянно раздаются стоны, что сиплюсплюс очень сложный (Он и мне сложный, я все возможности не только не использую, но даже и не знаю. К сожалению).
  8. Што?! Ничего не надо запускать "под администратором", кроме особо тех случаев, когда надо влезть куда-то в систему (что-то доустановить, какой-то трафик перехватить и т.д.). Компилятор к этим "особым случаям" явно никак не относится. А вот проверить права на каталог проекта стоит. Может, там банально readonly стоит.
  9. Симулятор в IAR

    Здравствуйте. У кого-нибудь есть опыт работы с произвольным бинарником в симуляторе? В хелпе чуть-чуть описано, но, насколько я понял, они хотят ELF, raw binary загрузить нельзя. Вроде б можно из скрипта определить свои области памяти и загрузить туда свои данные, но как-то это нетривиально. Если кто-то видел статью на тему - было б замечательно. PS IAR V850, если что. Если кто-то знает другой _удобный_ симулятор под эту платформу - такие предложения тоже принимаются.
  10. Потому что это дискредитация уникального аналоговнета. А там и до дискредитации честнейшего волеизявления недалеко. А он есть, этот разработчик? Бауманка - это не что-то единое целое, это довольно разветвлённая структура (с довольно громким именем, к тому же). Лет н-цать назад, когда я имел какое-то отношение к этому славному заведению, там были десятки всяких учреждений "Рога-Копыта-Инно-Тех при МГТУ им. Н.Э.Баумана". Вряд-ли ситуация сильно поменялась. Я тут погуглил - работа кипит! https://www.rbc.ru/politics/07/04/2022/624445459a79475dcc07347b (и совсем уж оффтоп) Спасибо за проведённый экзитполл среди пользователей электроникса. Не то чтоб неожиданно, но всё равно интересно.
  11. "Заранее знать" - это хорошее умение. Обычно большинство ошибок от невнимательности. Например, при рефакторинге убрали аргумент у функции, а в каких-то вызовах убрать забыли. Компилируется без проблем, работает, скорее всего, тоже. Но ошибка. Но сам по себе этот факт - только докопаться на собеседовании. Или уровень аргументов типа "GCC - инородный" выяснить...
  12. Это часть стандартной библиотеки: https://en.cppreference.com/w/c/types/NULL Сделайте include <stdlib.h> или include <stddef.h>
  13. Это у K&R надо спрашивать, зачем оно такое придумывалось 🙂 Но вот такое должно нормально собираться: // myfile.h int myfunc(); // myfile.c int myfunc(int x) { return x + 3; } // main.c #include "myfile.h" ... myfunc("hello!", 123); Зачем оно сейчас, кроме как побольнее в ногу стрельнуть, я не знаю. Но вывод из этого всего простой - "параметр" void в сишном коде лучше не убирать.
  14. https://en.cppreference.com/w/c/language/nullptr Но да, поддержку этой "новинки" можно ожидать в IAR AVR лет через н-цать.
  15. В сях int my_func() означает "функция, которая принимает любые аргументы". Атавизм, но никуда не денешься... В плюсах, действительно, можно (и нужно) не писать. Уберите всю эту порнографию, пожалуйста. Есть же каноничный NULL (или nullptr). SPACE, если уж "о вкусах" разговор зашёл.
  16. Заглянул в итоге в даташит на этот RTD2662. Там унутре какой-то потомок 51-го ядра. STM8 - собственная разработка ST, с интелом ничего общего не имеющая. Но походу дела это оно, да. И 8051 там - default target.
  17. Общепринятый способ - написать issue. Точнее, поискать по уже созданным, и в случае необходимости - написать ещё. https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues Можно, конечно, в git log посмотреть емейл автора (со мной пару раз так связывались), но лучше писать в общедоступное место. В обсуждаемом мейкфайле два таргета - native (эмулятор (?), работающий на ПК) и firmware (собственно, прошивка для железки). У вас есть только cygwin-gcc, который умеет собирать только под win64. firmware должно собираться неким sdcc (я довольно далёк от контроллеров дисплеев, и без гугла не скажу, что это такое). Можете попробовать 'make firmware' чтобы получить ворох ошибок об отсутствии второго компилятора. UPD: А почему должно было помочь? Вот если бы вы запустили 'make program' или 'make all', можно было б увидеть разницу. А так - вообще ничего не поменялось. Ну и ещё раз. Почитайте описание Makefile. По сути своей, он очень простой (по крайней мере, пока всякие нехорошие товарищи не пытаются делать простым инструментом сложные вещи, превращая скрипт во что-то нечитаемое).
  18. С вероятностью 99% - не это. Тот же автор в соседнем проекте использует https://github.com/KerJoe/RTDMultiProg/tree/master/interfaces/ch341 К слову, цифирки "341" втречаются только в мейкфайле. Т.е. есть некоторая вероятность, что оно там по ошибке (например, планировался функционал для связи ПК - девайс, но не сложилось). Я бы попробовал выкинуть, для начала. Но в любом случае. правильный подход - попросить автора добавить в исходный репозитарий саму библиотеку или хотя бы ссылку на неё вместо гаданий на гуще.
  19. Для целей "научиться общаться с make'ом" рекомендую нагуглить какой-нибудь другой пример. Желательно чтоб там прямо в описании было написано, что это makefile examples, а не вот это вот "an unsuccessful attempt". Для целей "глубоко разобраться в отличиях POSIX и WinAPI" рекомендую гуглить в сторону "cannot find sys/ioctl.h on MinGW compiler". Но это трудный путь, я сам туда далеко не ходил.
  20. Полистал user manual. Какой-то кривой этот BSL. С большой вероятностью, он подразумевает загрузку собственного загрузчика в RAM и работу уже через него. CAN BSL вообще только так и работает. Попробуйте, действительно, ULink. Возможно, стоит искать оригинал - у меня 100% уверенность, что китайцы свои клоны на совместимость с 8051 не проверяли. Мне кажется, с рук приобрести будет несложно - для современных чипов проще JLink (или его клон) использовать. На моей позапрошлой работе он в шкафу валялся, никому не нужный. Ну и сделайте НОРМАЛЬНЫЕ фото платы. По имеющимся, например, отследить подключение ног TMS / MBC - глаза сломаешь. И вообще - что вы там хотите увидеть? Угол / скорость вы уже нашли. Контрольную сумму, наверное, можно и так подобрать. Команду установки нуля можно добыть из программы диагностики (https://gitlab.com/py_ren/pyren). А кофе варить эта штука всё равно не научится...
  21. Можно придумать, как по-феншую сделать трюк типа `upd_bit(MY_REG).set(SET_MSK).clr(CLR.MSK)`. А ваша задача в исходном звучании не решается, имхо. Надо эти set() / clr() в общую область видимости выносить. Можете обернуть всё это в `namespace HwRegsWrapper { ... };` и в своих драйверах дописать `using namespace HwRegWrapper;`, тогда в остальных местах эти имена не будут мешаться.
  22. Оу. А где можно ознакомиться с этими исследованиями? Или они ещё более секретные, чем это дополнительное ядро?
  23. Мне кажется, этот форум - не лучшее место, чтобы публично заявлять "я не читаю документацию". Это стандартное поведение алгоритма запуска, называется "программная нейтраль". В большинстве моделей автовключение программной нейтрали (при поднятии ручника, подозреваю) можно отключить в настройках.
  24. Мы тут с @Toxa555 чуть-чуть продвинулись с этим вопросом. Как минимум, читать он этот процессор умеет. Следующий вопрос - писать. Так вот, коллеги, у кого-нибудь есть опыт добавления нового процессора в J-Flash ? В их вики всё подробно написано - надо написать XML-ку с описанием процессора (это называется Device Support Kit) и скомпилировать ram-loader (это называется Segger Flash Loader). Загвоздка в том, что в стандартном комплекте никаких примеров нет, и для получения этого саппорт кит они предлагают написать в поддержку. Я нашёл, правда, какие-то loader'ы в комплекте segger SDK (когда-то старая версия пробегала здесь на форуме). Но xml-ок всё равно нету...
  25. Вам не нужен "идентичный самсунг". Надо применить голову и из этого списка https://www.segger.com/supported-devices/search/samsung найти процессор с внутренней флешкой (в понимании сеггера. Прочерк в таблице означает внешнюю флешку), ядром ARM7 и одинаковыми адресами регистров контроллера флеш (IFC_xxx в терминах даташита). Э-э... где я это пропустил? Я не очень внимательно читал. В частности, мне лень там регистрироваться, и картинки мне не показывают. Но я не могу сказать, что действия автора правильные. В частности, он зачем-то пытался засунуть штатный бутлоадер как ram-code прошивальщика. Они оба, конечно, программы для процессора, даже называются одинаково "loader", но больше никаких схожих частей не имеют. Ну и привычка излагать непонятные вещи своими словами, в процессе преиначивая половину, тоже не сильно способствует пониманию... Да, у вас есть дамп от максимально похожего блока? Я бы посмотрел...
×
×
  • Создать...