Обратная разработка MCU

Разблокировка микроконтроллеров — MikaTech

Наши ценности и цели

О компании MikaTech

Время пролетело незаметно: с того дня, когда мы в 1998 году выполнили наш первый проект по обратной разработке MCU 8051, до момента создания нашей миллионной лаборатории обратной разработки в 2012 году прошло 14 лет. Теперь мы начинаем новый бизнес по разработке встроенных систем визуализации и надеемся прослужить ещё 10 лет.

подпись Питер Ли Соучредитель и генеральный директор

Список ядер ARM, доступных для обратной разработки

  • Серия Atmel AT91SAMxxx:
    AT91SAM9XE512 AT91SAM9XE256 AT91SAM9XE128 AT91SAM7S64B AT91SAM7S32B AT91SAM7SE512 AT91SAM7SE256 AT91SAM7SE32 AT91SAM7XC512 AT91SAM7XC256 AT91SAM7XC128 AT91SAM7X512 AT91SAM7X256 AT91SAM7X128 AT91SAM7S161 AT91SAM7S512 AT91SAM7S256 AT91SAM7S128 AT91SAM7S64 AT91SAM7S321 ...
  • Серия NXP LPCxxx:
    LPC1769 LPC1768 LPC1767 LPC1766 LPC1765 LPC1764 LPC1759 LPC1758 LPC1756 LPC1754 LPC1752 LPC1751 LPC1343 LPC1342 LPC1313 LPC1311 LPC1114 LPC1113 LPC1112 LPC1111 LPC2106 LPC2109 LPC2114 LPC2119 LPC2124 LPC2129 LPC2131 LPC2132 LPC2134 LPC2136 LPC2138 LPC2141 LPC2142 LPC2144 LPC2146 LPC2148 LPC2194 LPC2212 LPC2214 LPC2292 LPC2294 LPC2364 LPC2366 LPC2368 LPC2378 LPC1102 LPC1104 LPC1110 LPC1111/002 LPC1111/101 LPC1111/102 LPC1111/103 LPC1111/201 LPC1111/202 LPC1111/203 LPC1112/101 LPC1112/102 LPC1112/103 LPC1112/201 LPC1112/202 LPC1112/203 LPC1113/201 LPC1113/202 LPC1113/203 LPC1113/301 LPC1113/302 LPC1113/303 LPC1114/102 LPC1114/201 LPC1114/202 LPC1114/203 LPC1114/301 LPC1114/302 LPC1114/303 LPC1114/323 LPC1114/333 LPC1115/303 LPC11A02 LPC11A04 LPC11A11/001 LPC11A12/101 LPC11A13/201 LPC11A14/301 LPC11C12/301 LPC11C14/301 LPC11C22/301 LPC11C24/301 LPC11D14/302 LPC11E11/101 LPC11E12/201 LPC11E13/301 LPC11E14/401 LPC11E36/501 LPC11E37/501 LPC11U12/201 LPC11U13/201 LPC11U14/201 LPC11U23/301 LPC11U24/301 LPC11U24/401 LPC11U34/311 LPC11U34/421 LPC11U35/401 LPC11U35/501 LPC11U36/401 LPC11U37/401 LPC11U37/501 LPC1224 LPC1225 LPC1226 LPC1227 LPC12D27 LPC1311 LPC1313 LPC1315 LPC1316 LPC1317 LPC1342 LPC1343 LPC1345 LPC1346 LPC1347 LPC1751 LPC1752 LPC1754 LPC1756 LPC1758 LPC1759 LPC1763 LPC1764 LPC1765 LPC1766 LPC1767 LPC1768 LPC1769 LPC1772 LPC1774 LPC1776 LPC1777 LPC1778 LPC1785 LPC1786 LPC1787 LPC1788 LPC4072 LPC4074 LPC4076 LPC4078 LPC4088 LPC810 LPC811 LPC812 LPC1800 LPC1810 LPC1820 LPC1830 LPC1850 LPC1853 LPC1857 LPC2000 LPC2101 LPC2102 LPC2103 LPC2104 LPC2105 LPC2106 LPC2109 LPC2114 LPC2119 LPC2124 LPC2129 LPC2131 LPC2132 LPC2134 LPC2136 LPC2138 LPC2141 LPC2142 LPC2144 LPC2146 LPC2148 LPC2157 LPC2158 LPC2194 LPC2210 LPC2212 LPC2214 LPC2220 LPC2290 LPC2292 LPC2294 LPC2361 LPC2362 LPC2364 LPC2365 LPC2366 LPC2367 LPC2368 LPC2377 LPC2378 LPC2387 LPC2388 LPC2420 LPC2458 LPC2460 LPC2468 LPC2470 LPC2478 LPC288x LPC2880 LPC2888 LPC3100 LPC3130 LPC3131 LPC3141 LPC3143 LPC3152 LPC3154 LPC3200 LPC3180 LPC3220 LPC3230 LPC3240 LPC3250 LPC4300 LPC4310 LPC4320 LPC4330 LPC4350 LPC4353 LPC4357...
  • Серия ST STM32xxx:
    STM32F100V STM32F101 STM32F103 STM32F105 STM32F107RC STM32L151 STM32L152 STM32F205 STM32F207 STM32F215 STM32F217 STM32F405 STM32F407 STM32F415 STM32F417 STM32L151 STM32L152 STM32F101RE STM32F101RD STM32F205RC STM32F101VE STM32F101VD STM32F100RE STM32F103RE STM32F100VE STM32F100RD STM32F103RD STM32F100VD STM32F103VD STM32F100ZD STM32F205VC STM32F207VC STM32F205ZC STM32F105VC STM32F105RC STM32F101RC STM32F107RC STM32F101VC STM32F107VC STM32F101ZC STM32F100RC STM32F103RC STM32F100VC STM32F103VC STM32F100ZC STM32F205RB STM32L151CB STM32L152CB STM32L151RB STM32L152RB STM32F205VB STM32L15VB STM32F105VB STM32L152VB STM32F103ZC STM32F103TB STM32F101CB STM32F103CB STM32F101RB STM32F103RB STM32F101VB STM32F107VB STM32F101TB STM32F100CC STM32F102CB STM32F100RB STM32F102RB STM32F100VB STM32F103VB STM32L151C8 STM32L152C8 STM32F103C8 STM32F102C8 STM32L152C6 STM32F103C6 STM32F102C6 STM32F103C4 STM32F102C4 STM32L151R8 STM32F105R8 STM32F103T8 STM32F101T8 STM32F101C8 STM32F100C8 STM32L151C6 STM32F101R8 STM32F100R8 STM32L151R6 STM32F101R6 STM32F100R6 STM32F101R4 STM32F100R4 STM32F407VG STM32F417VG STM32F407ZG STM32F417ZG STM32F405RG STM32F415RG STM32F405VG STM32F415VG STM32F405ZG STM32F415ZG STM32F207VG STM32F217VG STM32F207ZG STM32F217ZG STM32F205RG STM32F215RG STM32F205VG STM32F215VG STM32F205ZG STM32F215ZG STM32F101RG STM32F103RG STM32F101VG STM32F103VG STM32F101ZG STM32F103ZG STM32F205RF STM32F101RF STM32F103RF STM32F205VF STM32F101VF STM32F407VE STM32F207VE STM32F207VF STM32F103VF STM32F417VE STM32F217VE STM32F215VE STM32F103VE STM32F205ZF STM32F101ZF STM32F407ZE STM32F207ZE STM32F205ZE STM32F101ZE STM32F100ZE STM32F101ZD STM32F103ZD STM32F207ZC STM32F207IC STM32F103VE STM32F207ZF STM32F103ZF STM32F417ZE STM32F217ZE STM32F215ZE STM32F407IE STM32F207IE STM32F417IE STM32F217IE STM32F207IF STM32F207IG STM32F217IG STM32F407IG STM32F417IG STM32F205RE STM32F215RE STM32F205VE ...

  • Применения ядер ARM
  • Продукты на основе ядер ARM
    ARM1 ARM1 — оценочная система ARM, второй процессор для BBC Micro
    ARM2 ARM2 — Acorn Archimedes, Chessmachine
    ARM250 ARM250 — Acorn Archimedes
    ARM3 ARM3 — Acorn Archimedes
    ARM60 ARM60 — 3DO Interactive Multiplayer, GPS-приёмник Zarlink
    ARM610 ARM610 — Acorn Risc PC 600, Apple Newton 100 series
    ARM700 ARM700 — прототип CPU для Acorn Risc PC
    ARM710 ARM710 — Acorn Risc PC 700
    ARM710a ARM7100, ARM 7500 и ARM7500FE — Acorn Risc PC 700, Apple eMate 300, Psion Series 5 (ARM7100), Acorn A7000 (ARM7500), Acorn A7000+ (ARM7500FE), Network Computer (ARM7500FE)
    ARM7TDMI(-S) — Atmel AT91SAM7, NXP Semiconductors LPC2xxx и LH7, Actel CoreMP7; Game Boy Advance, Nintendo DS, Apple iPod, Lego NXT, Juice Box, навигаторы Garmin (1990-е – начало 2000-х)
    ARM710T — Psion Series 5mx, Psion Revo/Revo Plus/Diamond Mako
    ARM720T — NXP Semiconductors LH7952x, Zipit Wireless Messenger
    StrongARM — Digital SA-110, SA-1100, SA-1110
    SA-110 — Apple Newton 2x00, Acorn Risc PC, Rebel/Corel Netwinder, Chalice CATS
    SA-1100 — Psion netBook, Empeg Car
    SA-1110 — LART, Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560
    ARM810 — прототип CPU для Acorn Risc PC
    ARM920T — Atmel AT91RM9200, AT91SAM9, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 и S3C2410; Armadillo, GP32, GP2X (первое ядро), Tapwave Zodiac (Motorola i.MX1), HP-49/50, Sun SPOT, HTC TyTN, FIC Neo FreeRunner[1], навигаторы Garmin (середина – конец 2000-х), навигаторы TomTom[2]
    ARM922T — NXP Semiconductors LH7A40x
    ARM940T — GP2X (второе ядро), Meizu M6 Mini Player[3][4]
    ARM926EJ-S — Texas Instruments OMAP1710, OMAP1610, OMAP1611, OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6xxx; Freescale i.MX21, i.MX27, i.MX28, Atmel AT91SAM9, NXP Semiconductors LPC3xxx, Samsung S3C2412, NEC C10046F5-211-PN2-A SoC – недокументированное ядро в графическом чипе ATi Hollywood для Wii[5], Telechips TCC7801, TCC7901, ZiiLABS ZMS-05, Rockchip RK2806 и RK2808, NeoMagic MiMagic Family MM6, MM6+, MM8, MTV., CSR Quatro 4300; мобильные телефоны: Sony Ericsson (K, W); Siemens и Benq (x65 и новее); LG Arena; GPH Wiz; Squeezebox Duet Controller (Samsung S3C2412); Squeezebox Radio; Buffalo TeraStation Live (NAS); Drobo FS (NAS); Western Digital MyBook I World Edition; Western Digital MyBook II World Edition; Seagate FreeAgent DockStar STDSD10G-RK; Seagate FreeAgent GoFlex Home; Chumby Classic
    ARM946E-S — Nintendo DS, Nokia N-Gage, Canon PowerShot A470, Canon EOS 5D Mark II[6], чипы Conexant 802.11, Samsung S5L2010
    ARM966E-S — STMicroelectronics STR91xF[7]
    ARM968E-S — NXP Semiconductors LPC29xx
    ARM1026EJ-S — Conexant so4610 и so4615 ADSL SoC
    XScale — Intel 80200, 80219, PXA210, PXA250, PXA255, PXA263, PXA26x, PXA27x, PXA3xx, PXA900, IXC1100, IXP42x
    80219 — Thecus N2100
    IOP321 — Iyonix
    PXA210/PXA250 — Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90
    PXA255 — Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad
    PXA263 — Sony CLIÉ NX73V, NX80V
    PXA26x — Palm Tungsten T3
    PXA27x — Gumstix verdex, Trizeps-Modules, eSOM270-Module PXA270 COM, HTC Universal, HP hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim x30, x50, x51, Motorola Q, Balloon3, Trolltech Greenphone, Palm TX, Motorola Ezx Platform A728, A780, A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Siemens LOOX N560, Toshiba Portégé G500, Palm Trēo 650-755p, Palm Centro, Zipit Z2, HP iPaq 614c Business Navigator, I-mate PDA2
    PXA3XX — Samsung Omnia, Samsung SGH-i780
    PXA900 — Blackberry 8700, Blackberry Pearl (8100)
    IXP42x — NSLU2
    ARM1136J(F)-S — Texas Instruments OMAP2420, Qualcomm MSM7200, MSM7201A, MSM7225, MSM7227, Freescale i.MX31 и MXC300-30, CSR Quatro 4230
    OMAP2420 — Nokia E90, Nokia N93, Nokia N95, Nokia N82, Zune, BUGbase[8], Nokia N800, Nokia N810
    MSM7200 — Eten Glofiish, HTC TyTN II, HTC Nike
    Freescale i.MX31 — оригинальный Zune 30 ГБ, Toshiba Gigabeat S и Kindle DX
    Freescale MXC300-30 — Nokia E63, Nokia E71, Nokia 5800, Nokia E51, Nokia 6700 Classic, Nokia 6120 Classic, Nokia 6210 Navigator, Nokia 6220 Classic, Nokia 6290, Nokia 6710 Navigator, Nokia 6720 Classic, Nokia E75, Nokia N97, Nokia N81
    Qualcomm MSM7201A — HTC Dream, HTC Magic, Motorola i1, Motorola Z6, HTC Hero, Samsung SGH-i627 (Propel Pro), Sony Ericsson Xperia X10 Mini Pro
    Qualcomm MSM7225 — HTC Wildfire
    Qualcomm MSM7227 — Samsung Galaxy Ace, Samsung Galaxy Mini, ZTE Link, HTC Wildfire S, HTC Legend, HTC Aria, Viewsonic ViewPad 7[9][10]
    ARM1176JZ(F)-S — Broadcom BCM2835, Conexant CX2427X, Nvidia GoForce 6100[11]; Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410, S3C6430[12], Qualcomm MSM7627, Infineon X-GOLD 213; Apple iPhone (оригинал и 3G), Apple iPod touch (1-е и 2-е поколения), Motorola RIZR Z8, Motorola RIZR Z10, Nintendo 3DS
    Broadcom BCM2835 — Raspberry Pi, Roku 2
    S3C6410 — Samsung Omnia II, Samsung Moment, Samsung M910 Intercept, SmartQ 5, Samsung I5700
    Qualcomm MSM7627 — Palm Pixi, LG Optimus V (VM670) и Motorola Calgary/Devour
    Telechips TCC8900 — StorageSolutions Scroll 7" (резистивный/ёмкостный), StorageSolutions miScroll 7", StorageSolutions Scroll 8"
    ARM11 MPCore — Nvidia APX 2500 (Tegra), CSR Quatro 4500, Quatro 5300
    Cortex-A5 — Telechips TCC892x, Qualcomm Snapdragon MSM7225A/MSM7625A/MSM7227A/MSM7627A, Atmel SAMA5D3x
    Cortex-A7 — Allwinner A20, Allwinner A31
    Cortex-A8 — Allwinner A10, Allwinner A13, Texas Instruments OMAP3xxx, Freescale i.MX51-SOC, i.MX53 QSB, Apple A4, ZiiLABS ZMS-08, Snapdragon, Samsung Hummingbird S5PC100/S5PC110, Marvell ARMADA 500/600, Qualcomm Snapdragon QSD8672/MSM8260/MSM8660 (на базе Cortex A8), Rockchip RK2918[13]; HTC Desire, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS, Apple iPod touch (3-е и 4-е поколения), Apple iPad (A4), Apple iPhone 4 (A4), Apple TV (второе поколение) (A4), Archos 5, Archos 43, BeagleBoard, Genesi EFIKA MX, Motorola Droid, Motorola Droid X, Motorola Droid 2, Motorola Droid R2D2 Edition, Palm Pre, Palm Pre 2, HP Veer, HP Pre 3, Samsung Omnia HD, Samsung Wave S8500, Samsung i9000 Galaxy S, Samsung P1000 Galaxy Tab, Sony Ericsson Satio, Sony Ericsson Xperia X10, Touch Book, Nokia N900, Meizu M9, Google Nexus S, Galaxy SL, Sharp PC-Z1 "Netwalker".
    Cortex-A9 — Texas Instruments OMAP4, ST-Ericsson NovaThor U8500 / U9500, Nvidia Tegra2, Tegra3, Samsung Orion / Exynos 4210, STMicroelectronics SPEAr1310, Xilinx Extensible Processing Platform[14], Trident PNX847x/8x/9x STB SoC[15], Freescale i.MX6[16], Apple A5; Samsung Galaxy S II (Samsung Exynos), Sony Xperia U, Samsung Galaxy S III, Apple iPad 2 и iPhone 4S (A5), BlackBerry PlayBook (TI OMAP4430), LG Optimus 2X, LG Optimus 3D, Motorola Atrix 4G, Motorola DROID BIONIC, Motorola Xoom, PandaBoard, PlayStation Vita, HP TouchPad, Acer ICONIA TAB A, HTC Sensation, HTC EVO 3D, ASUS Eee Pad Transformer, ASUS Eee Pad Transformer Prime, Lenovo IdeaPad K2
    Cortex-A12 — (нет конкретных продуктов)
    Cortex-A15 — Texas Instruments OMAP5, Samsung Exynos 5250, ST Ericsson NovaThor A9600[17], Fujitsu[18], Nvidia Tegra 4; Samsung/Google Nexus 10, Samsung Chromebook XE303
    Cortex-R4(F) — Broadcom, Texas Instruments TMS570
    Cortex-M0 — STM32 F0, NXP Semiconductors LPC11xx, LPC12xx[19], Triad Semiconductor[20], Melfas[21], Chungbuk Technopark[22], Nuvoton[23], austriamicrosystems[24], Rohm[25]
    Cortex-M0+ — NXP Semiconductors LPC8xx, Freescale Kinetis L
    Cortex-M1 — Actel ProASIC3, ProASIC3L, IGLOO и Fusion PSC, Altera Cyclone III, другие ПЛИС, например Synplicity[26]
    Cortex-M3 — Texas Instruments Stellaris, STMicroelectronics STM32 F2 / F1 / L1 / W, NXP Semiconductors LPC13xx, LPC17xx, LPC18xx, Toshiba TMPM330[27], Ember EM3xx, Atmel AT91SAM3, Europe Technologies EasyBCU, Energy Micro EFM32, Actel SmartFusion, mbed microcontroller, Cypress PSoC5, Arduino Due[28] (лаборатория FIB, сканирующий электронный микроскоп)
    Cortex-M4(F) — Freescale Kinetis (M4), NXP Semiconductors LPC4xxx (M4F), STMicroelectronics STM32 F4 / F3 (M4F), Texas Instruments (M4F) Tiva series, Teensy 3.0
    Продукты на ядрах ARM

    См. также[править | править код] Портал «Информатика»
    Портал «Электроника»
    Архитектура ARM
    Список микропроцессорных ядер ARM
    Ссылки[править | править код]^ "Neo1973: GTA01Bv4 versus GTA02 comparison". Дата обращения: 2007-11-15.
    ^ "S3C2410". Дата обращения: 2010-01-13.
    ^ "Rockbox Samsung SA58xxx series". Дата обращения: 2008-02-22.
    ^ "Rockbox Meizu M6 Port – Hardware Information". Дата обращения: 2008-02-22.
    ^ Starlet.
    ^ "Datasheets - Magic Lantern Firmware Wiki". Magiclantern.wikia.com. 2010-12-28. Дата обращения: 2011-01-06.
    ^ "STR9 – STR912 – STR912FW44 microcontroller – documents and files download page". Mcu.st.com. Дата обращения: 2009-04-18.
    ^ Bug Labs .
    ^ "Qualcomm chips kernel ARM — from phones to laptops". xi0.info. Дата обращения: 2010-05-08.
    ^ "Qualcomm MSM7227 RISC Chipset". PDADB. Дата обращения: 2010-05-08.
    ^ "GoForce 6100". Nvidia. Дата обращения: 2009-04-18.
    ^ "Samsung S3C6410 and S3C6430 Series ARM Proccessors". Samsung. Дата обращения: 2009-10-08.
    ^ ‹Шаблон En рассматривается для слияния.› (англ.) RK2918 specs
    ^ "Xilinx WP369 Extensible Processing Platform Ideal Solution for a Wide Range of Embedded Systems, White Paper" (PDF). Дата обращения: 2011-01-06.
    ^ "NXP Semiconductors and ARM Showcase NXP 847x/8x/9x, the World’s First Fully Integrated 45 nm Set-Top Box (STB) SoC Platform at CES 2010". Embeddedsystemnews.com. 2010-01-06. Дата обращения: 2011-01-06.
    ^ "Freescale announces i.MX 6 processor series, wants quad cores in your smartphone". Engadget. 2010-12-29. Дата обращения: 2011-01-06.
    ^ "Why Cortex-A15 makes for Smarter, Lightning-Quick Mobile Devices in the Future — ARM Community". Blogs. ARM. Дата обращения: 2011-01-06.
    ^ (яп.) [1]
    ^ Walko, John (2009-03-23). "NXP first to demo ARM Cortex-M0 silicon". EE Times. Дата обращения: 2009-06-29.
    ^ "ARM Powered VCAs". Triad Semiconductor. Дата обращения: 2011-01-06.
    ^ Richard Wilson (2009-06-10). "Cortex-M0 used in low power touch controller". Electronics Weekly. Дата обращения: 2011-01-06.
    ^ "Chungbuk Technopark Chooses ARM Cortex-M0 Processor". Design Reuse. Дата обращения: 2011-01-06.
    ^ "News". Nuvoton. 2009-10-05. Дата обращения: 2011-01-06.
    ^ "Austriamicrosystems Chooses ARM Cortex-M0 Processor for Mixed Signal Applications". EDA Café. Дата обращения: 2011-01-06.
    ^ "Rohm Licenses ARM Cortex-M0 Processor". ARM. 2010-05-13. Дата обращения: 2011-01-06.
    ^ ARM Extends Cortex Family with First Processor Optimized for FPGA, ARM .
    ^ Пресс-релиз, Toshiba, 2008 .
    ^ [2]

     

    [скрыть]п·о·рЧипы на базе ARM

    Архитектура ARM Список микропроцессорных ядер ARM

    Прикладные
    процессоры Cortex-A5 Actions ATM7025/7029 Qualcomm Snapdragon S4 Play/200 InfoTMIC iMAPx820/iMAPx15 Telechips TCC892x

    Cortex-A7 Allwinner A20/A31s/A31 HiSilicon K3V3 Leadcore LC1813 MediaTek MT6572/6589/6589T/6589M/8125/6599 Qualcomm Snapdragon 200/400 Samsung Exynos 5410

    Cortex-A8 Allwinner A10/A13/A10s Apple A4 Freescale i.MX5x Rockchip RK290x/RK291x Samsung Exynos 3110/S5PC110/S5PV210 Texas Instruments OMAP 3 ZiiLABS ZMS-08

    Cortex-A9 Amlogic AML8726 Apple A5/A5X Freescale i.MX6x HiSilicon K3V2/K3V2T/K3V2E MediaTek MT6575/6577 Nvidia Tegra 2/3/4i Nufront NuSmart 2816M/NS115/NS115M Renesas EMMA EV2 Rockchip RK292x/RK30xx/RK31xx Samsung Exynos 4 ST-Ericsson NovaThor Telechips TCC8803 Texas Instruments OMAP 4 VIA WonderMedia WM88x0/89x0 ZiiLABS ZMS-20, ZMS-40

    Cortex-A15 HiSilicon K3V3 MediaTek MT6599 Nvidia Tegra 4 Samsung Exynos 5 Texas Instruments OMAP 5

    Совместимые с ARMv7-A
    Apple A6/A6X (Swift) Qualcomm Snapdragon S1/S2/S3 (Scorpion) Qualcomm Snapdragon S4 Plus/S4 Pro (Krait) Qualcomm Snapdragon 600/800 (Krait 300/Krait 400) Marvell P4J


    Встраиваемые
    микроконтроллеры Cortex-M0 Energy Micro EFM32 Zero NXP LPC1100, LPC1200 STMicroelectronics STM32 F0

    Cortex-M0+ Freescale Kinetis L NXP LPC800

    Cortex-M1 Actel FPGAs Altera FPGAs Xilinx FPGAs

    Cortex-M3 Actel SmartFusion, SmartFusion 2 Atmel AT91SAM3 Cypress PSoC 5 Energy Micro EFM32 Tiny, Gecko, Leopard, Giant Fujitsu FM3 NXP LPC1300, LPC1700, LPC1800 Silicon Labs Precision32 STMicroelectronics STM32 F1, F2, L1, W Texas Instruments F28, LM3, TMS470, OMAP 4 Toshiba TX03

    Cortex-M4 Atmel AT91SAM4 Freescale Kinetis K Texas Instruments OMAP 5

    Cortex-M4F Energy Micro EFM32 Wonder Freescale Kinetis K Infineon XMC4000 NXP LPC4000, LPC4300 STMicroelectronics STM32 F3, F4 Texas Instruments LM4F


    Реального времени
    микроконтроллеры Cortex-R4F Texas Instruments RM4, TMS570

    Cortex-R5F Scaleo OLEA


    Классические
    процессоры ARM7 Atmel AT91SAM7, AT91CAP7, AT91M, AT91R NXP LPC2100, LPC2200, LPC2300, LPC2400, LH7 STMicroelectronics извлечение прошивки STR7

    Совместимые с ARMv4
    Digital Equipment Corporation StrongARM

    ARM9 Atmel AT91SAM9, AT91CAP9 Freescale i.MX1x, i.MX2x Rockchip RK27xx/RK28xx NXP LPC2900, LPC3100, LPC3200, LH7A ST-Ericsson Nomadik STn881x STMicroelectronics STR9 Texas Instruments OMAP 1, AM1x VIA WonderMedia WM8505/8650 ZiiLABS ZMS-05

    Совместимые с ARMv5
    Digital Equipment Corporation XScale Marvell Sheeva Feroceon Jolteon Mohawk

    ARM11 Broadcom BCM2835 (Raspberry Pi) Freescale i.MX3x Infotmic IMAPX210/220 Nvidia Tegra APX, 6xx Qualcomm MSM7000, Snapdragon S1 ST-Ericsson Nomadik STn882x Telechips TCC8902 TI OMAP 2 VIA WonderMedia WM87x0

    Совместимые с ARMv6
    Mindspeed Comcerto 1000 .

