

TOG
Участник*-
Content Count
354 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by TOG
-
Как защититься от подделки устройства?
TOG replied to AHTOXA's topic in В помощь начинающему
Что за эфемерные биты во Flash ? Можно узнать подробности ? -
Друзья, изучаю одно устройство, оно передает в радиоканал пакеты данных. Исходные данные 8 бит, в радиоканал передается пакет 32 бит. 13 бит - фиксированная маска ( обозначил ее "#" ) Сами биты информации 8 штук (обозначил их "1,2,3,4,5,6,7,8") И XOR суммы: A = XOR (8,7,6,5,4,1) B= XOR (7,6,5,4,3) C = XOR (8,7,3,2,1) D = XOR (7,6,2,1) E = XOR (8,7,4) F = XOR (8,5,4,3,1) G = XOR (8,6,5,3,2,1) H = XOR (5,3,2) I = XOR (8,7,6,5,2) J = XOR (7,5,4,2,1) K = XOR (6,4,3,1) Пакет (32-бит) = A B C D E F G # H I 8 7 6 5 # # 1 # # # # # J K # # # # # 4 3 2 Мне вот интересно, эти многократные XOR-суммы могут служить для коррекции ошибок или это только исключительно пригодно для проверки на достоверность данных ?
-
Друзья, помогите пожалуйста решить один ребус: есть AWG генератор сигналов Siglent SDG5082. Через несколько лет после покупки у него появился глюк: при любой попытке задействовать первый канал он намертво зависал. Пользовались вторым каналом. Потом я подумал, что может быть проблема в прошивке, т.к. вместо серийного номера отображался какой-то мусор. Обновил прошивку. Все заработало, оба канала, все прекрасно. Но через пару дней опять генератор стал зависать при задействовании первого канала. И при очередной перезагрузке он так и остался висеть на заставке (Splash screen). Больше он не загружался, отображает только заставку. В интернете пишут, что повреждение прошивки это очень распространенный дефект на данных генераторах, к сожалению никаких вариантов восстановления прошивки для данной модели производитель не предусмотрел. Поэтому я выпаял чип флэш памяти Spansion S29GL064N90TFI04 и скачал прошивку(в прикрепленных файлах: Firmware original.bin). Вижу такие области: 1. 0x0000 - 0xDBD4 (Видимо распаковщик) 2. 0x0DBD5 - 0xA44B5 (возможно упакованная прошивка для Blackfin'a) 3. 0x100000 - 0x2FFFFF (FPGA DATA) 4. 0x300000 - 0x30FFFF (FOREVER DATA, этой части нет в прошивках распространяемых через сайт производителя) 5. 0x310000 - 0x34FFFF (FOREVER DATA, видимо продублирована для надежности) 6. 0x350000 - 0x7FFFFF (графика, картинки) На плате установлен процессор ADSP BF531 Blackfin, FPGA Lattice LCMXO640C, RAM, FLASH. Если отображается Splash Screen, то какую часть прошивки можно считать исправной ? И на кой там стоит FPGA, на ней собран процессор с линуксом что-ли (судя по времени загрузки (около минуты), когда он еще работал) ? Тот файл обновления прошивки, который производитель распространяет через свой сайт, немного заXORен и требует неких манипуляций. Мне бы хотя бы узнать на какую область обратить больше внимания. SDG5082 Firmware update from internet.zip SDG5082 Firmware original.zip
-
Чтение прошивки микроконтроллера на атомарном микроскопе
TOG replied to TOG's topic in В помощь начинающему
Ну должны же быть в природе микроконтроллеры с защищенным хранилищем ключей типа как в ATSHA204A. Подскажите если кто знает. -
Чтение прошивки микроконтроллера на атомарном микроскопе
TOG replied to TOG's topic in В помощь начинающему
Вопрос пока был чисто теоретический. Ищем способ как-то защитить девайс от клонирования -
Чтение прошивки микроконтроллера на атомарном микроскопе
TOG posted a topic in В помощь начинающему
Друзья, интересует теоретический вопрос: Вот имеем мы к примеру микроконтроллер STM32L051, как пишет производитель он имеет свой уникальный ID (UID 96 bit). Вот прошили мы этот микроконтроллер, защитили его 2-м уровнем и отдали китайцам на вскрытие нашей прошивки. Заплатили $10k. Прошивку они прочитают, это понятно. А смогут ли они прочитать ID микроконтроллера ? -
Друзья, есть только hex файл и нужно пройтись отладчиком по некоторым участкам кода. Можно ли в Keil uVision это как-то сделать ? Микроконтроллер ADuc831.
-
Отладчик / программатор для микроконтроллера ADuC831
TOG replied to TOG's topic in Программирование
Все, разобрались. Так же через UART подключаться можно к камню в режиме отладки. -
Отладчик / программатор для микроконтроллера ADuC831
TOG posted a topic in Программирование
Друзья, имеется древнее устройство на микроконтроллере ADuC831, даташит на микроконтроллер ADuC831 сообщает, что у него имеется встроенный загрузчик и отладчик через UART. Загрузчик кода через UART освоили, с помощью ADI'шной программы WSD. Но как быть с отладкой ? Нигде никаких девайсов для отладки под ADuC831 найти не можем. В Keil uVision во вкладке Debug написано, что нужен некий ADI Monitor Driver, что это такое и где это взять ? Подскажите как отладку запустить ? -
Как в Keil uVision узнать какого размера нужен стек и куча для программы
TOG replied to TOG's topic in Программирование
x893 ОТЛИЧНО ! То что надо ! -
Друзья, неделю боролись с ужасными глюками программы пока наконец не увеличили размер стека. Но как же узнать о таких проблемах заранее ? И чтобы не наугад ?
-
Правильно ли я размещаю большой массив данных во внутренней флэш памяти STM32L051 ?
TOG replied to TOG's topic in ARM, 32bit
Я пробовал много разных вариантов. Компилятор умеет обходить эту таблицу куда бы я ее не разместил, ну в самое начало 0x08000000 я ее понятно не ставил. Получается идет код, потом таблица, потом продолжение кода. Я где-то тут встречал тему, где обсуждалось, что дескать плохо если инициализированные переменные оказались ниже самой программы. Но почему это "плохо" я не понял. Там все куда более странно. Hard Fault возникает при чтении инициализированного массива(глобальная переменная). Читаю из функции. uint8_t dat[] = {1,2,3,4,5,6,7,8,9}; // глобальная переменная SimpleFunc(dat, 4, sig); void SimpleFunc(uint8_t* Buf1, signed int Vector1, uint32_t* Sig) { ... Dat2 = Buf1[Vector1 - 1]; // Тут возникает Hard Fault. Если эту строку закомментировать, то Hard Fault возникает дальше на строке if (Vector1 != 1) // тут тоже может возникнуть Hard Fault -
Друзья, имеется микроконтроллер STM32L051. Размер встроенного флэша у данного МК 64 кБ. нужно разместить во внутренней флэш памяти большой массив данных - 16 кБ. Я размещаю этот массив ближе к началу флэш памяти, а именно по смещению 2кБ от начала, пробовал и в конце флэш памяти размещать. У меня такое чувство, что я что-то делаю не так. Хотя компилятор ошибок не выдает и все вроде работает, но периодически возникают какие-то чертовски странные сбои - программа может буквально на ровном месте улететь в Hard Fault. #define PageSize 128 #define zDATA_addr 0x08000000 + 16 * PageSize static const uint8_t zDATA[] __attribute__((at(zDATA_addr)))= { 0x40, 0x32, 0xD2, 0x60, 0xF9, 0x23, 0x71, 0x11, 0x06, 0x6E, 0x75, 0x86, 0x3F, 0x7C, 0x76, 0x77, 0x98, 0x03, 0x74, 0x77, 0x37, 0x44, 0x5C, 0x12, 0x23, 0xC4, 0xA3, 0x1B, 0x15, 0x5B, 0x48, 0x35, 0x4B, 0x27, 0xDB, 0x63, 0xA1, 0x73, 0x34, 0x5A, 0x92, 0x39, 0x64, 0x34, 0x23, 0x21, 0x5E, 0x4E, 0x90, 0x91, 0x3A, 0x3C, 0x13, 0x78, 0xAB, 0x06, 0xDF, 0x3B, 0x68, 0x14, 0x65, 0x26, 0x53, 0x42, // 1000 строк по 16 байт... 0x50, 0x51, 0x6A, 0x2C, 0x33, 0x58, 0x6B, 0x76, 0xD3, 0x4B, 0x68, 0x74, 0x75, 0x36, 0x72, 0x30};
-
Понял, у меня в настройках была галочка "Verify code download" и Keil проверял целостность программы во флеше.
-
Друзья не могу понять, записываю программу в микроконтроллер STM32L051K8, далее программа стирает одну из последних страниц флэш памяти в которой расположен массив данных и после этого я не могу подключиться в Keil в режиме отладки, выдает "Cannot access target". Через ST-Link Utility все подключается, видно, что страница стерта, но через отладчик Keil подключиться невозможно, только прошивать по новой и после прогона программы опять получаем "Cannot access target". static FLASH_EraseInitTypeDef EraseInitStruct; uint32_t PAGEError = 0; HAL_FLASH_Unlock(); // разлочиваем EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES; EraseInitStruct.PageAddress = 0x08008000; // адрес с которого стирать EraseInitStruct.NbPages = 1; // одну страницу 128 байт HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError); // стираем HAL_FLASH_Lock(); // закрываем
-
Есть ли коммерческие продукты для защиты памяти программ от анализа
TOG replied to TOG's topic in ARM, 32bit
Верно, но трассировать в мусорном коде это тот еще гемор. -
Есть ли коммерческие продукты для защиты памяти программ от анализа
TOG replied to TOG's topic in ARM, 32bit
да, но этот код будет невозможно анализировать , я уж не говорю про его декомпиляцию в нечто си-подобное. Насколько я помню Exe-cryptor перемешивает машинный код с "мусорным" кодом, заменяет стандартные конструкции создаваемые компилятором на свои (очень сильно замороченные). И если в таком коде будет проверка серийного номера микроконтроллера, то ее найти будет очень не просто. Тоже вариант. Только отправив на тот свет пару девайсов, китайцы наверняка сообразят, что нельзя отсоединять батарейку. -
Ручной установщик smd микросхем
TOG posted a topic in Пайка и монтаж
Друзья, давным давно в журнале КиТ видел статью про ручной установщик smd микросхем, совсем простой и соответственно не дорогой. Сейчас по запросу "pick and place" вижу только автоматические установщики. Может кто знает где посмотреть ручной установщик. -
Входной контроль микросхем
TOG replied to TOG's topic in Вопросы надежности и испытаний
Не моем ультразвуком. Уже знаем что при УЗ мойке именно этих чипов кол-во отказов в разы возрастает. -
Есть ли коммерческие продукты для защиты памяти программ от анализа
TOG posted a topic in ARM, 32bit
Друзья, я так понимаю, что китайцы с легкостью вскрывают прошивки практически любых микроконтроллеров. Есть ли средства для защиты от дизассемблирования памяти программ ? Вот для windows, была (или есть) такая штука ExeCryptor, превращающая машинный код в адское месиво не пригодное для анализа. -
Входной контроль микросхем
TOG replied to TOG's topic in Вопросы надежности и испытаний
Крутой каталог ! Жаль под наш корпус у них нет сокета -
Входной контроль микросхем
TOG replied to TOG's topic in Вопросы надежности и испытаний
Нам бы какой нибудь сокет на испытательную плату установить, в сокет кладётся испытуемый чип и прижимается к контактам сокета. Покрутили в руках, если сигнал по всем 3-м осям акселерометра есть, можно считать, что чип живой. Потому-что огромное количество отказов это заклинившая одна ось-Х акселерометра. Технологию монтажа не меняли и вдруг брак попер аж 30%. -
Входной контроль микросхем
TOG posted a topic in Вопросы надежности и испытаний
Люди добрые, очень много попадается бракованных чипов LIS3DH(корпус LGA16 3x3мм). Как бы нам сделать входной контроль ? Может какие готовые приспособы есть на свете ? -
Друзья, вот смотрю я даташит на контроллер заряда литиевых батарей BQ40Z50 и есть там такой химический предохранитель (Chemical Fuse). Контроллер может пережечь его при необходимости. Нигде в инете не нашел таких химических предохранителей. Подскажите, может плохо искал. Или чем его заменить можно ?
-
Разыскивается бюджетная печь для пайки мелких плат
TOG posted a topic in Пайка и монтаж
Товарищи, сейчас мы паяем по 4 платы с помощью такой вот ИК станции. Платы мелкие 40х20мм, запаивается 1 BGA чип. Прогрев очень не равномерный, много брака. Хотим купить печь оплавления припоя, чтобы по 20 плат за раз паять. Посоветуйте пожалуйста что-нибудь годное. (Темы по печкам почитал, смысл понятен - если нужно качество, то Ersa, если жалко денег, то Китай, но придется страдать).