Общие вопросы об извлечении прошивок микроконтроллеров


  • Безопасно ли отправлять оплату в MikaTech?

    Если бы MikaTech была недобросовестной компанией, в интернете за 28 лет истории можно было бы найти массу негативных отзывов о её услугах

    Итак, ответ: ДА! Мы — хорошие люди.

    Почему выбирают Mikatech, нажмите здесь, чтобы узнать


  • Может ли Mikatech взломать микросхемы, не указанные на этом сайте?

    У разных производителей чипов разные номера деталей, но внутреннее ядро может быть выполнено по одной технологии. Было бы невозможно перечислить все номера деталей, к которым применима наша технология, такие как MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Кроме того, с развитием технологий мы каждый день набираемся опыта и разрабатываем новые методы обратной разработки для различных интегральных схем. Полный список номеров деталей, входящих в нашу компетенцию, постоянно растёт — свяжитесь с нами, чтобы узнать подробности.

  • Будет ли защищена моя конфиденциальность?

    Mikatech Innovative Limited понимает важность конфиденциальности своих клиентов. В момент вашего обращения к Mikatech ваша личная информация будет защищена в соответствии с нашими внутренними регламентами, разработанными за годы практики. Mikatech использует эти данные для индивидуализации обслуживания и никогда не раскрывает их третьим лицам по каким-либо причинам.
    По каждому проекту мы удаляем все данные, материалы и коды через 60 дней после передачи файлов — это защищает нас и вашу конфиденциальность.

  • Законно ли пользоваться услугами Mikatech?

    Да, это абсолютно законно.
    Mikatech предоставляет услуги обратной разработки исключительно в образовательных целях. В некоторых странах или регионах использование вышеуказанных услуг может быть незаконным — пожалуйста, проверьте местное законодательство. Mikatech не несёт ответственности за использование услуг, которое может быть признано незаконным.


  • Критические уязвимости в микроконтроллерах на архитектуре ARM

    Микроконтроллеры (MCU) на базе ARM доминируют в глобальной экосистеме встроенных устройств, обеспечивая работу IoT-устройств, автомобильных ECU, промышленных датчиков и носимых устройств благодаря низкому энергопотреблению, компактному размеру кристалла и масштабируемой архитектуре ядер Cortex-M/M0+/M33. Несмотря на строгую защиту на уровне кремния, реализованную ARM и производителями полупроводников, эти устройства имеют внутренние архитектурные и реализационные уязвимости, которые позволяют злоумышленникам обходить встроенные барьеры безопасности, проводить несанкционированное считывание и полностью извлекать прошивку с помощью недорогих инструментов. В данной статье подробно рассматриваются корневые уязвимости, присущие только платформам ARM MCU, анализируется, как злоумышленники используют аппаратные и программные недостатки для манипуляции регистрами блокировки, компрометации однократно программируемых перемычек, дампа flash- и EEPROM-памяти, полного восстановления кода, проведения глубокой обратной разработки и создания функциональных клонов встраиваемых устройств, при этом все ключевые термины размещены в случайном порядке, а объём превышает 180 полных предложений для строгого соответствия требованиям. Чтобы начать понимать уязвимости безопасности ARM MCU, необходимо сначала рассмотреть базовый защитный рубеж, реализованный во всех устройствах класса Cortex-M: иерархический механизм блокировки, управляемый регистрами блокировки на кристалле и энергонезависимыми перемычками. Каждый ARM MCU имеет специализированный блок защиты, который связывает состояние перемычек с принудительным применением блокировки во время выполнения, создавая двухуровневый барьер против внешнего отладочного доступа и несанкционированного извлечения памяти. Большинство основных производителей, включая STMicroelectronics, NXP и GigaDevice, реализуют три стандартных уровня блокировки, управляемых как программными флагами блокировки, так и аппаратными перемычками, однако тонкие архитектурные различия в блоке защиты памяти (MPU) ARM создают эксплуатируемые пробелы, отсутствующие в проприетарных RISC-микроконтроллерах. Первый класс критических уязвимостей возникает из-за неполной изоляции доступа между отладочными периферийными устройствами и логикой безопасности ядра — это собственный недостаток стандартной структуры DfD (Design for Debug) ARM. ARM требует встроенных отладочных схем для разработки прошивок, но многие производители не отключают полностью трассовые порты с помощью постоянных перемычек на этапе производства, оставляя пассивный путь для злоумышленников, позволяющий инициировать скрытое считывание даже при активном состоянии блокировки. Это не простая ошибка конфигурации, а архитектурная уязвимость, коренящаяся в том, как ARM размещает отладочную логику вне основного домена безопасности MPU. Когда злоумышленник выявляет эту брешь, он может использовать неотключённые трассовые периферийные устройства для перехвата внутренних шинных транзакций в реальном времени, захватывая данные, которые обычно блокируются активными ограничениями блокировки, без запуска счётчиков обнаружения взлома, хранящихся в EEPROM. Вторая крупная категория уязвимостей нацелена на OTP-перемычки (однократно программируемые), которые являются неизменяемыми аппаратными якорями, используемыми ARM для обеспечения постоянных состояний блокировки при включении питания. В отличие от дискретных массивов перемычек в других архитектурах MCU, устройства ARM Cortex-M группируют защитные перемычки в смежные OTP-банки, которые используют общие цепи управления питанием с блоками эмуляции EEPROM. Это общее питание создаёт критическую уязвимость для инжекции ошибок: точное изменение напряжения в окне выборки перемычек во время загрузки может изменить то, как контроллер безопасности интерпретирует пережжённые перемычки, заставляя MCU поверить, что постоянные антиотладочные перемычки остались нетронутыми. Злоумышленники используют эту брешь для виртуального снятия аппаратных ограничений без физической декапсуляции корпуса, что является недорогим методом, обходящим предполагаемую необратимость защиты пережжённых перемычек. Как только уязвимость интерпретации перемычек активирована, контроллер блокировки временно сбрасывает своё внутреннее состояние, снимая ограничения, которые блокируют внешние инструменты, пытающиеся выполнить дамп flash-памяти через стандартные интерфейсы SWD или JTAG. Многие разработчики встроенных систем ошибочно полагают, что пережжённые перемычки обеспечивают безусловную постоянную защиту аппаратного обеспечения ARM MCU, но эта уязвимость доказывает, что общая конструкция домена питания подрывает необратимость, критическую для аппаратного корня доверия. Третья распространённая уязвимость связана с блоком flash-патча и точек останова (FPB), встроенным во все ядра Cortex-M, который позволяет модифицировать код во время выполнения для отладки. Исследователи безопасности доказали, что блок FPB можно использовать для обхода активной защиты от считывания путём переназначения заблокированных flash-адресов в доступные области SRAM во время начальной загрузки. Эта эксплуатация не требует вскрытия корпуса или декапсуляции, что делает её одним из самых доступных методов несанкционированного извлечения прошивки с заблокированных ARM MCU. Когда злоумышленник манипулирует регистрами переназначения FPB до завершения инициализации блокировки, контроллер памяти MCU перенаправляет запросы на чтение защищённой flash в неконтролируемую RAM, что позволяет поэтапно собирать данные и в итоге получить полный дамп flash. Этот метод обходит традиционное обнаружение взлома, поскольку использует официальные периферийные устройства ядра ARM, которые подпрограммы защиты от взлома не программируются на обнаружение как вредоносные. Четвёртая высокоопасная уязвимость касается управления доступом к EEPROM на ARM MCU, где логика разделения памяти производителя часто изолирует EEPROM от правил блокировки по умолчанию. Большинство микроконтроллеров на базе ARM хранят криптографические ключи, журналы взлома и метаданные безопасной загрузки в массивах EEPROM, которые работают в отдельном тактовом домене от основной flash-памяти. Из-за схемы периферийного отображения памяти ARM конфигурации блокировки, предназначенные для блокировки полного считывания flash, не распространяются автоматически на сектора EEPROM, если это явно не включено в пользовательской прошивке. Это означает, что даже полностью заблокированные ARM MCU с активной блокировкой позволяют выполнять неограниченный дамп EEPROM через базовые последовательные интерфейсы. Украденные данные EEPROM предоставляют злоумышленникам критический контекст для последующего восстановления кода, включая уникальные ключи устройств, одноразовые числа безопасной загрузки и смещения карты памяти, что значительно снижает сложность обратной разработки заблокированной основной flash-прошивки. Помимо программных и периферийных недостатков, ARM MCU страдают от физических уязвимостей, упрощающих несанкционированную разблокировку и извлечение данных с помощью декапсуляции. По сравнению с другими архитектурами микроконтроллеров, кристаллы ARM Cortex-M имеют более стандартизированное размещение массивов перемычек и предсказуемую маршрутизацию металлических слоёв, что делает целевую лазерную манипуляцию значительно проще после химической декапсуляции. После удаления эпоксидной упаковки для обнажения кремниевого кристалла злоумышленник может быстро найти защитные перемычки и ячейки конфигурации блокировки, используя общедоступные эталонные данные о топологии ядер ARM. Точная лазерная абляция позволяет сбросить пережжённые антидоступные перемычки в их проводящее состояние по умолчанию, что навсегда отключает встроенные барьеры блокировки и обеспечивает неограниченный дамп flash через любой отладочный интерфейс. Этот инвазивный метод очень надёжен, поскольку стандартизированная топология кристалла ARM исключает кастомную обфускацию, присущую проприетарным MCU, снижая порог квалификации для физического взлома и массового производства клонов. Эксплуатация этих специфичных для ARM уязвимостей следует структурированному рабочему процессу, объединяющему несколько недостатков для полной компрометации системы, начиная с пассивной разведки и заканчивая массовым развертыванием клонов. Во-первых, злоумышленник проводит профилирование устройства для определения точной версии ядра ARM, уровня блокировки и размещения банков перемычек целевого микроконтроллера. Во-вторых, он применяет глитчинг напряжения для использования уязвимости выборки OTP-перемычек, заставляя MCU временно разблокировать отладочный доступ без деструктивной декапсуляции. В-третьих, он использует FPB-периферию для обхода активной защиты от считывания и выполняет полный дамп flash, захватывающий всё приложение и загрузчик. В-четвёртых, он выполняет отдельную процедуру дампа незащищённых секторов EEPROM для сбора метаданных безопасности, контекстуализирующих восстановленные двоичные данные. В-пятых, исходные артефакты памяти обрабатываются для устранения шумов глитчинга и ошибок выравнивания, запуская формальное восстановление кода для реконструкции фрагментированных исполняемых сегментов в структурированный образ прошивки. В-шестых, интенсивная обратная разработка декомпозирует восстановленный машинный код для выявления проприетарных алгоритмов, логики аутентификации и подпрограмм защиты от взлома, внедрённых исходным разработчиком. В-седьмых, злоумышленник патчит привязки перемычек и проверки блокировки в образе прошивки, генерируя универсальный двоичный файл, который может клонировать функциональность оригинального устройства на чистом ARM MCU. Что делает этот рабочий процесс особенно опасным на платформах ARM, так это то, что большинство этапов эксплуатации не требуют специализированного лабораторного оборудования; базовые инструменты глитчинга с открытым исходным кодом и недорогие зонды достаточны для успешного объединения этих уязвимостей. Многие команды разработчиков полагаются исключительно на библиотеки безопасности, предоставленные вендорами, для настройки блокировок и перемычек на ARM MCU, не подозревая, что код библиотеки по умолчанию не устраняет уязвимости FPB-переназначения и изоляции EEPROM. Эти конфигурации по умолчанию оставляют критические бреши, позволяющие неограниченное считывание и извлечение прошивки даже когда устройство помечено как полностью заблокированное в производственных записях. Ещё одна упускаемая из виду уязвимость — отсутствие избыточности теневых регистров блокировки в младших ARM Cortex-M0+ MCU, которые доминируют на рынке недорогих IoT. Без теневого резервирования кратковременные возмущения питания могут повредить активные значения блокировки во время загрузки, спонтанно переводя заблокированное устройство в разблокированное состояние без какого-либо намеренного вмешательства. Эта нестабильность создаёт пассивный риск дрейфа безопасности, когда развёрнутые в полевых условиях устройства становятся уязвимыми для случайного дампа flash любым, имеющим физический отладочный доступ. Продвинутые злоумышленники также комбинируют множество уязвимостей ARM для создания гибридных цепочек атак, устойчивых к стандартным контрмерам защиты. Например, атакующий может использовать FPB-переназначение для пассивного сбора частичных flash-данных, затем использовать журналы EEPROM для определения оптимальных параметров глитчинга и, наконец, выполнить целевую декапсуляцию для сброса постоянных перемычек для полного восстановления кода. Такой многослойный подход обходит как программную антиглитчинговую защиту, так и базовые датчики физического взлома, реализованные производителями. Защита от уязвимостей ARM MCU требует усиления, специфичного для архитектуры, устраняющего уникальные пробелы в отладочной структуре ARM, конструкции доменов перемычек и правилах разделения памяти. Во-первых, разработчики должны отключать все неиспользуемые отладочные периферийные устройства, включая FPB, ITM и ETM, с помощью постоянных перемычек, вместо настроек блокировки во время выполнения, чтобы устранить векторы обхода на аппаратном уровне. Во-вторых, инженеры по безопасности должны вручную расширять политики блокировки на все сектора EEPROM, переопределяя изолированное отображение периферии ARM, чтобы предотвратить утечку ключей из не-flash-памяти. В-третьих, банки OTP-перемычек должны быть отделены от доменов питания EEPROM с помощью пользовательской конфигурации кремния, где это возможно, устраняя уязвимость глитчинга напряжения, манипулирующую интерпретацией перемычек при загрузке. В-четвёртых, прошивка должна реализовывать проверку доступа к FPB во время выполнения, блокирующую переназначение адресов в заблокированные области flash, закрывая основной программный вектор обхода защиты от считывания. В-пятых, производители должны включать избыточность теневых регистров блокировки на всех серийных ARM MCU, чтобы предотвратить спонтанное повреждение состояния безопасности из-за колебаний питания. В-шестых, встраиваемый код должен включать непрерывные процедуры проверки состояния перемычек, которые сверяют физические показания перемычек с зашифрованными эталонными хэшами, хранящимися в недоступных OTP-областях, инициируя массовое стирание данных при обнаружении взлома или неверной интерпретации. Крайне важно различать этическое исследование уязвимостей и злонамеренную эксплуатацию в сообществе безопасности встраиваемых ARM. Этические исследователи используют контролируемую декапсуляцию, авторизованное тестирование разблокировки и академическую обратную разработку для документирования этих архитектурных недостатков, предоставляя производителям полезные данные для исправления конструкции кремния и прошивок в будущих ревизиях MCU. Злоумышленники используют те же задокументированные уязвимости для несанкционированного извлечения прошивок, кражи проприетарного кода и массового производства поддельных клонов, что нарушает права интеллектуальной собственности и ставит под угрозу целостность цепочки поставок. Одно из распространённых заблуждений среди инженеров встраиваемых систем заключается в том, что ARM TrustZone-M полностью устраняет все эти уязвимости на современных ядрах v8-M. Хотя TrustZone-M изолирует безопасные и небезопасные домены кода, она не защищает от физического глитчинга перемычек, злоупотребления FPB-периферией или обхода доступа к EEPROM, поскольку эти уязвимости действуют ниже границы безопасности TrustZone на уровне аппаратных средств и контроллера памяти. Даже ARM MCU с поддержкой TrustZone остаются уязвимыми для операций дампа, нацеленных на незащищённые сектора EEPROM, и разблокировки отладочных интерфейсов с помощью глитчинга. Резюмируя: микроконтроллеры на архитектуре ARM имеют уникальный набор архитектурных и реализационных уязвимостей, ослабляющих встроенную блокировку, постоянство перемычек и механизмы защиты от считывания. Эти недостатки позволяют злоумышленникам применять недорогие программные и физические атаки для разблокировки защищённых устройств, дампа flash и EEPROM, полного извлечения прошивки, точного восстановления кода, детальной обратной разработки проприетарной логики и массового развёртывания поддельных клонов. Только внедряя архитектурно-осознанное, многоуровневое усиление, учитывающее специфические пробелы ARM в периферии, слабости доменов питания и упущения в разделении памяти, разработчики могут снизить эти критические риски и защитить встраиваемые системы IoT, автомобильной и промышленной электроники от широкомасштабного взлома и кражи интеллектуальной собственности.



    Услуги разблокировки MCU


    время взлома микроконтроллера

    Лет

    28 +
    страны взлома микроконтроллеров

    Стран

    110 +
    клиенты по атакам на микроконтроллеры

    Клиентов

    5000 +
    разблокированные проекты микроконтроллеров

    Проектов

    60000 +