Notre focus

  • Tout ce qu'ils fabriquent,
    Nous pouvons le casser !

  • Vous êtes toujours
    en sécurité avec nous

Les principaux objectifs de notre service : 1er : mener à bien le travail,
2ème : votre paiement est en sécurité chez nous. Gagnant-gagnant pour nous.


Consultation gratuite


Pourquoi votre paiement est-il en sécurité avec nous ?   En savoir plus...
historique de rétro-ingénierie

Premiers au monde

Nous avons réalisé la rétro-ingénierie du premier microcontrôleur 8051 en 1998. Quelqu'un l'a-t-il fait avant ?

piratage 8051

Notre domaine

break-ic.com enregistré en 2000, vous pouvez le vérifier.

déverrouillage de MCU

Notre expérience

Nous avons traité des milliers de puces et de PCB, anticipé tous les problèmes potentiels.

expérience de piratage

Notre éthique

L'honnêteté favorise les relations à long terme ; nous n'aurions pas pu tromper pendant 28 ans.

Lecture du code MCU Intel


Intel Corporation est une société multinationale américaine de semi-conducteurs, dont le siège est à Santa Clara, en Californie. Intel est le plus grand fabricant de semi-conducteurs au monde en termes de chiffre d'affaires. Elle est l'inventeur de la série x86 de microprocesseurs, les processeurs que l'on trouve dans la plupart des ordinateurs personnels. Fondée le 18 juillet 1968, Intel Corporation est un mot-valise de « Integrated Electronics » (le fait que « intel » soit également le terme pour l'information de renseignement était également très approprié). Intel fabrique également des chipsets pour cartes mères, des contrôleurs d'interface réseau et des circuits intégrés, des mémoires flash, des puces graphiques, des processeurs embarqués et d'autres dispositifs liés aux communications et à l'informatique. Fondée par les pionniers des semi-conducteurs Robert Noyce et Gordon Moore, et largement associée au leadership exécutif et à la vision d'Andrew Grove, Intel combine une capacité de conception de puces avancée avec une capacité de fabrication de pointe. Bien qu'Intel fût à l'origine principalement connue des ingénieurs et des technologues, sa campagne publicitaire « Intel Inside » des années 1990 en a fait, ainsi que son processeur Pentium, des noms familiers.

  • Liste des MCU Intel rétro-ingéniérés par Mikatech :
  • 2.png" width="266" height="228" border="0" class="imageFloatRight">Extraction de code pour les MCU série 87xx : 8741 8741AH 8742 8742AH 8744 8744H 8748 8748H 8749 8749H 8751 8751BH 8751H 8751H-8 87551SB 8752BH 8796BH 8796JF 8797BH 8797JF 8798 ...

    Extraction de code pour les MCU série 87Cxx : 87C151SA 87C151SB 87C194 87C196CA 87C196JQ 87C196JR 87C196JT 87C196JV 87C196KB 87C196KC 87C196KD 87C196KQ 87C196KR 87C196KS 87C196KT 87C196LA 87C196MC 87C196MH 87C198 87C251SA 87C251SB 87C251SP 87C251SQ 87C42 87C51 87C51FA 87C51FB 87C51FC 87C51GB 87C51RA 87C51RB 87C51RC 87C52 87C54 87C58 D87C51 D87C151SA D87C151SB D87C194 D87C198 D87C251SA D87C251SP D87C251SQ D87C196CA D87C42 D87C51FA D87C51FB D87C51FC D87C251SB D87C51RA D87C196JQ D87C196JR D87C196JT D87C196JV D87C196KR D87C196KS D87C196KT D87C196LA D87C51RB D87C51RC D87C52 D87C54 D87C51GB D87C58 D87L42 D87L51FA D87L51FB D8751BH D87L51FC D87L52 D87L54 8749 D87L58 D8741 D8741AH D8742 DD8749H D8742AH D8744 D8744H D8748 D8751 8D748H D8751H D8751H-8 D8752BH D8798 D8796BH D8796JF D8797BH D8797JF D87C196MC D87C196MH D87C251SA...

    Série 87Lxx – Récupération de code microprocesseur : 87L42 87L51FA 87L51FB 87L51FC 87L52 87L54 87L58 ...

    Série D87Cxx – Extraction de code MCU : D87C51 D87C52 D87C54 D87C58 D87C51FA D87C51FB D87C51FC D87C196KC D87C196MC D87C196MD D87C196MH D89C196MD...


 

 

Intel MCS-51

L'Intel MCS-51 (communément appelé 8051) est une architecture Harvard, un jeu d'instructions CISC, une série de microcontrôleurs (µC) monopuce développée par Intel en 1980 pour les systèmes embarqués. Les versions originales d'Intel étaient populaires dans les années 1980 et au début des années 1990, et des dérivés binairement compatibles améliorés restent populaires aujourd'hui.

La famille MCS-51 originale d'Intel a été développée en technologie NMOS, mais les versions ultérieures, identifiées par la lettre C dans leur nom (par exemple 80C51), utilisaient la technologie CMOS et consommaient moins d'énergie que leurs prédécesseurs NMOS, ce qui les rendait plus adaptées aux appareils fonctionnant sur batterie.

La famille s'est poursuivie en 1996 avec le MCS-151 8 bits amélioré et la famille MCS-251 8/16/32 bits de microcontrôleurs binairement compatibles. Bien qu'Intel ne fabrique plus les familles MCS-51, MCS-151 et MCS-251, des dérivés binairement compatibles améliorés de nombreux fournisseurs restent populaires aujourd'hui. Certains dérivés intègrent un processeur de signal numérique (DSP). En plus de ces dispositifs physiques, plusieurs sociétés proposent également des dérivés MCS-51 sous forme de cœurs IP pour une utilisation dans les FPGA ou les conceptions ASIC.

Microarchitecture i8051.

L'architecture 8051 fournit de nombreuses fonctions (CPU, RAM, ROM, E/S, logique d'interruption, temporisateur, etc.) dans un seul boîtier.
- ALU et accumulateur 8 bits, registres 8 bits (un registre 16 bits avec des instructions de déplacement spéciales), bus de données 8 bits et bus d'adresses 2x16 bits / compteur de programme / pointeur de données et opérations 8/11/16 bits associées ; c'est donc principalement un microcontrôleur 8 bits.
- Processeur booléen avec 17 instructions, accumulateur 1 bit, 32 registres (4 registres 8 bits adressables par bit) et jusqu'à 144 variables RAM adressables par bit spéciales (18 registres 8 bits adressables par bit).

Instructions de multiplication, division et comparaison.
- 4 bancs de registres commutables rapides avec 8 registres chacun (mappés en mémoire).
- Interruption rapide avec commutation de banc de registres optionnelle.
- Interruptions et threads avec priorité sélectionnable.

Bus d'adresses double 16 bits – Il peut accéder à 2 x 216 emplacements mémoire – 64 Ko (65536 emplacements) chacun de RAM et ROM.
- 128 octets de RAM interne (IRAM).
- 4 Ko de ROM interne, avec un espace d'adressage 16 bits (64 Ko) (PMEM). Non inclus sur les variantes 803X.
- Quatre ports d'entrée/sortie bidirectionnels 8 bits.
- UART (port série).
- Deux compteurs/temporisateurs 16 bits.
- Mode d'économie d'énergie (sur certains dérivés).

Une caractéristique particulièrement utile du cœur 8051 est l'inclusion d'un moteur de traitement booléen qui permet d'effectuer des opérations logiques booléennes au niveau du bit directement et efficacement sur des registres internes sélectionnés et des emplacements RAM sélectionnés. Cette fonctionnalité avantageuse a contribué à la popularité du 8051 dans les applications de contrôle industriel car elle réduit la taille du code de jusqu'à 30 % [citation nécessaire]. Une autre caractéristique appréciée [citation nécessaire] est l'inclusion de quatre ensembles de registres de travail sélectionnables par banc, qui réduisent considérablement le temps nécessaire pour exécuter une routine de service d'interruption. Avec une seule instruction, le 8051 peut changer de banc de registres au lieu de transférer les registres critiques vers la pile ou des emplacements RAM désignés, ce qui prend du temps. Ces registres permettent également au 8051 d'effectuer rapidement un changement de contexte.

Les UART du MCS-51 facilitent l'utilisation de la puce comme interface de communication série. Les broches externes peuvent être configurées pour se connecter à des registres à décalage internes de différentes manières, et les temporisateurs internes peuvent également être utilisés, permettant des communications série dans plusieurs modes, synchrones et asynchrones. Certains modes permettent des communications sans composants externes. Un mode compatible avec un environnement de communication multipoint RS-485 est réalisable, mais la véritable force [éditorial] du 8051 réside dans son adaptation aux protocoles existants (par exemple, lors du contrôle de périphériques série).

Une fois qu'un UART et, si nécessaire, un temporisateur ont été configurés, le programmeur n'a plus qu'à écrire une simple routine d'interruption pour remplir le registre de décalage d'émission lorsque le dernier bit est décalé par l'UART et/ou vider le registre de réception plein (copier les données ailleurs). Le programme principal effectue alors des lectures et écritures série simplement en lisant et écrivant des données 8 bits sur les piles.

Les microcontrôleurs basés sur MCS-51 incluent généralement un ou deux UART, deux ou trois temporisateurs, 128 ou 256 octets de RAM de données interne (dont 16 octets sont adressables par bit), jusqu'à 128 octets d'E/S, de 512 octets à 64 Ko de mémoire programme interne, et parfois une quantité de RAM de données étendue (ERAM) située dans l'espace de données externe. Le cœur 8051 original fonctionnait à 12 cycles d'horloge par cycle machine, la plupart des instructions s'exécutant en un ou deux cycles machine. Avec une fréquence d'horloge de 12 MHz, le 8051 pouvait ainsi exécuter 1 million d'instructions en un cycle par seconde ou 500 000 instructions en deux cycles par seconde. Les cœurs 8051 améliorés sont maintenant couramment utilisés, fonctionnant à six, quatre, deux, voire un cycle d'horloge par cycle machine, avec des fréquences d'horloge allant jusqu'à 100 MHz, et sont donc capables d'un nombre encore plus grand d'instructions par seconde. Tous les cœurs SILabs, certains Dallas et quelques Atmel ont des cœurs à cycle unique.

Les variantes 8051 incluent des temporisateurs de réinitialisation intégrés avec détection de baisse de tension, oscillateurs internes, mémoire programme flash auto-programmable, RAM externe intégrée, stockage de programme interne supplémentaire, code de bootloader en ROM, mémoire de données non volatile EEPROM, interfaces I²C, SPI et USB, CAN ou LIN, générateurs PWM, comparateurs analogiques, convertisseurs A/N et N/A, RTC, compteurs et temporisateurs supplémentaires, facilités de débogage in-circuit, plus de sources d'interruption et des modes d'économie d'énergie supplémentaires.

Dans de nombreuses écoles d'ingénieurs, le microcontrôleur 8051 est utilisé dans les cours d'introduction aux microcontrôleurs.

Architecture mémoire

Le MCS-51 dispose de quatre types de mémoire distincts : la RAM interne, les registres de fonctions spéciales, la mémoire programme et la mémoire de données externe.
- La RAM interne (IRAM) se situe de l'adresse 0 à 0xFF. L'IRAM de 0x00 à 0x7F est accessible directement. L'IRAM de 0x80 à 0xFF doit être accédée indirectement, en utilisant la syntaxe @R0 ou @R1, avec l'adresse à charger dans R0 ou R1. Les 128 bits aux adresses IRAM 0x20–0x2F sont adressables par bit.

Les registres de fonctions spéciales (SFR) se situent dans le même espace d'adressage que l'IRAM, aux adresses 0x80 à 0xFF, et sont accédés directement en utilisant les mêmes instructions que pour la moitié inférieure de l'IRAM. Ils ne peuvent pas être accédés indirectement via @R0 ou @R1. 16 des SFR sont également adressables par bit.

La mémoire programme (PMEM) est une mémoire morte d'au plus 64 Ko, commençant à l'adresse 0 dans un espace d'adressage séparé. Elle peut être intégrée ou externe, selon le modèle de puce utilisé. La mémoire programme est en lecture seule, bien que certaines variantes du 8051 utilisent une mémoire flash interne et fournissent un moyen de reprogrammer la mémoire dans le système ou dans l'application. En plus du code, il est possible de stocker des données en lecture seule dans la mémoire programme, via l'instruction MOVC A,@DPTR. Les données sont lues à l'adresse spécifiée dans le registre spécial 16 bits DPTR.

La mémoire de données externe (XRAM) est un troisième espace d'adressage, commençant également à l'adresse 0. Elle peut également être intégrée ou externe ; ce qui la rend « interne », c'est qu'elle doit être accédée via l'instruction MOVX (Move eXternal). De nombreuses variantes du 8051 incluent les 256 octets standard d'IRAM plus quelques Ko de XRAM sur la puce.

Le 8051 est conçu selon une architecture Harvard stricte. Le 8051 ne peut exécuter que du code extrait de la mémoire programme. Le 8051 ne dispose d'aucune instruction pour écrire dans la mémoire programme. La plupart des systèmes 8051 respectent cette distinction et sont donc incapables de télécharger et d'exécuter directement de nouveaux programmes. L'architecture Harvard stricte présente l'avantage de rendre ces systèmes immunisés contre la plupart des formes de malwares. Certains systèmes 8051 ont (ou peuvent être modifiés pour avoir) une certaine RAM « doublement mappée », ce qui les fait ressembler davantage à une architecture Princeton. Cette architecture (partiellement) Princeton présente l'avantage de permettre à un chargeur d'amorçage Forth fonctionnant sur le 8051 d'écrire du nouveau code natif en RAM, puis de l'exécuter, ce qui conduit à des cycles de programmation incrémentale et interactive plus rapides que les systèmes Harvard stricts.

Registres

Le seul registre du 8051 qui n'est pas mappé en mémoire est le compteur de programme PC 16 bits. Il spécifie l'adresse de la prochaine instruction à exécuter. Les instructions de branchement relatif fournissent un décalage signé 8 bits qui est ajouté au PC.
Les registres suivants sont mappés dans l'espace des registres de fonctions spéciales :
(0x81) Pointeur de pile SP. Registre 8 bits utilisé par les instructions d'appel et de retour de sous-routine. La pile croît vers le haut ; SP est incrémenté avant l'empilement et décrémenté après le dépilement.
(0x82–83) Pointeur de données DP. Registre 16 bits utilisé pour accéder à la PMEM et à la XRAM.
(0xD0) Mot d'état du programme PSW. Contient des indicateurs d'état importants :
PSW.0: P Parité. Donne la parité (somme modulo-2 des bits) du dernier résultat ALU.
PSW.1: UD Défini par l'utilisateur. Pour usage logiciel général, non utilisé par le matériel.
PSW.2: OV Dépassement. Indique un dépassement signé lors d'une addition.
PSW.3: RS0 Sélection de registre 0. Bit de poids faible du banc de registres. Actif lorsque les bancs 0x08 ou 0x18 sont utilisés.
PSW.4: RS1 Sélection de registre 1. Bit de poids fort du banc de registres. Actif lorsque les bancs 0x10 ou 0x18 sont utilisés.
PSW.5: F0 Drapeau 0. Pour usage logiciel général, non utilisé par le matériel.
PSW.6: AC Retenue auxiliaire. Indique une retenue du bit 3 vers le bit 4 lors d'une addition.
PSW.7: C Bit de retenue.
(0xE0) Accumulateur A. Utilisé par la plupart des instructions.
(0xF0) Registre B. Utilisé comme extension de l'accumulateur pour les instructions de multiplication et de division.

De plus, il y a 8 registres généraux R0–R7, mappés dans l'IRAM entre 0x00 et 0x1F. Seuls 8 octets de cette plage sont utilisés à un moment donné, déterminés par les bits de sélection de banc dans le PSW.

256 bits individuels sont directement adressables. Ce sont les 16 emplacements IRAM de 0x20 à 0x2F, et les 16 registres de fonctions spéciales 0x80, 0x88, 0x90, …, 0xF8.

Notez que le PSW ne contient pas les indicateurs N (négatif) et Z (zéro) communs. En revanche, comme l'accumulateur est un SFR adressable par bit, il est possible de brancher sur des bits individuels de celui-ci, y compris le bit de poids fort. Il existe également une instruction pour sauter si l'accumulateur est nul ou non nul.

Jeu d'instructions

Les instructions ont une longueur de 1 à 3 octets, composées d'un octet de code opération initial, suivi de jusqu'à 2 octets d'opérandes.
Il existe 16 instructions ALU de base qui opèrent entre l'accumulateur et un second opérande, spécifié selon l'un des modes d'adressage suivants :

Direct registre, R0–R7 (codes op x8–xF)
Indirect registre, @R0 ou @R1 (codes op x6 et x7)
Direct mémoire, spécifiant un emplacement IRAM ou SFR (codes op x5, suivi de 1 octet d'adresse)
Immédiat, spécifiant une constante 8 bits (codes op x4, suivi de 1 octet de données)
Les instructions sont les suivantes. Toutes ne supportent pas tous les modes d'adressage ; le mode immédiat est parfois non pertinent :
0y INC opérande : Incrémente l'opérande spécifié. Le code op 04 spécifie « INC A »
1y DEC opérande : Décrémente l'opérande spécifié. Code op 14 pour « DEC A »
2y ADD A,opérande : Ajoute l'opérande à l'accumulateur A.
3y ADDC A,opérande : Ajoute l'opérande plus le bit C à l'accumulateur.
4y ORL A,opérande : OU logique de l'opérande dans A.
5y ANL A,opérande : ET logique de l'opérande dans A.
6y XRL A,opérande : OU exclusif logique de l'opérande dans A.
7y MOV opérande,#data : Déplace une donnée immédiate vers l'opérande. Code op 74 pour « MOV A,#data ».
8y MOV adresse,opérande : Déplace des données vers un registre IRAM ou SFR.
9y SUBB A,opérande : Soustrait l'opérande de l'accumulateur avec retenue. Notez qu'il n'y a pas de soustraction sans retenue.
Ay MOV opérande,adresse : Déplace des données depuis un registre IRAM ou SFR. Codes op A4 et A5 non utilisés.
By CJNE opérande,#data,décalage : Compare l'opérande à la donnée immédiate et branche à PC+adresse si différent. Codes op B4 et B5 pour CJNE A,opérande,décalage, pour les modes direct mémoire et immédiat. Notez qu'il n'y a pas d'instruction « comparer et sauter si égal ».
Cy XCH A,opérande : Échange l'accumulateur et l'opérande. Code op C4 non utilisé.
Dy DJNZ opérande,décalage : Décrémente l'opérande et branche à PC+décalage si le résultat est non nul. Codes op D4, D6, D7 non utilisés.
Ey MOV A,opérande : Déplace l'opérande vers l'accumulateur. Code op E4 non utilisé (utiliser 74 à la place).
Fy MOV opérande,A : Déplace l'accumulateur vers l'opérande. Code op F4 non utilisé.

Seules les instructions ADD, ADDC et SUBB modifient les indicateurs PSW. Les instructions INC, DEC et logiques ne le font pas. Les instructions CJNE modifient uniquement le bit C, pour la retenue résultant de opérande1 − opérande2.

Les 32 codes op 0x00–0x3F, ainsi que les quelques codes op non utilisés dans la plage ci-dessus, sont utilisés pour d'autres instructions aux capacités de spécification d'opérandes plus limitées.

L'une des raisons de la popularité du 8051 est sa gamme d'opérations sur les bits individuels. Les bits sont toujours spécifiés par des adresses absolues ; il n'y a pas d'adressage indirect par registre ou indexé. Les instructions qui opèrent sur des bits individuels sont :

SETB bit, CLR bit, CPL bit : Positionne, efface ou complémente le bit spécifié.
JB bit,décalage : Saute si le bit est à 1.
JNB bit,décalage : Saute si le bit est à 0.
JBC bit,décalage : Saute si le bit est à 1 et l'efface.
MOV C,bit, MOV bit,C : Déplace le bit spécifié vers le bit de retenue, ou vice-versa.
ORL C,bit, ORL C,/bit : OU logique du bit (ou de son complément) avec le bit de retenue.
ANL C,bit, ANL C,/bit : ET logique du bit (ou de son complément) avec le bit de retenue.
XRL C,bit, XRL C,/bit : OU exclusif du bit (ou de son complément) avec le bit de retenue.

Bien que la plupart des instructions exigent qu'un opérande soit l'accumulateur ou une constante immédiate, il est possible d'effectuer un MOV directement entre deux emplacements de RAM interne.

Programmation

Article principal : compilateur 8051.
Il existe divers compilateurs de langage de haut niveau pour le 8051. Plusieurs compilateurs C sont disponibles, dont la plupart permettent au programmeur de spécifier où chaque variable doit être stockée parmi ses six types de mémoire, et donnent accès aux fonctionnalités matérielles spécifiques au 8051 telles que les multiples bancs de registres et les instructions de manipulation de bits. Il existe de nombreux compilateurs C commerciaux. SDCC est un compilateur C open source populaire. D'autres langages de haut niveau comme C++, Forth, BASIC, Pascal/Object Pascal, PL/M et Modula-2 sont disponibles pour le 8051, mais ils sont moins utilisés que le C et l'assembleur.

Étant donné que l'IRAM, la XRAM et la PMEM (lecture seule) ont toutes une adresse 0, les compilateurs C pour l'architecture 8051 fournissent des pragmas ou extensions spécifiques au compilateur pour indiquer où une donnée particulière doit être stockée (par exemple, les constantes dans la PMEM ou les variables nécessitant un accès rapide dans l'IRAM). Étant donné que les données peuvent se trouver dans l'un des trois espaces mémoire, un mécanisme est généralement fourni pour déterminer à quelle mémoire un pointeur fait référence, soit en contraignant le type de pointeur à inclure l'espace mémoire, soit en stockant des métadonnées avec le pointeur.

Processeurs associés

Processeurs Intel 8031
Le prédécesseur du 8051, le 8048, a été utilisé dans le clavier du premier IBM PC, où il convertissait les frappes en flux de données série envoyé à l'unité centrale. Le 8048 et ses dérivés sont encore utilisés aujourd'hui pour les claviers de base.

Le 8031 était une version réduite du 8051 original d'Intel qui ne contenait pas de mémoire programme interne (ROM). Pour utiliser cette puce, une ROM externe contenant le programme que le 8031 devait récupérer et exécuter devait être ajoutée. Une puce 8051 pouvait être vendue comme 8031 sans ROM, car la ROM interne du 8051 est désactivée par l'état normal de la broche EA dans une conception basée sur 8031. Un vendeur pouvait vendre un 8051 comme 8031 pour diverses raisons, comme un code défectueux dans la ROM du 8051, ou simplement un excès de 8051 et une pénurie de 8031.
Le 8052 était une version améliorée du 8051 original, dotée de 256 octets de RAM interne au lieu de 128, de 8 Ko de ROM au lieu de 4 Ko, et d'un troisième temporisateur 16 bits. Le 8032 possédait ces mêmes caractéristiques à l'exception de la mémoire programme ROM interne. La plupart des microcontrôleurs « compatibles 8051 » modernes incluent ces fonctionnalités.

Intel a interrompu sa gamme de produits MCS-51 en mars 2007, cependant il existe de nombreux produits 8051 améliorés ou des cœurs IP ajoutés régulièrement par d'autres fournisseurs. Les fabricants actuels de processeurs compatibles MCS-51 comprennent plus de 20 sociétés indépendantes, dont Atmel, Infineon Technologies (anciennement Siemens AG), Maxim Integrated Products (via sa filiale Dallas Semiconductor), NXP (anciennement Philips Semiconductor), Microchip Technology, Nuvoton (anciennement Winbond), ST Microelectronics, Silicon Laboratories (anciennement Cygnal), Texas Instruments, Ramtron International, Silicon Storage Technology, Cypress Semiconductor et Analog Devices.

Les 80C537 et 80C517 sont des versions CMOS conçues pour l'industrie automobile. Les améliorations incluent principalement de nouvelles fonctionnalités périphériques et des instructions arithmétiques étendues. Le 80C517 dispose de mécanismes de sécurité, de capacités de traitement de signal analogique et de temporisateurs, ainsi que de 8 Ko de mémoire programme interne. Autres caractéristiques :

256 octets de RAM interne.
256 bits directement adressables.
Mémoire programme et de données externes extensibles jusqu'à 64 Ko.
Convertisseur A/N 8 bits avec 12 entrées multiplexées.
Unité arithmétique capable de division, multiplication, décalage et normalisation.
Huit pointeurs de données au lieu d'un pour l'adressage indirect de la mémoire programme et des données externes.
Fonctions de watchdog étendues.
Neuf ports.
Deux interfaces série full-duplex avec leurs propres générateurs de débit.
Système d'interruption à quatre niveaux de priorité, 14 vecteurs d'interruption.
Trois modes d'économie d'énergie.

Utilisation comme propriété intellectuelle

Aujourd'hui, les 8051 sont toujours disponibles en tant que composants discrets, mais ils sont principalement utilisés comme cœurs de propriété intellectuelle (IP). Disponibles sous forme de code source de haut niveau (VHDL ou Verilog) ou de netlist FPGA, ces cœurs sont généralement intégrés dans des systèmes embarqués, dans des produits allant des clés USB aux machines à laver en passant par les systèmes de communication sans fil complexes sur puce. Les concepteurs utilisent des cœurs IP 8051 en raison de leur taille réduite et de leur faible consommation par rapport aux processeurs 32 bits comme les séries ARM M, MIPS et BA22. Les cœurs 8051 modernes sont plus rapides que les versions encapsulées précédentes. Les améliorations de conception ont augmenté les performances du 8051 tout en conservant la compatibilité avec le jeu d'instructions MCS 51 d'origine. L'Intel 8051 original fonctionnait à 12 cycles d'horloge par cycle machine, et la plupart des instructions s'exécutaient en un ou deux cycles machine. Une fréquence d'horloge typique de 12 MHz signifiait que ces anciens 8051 pouvaient exécuter un million d'instructions en un cycle ou 500 000 instructions en deux cycles par seconde. En revanche, les cœurs IP 8051 améliorés fonctionnent désormais à un cycle d'horloge par cycle machine et ont des fréquences d'horloge allant jusqu'à 450 MHz. Cela signifie qu'un processeur compatible 8051 peut désormais exécuter 450 millions d'instructions par seconde.

MCU basés sur le 8051

Atmel : AT89C51, AT89S51, AT83C5134
NXP : séries NXP700 et NXP900
Infineon : XC800

Variantes avec processeur de signal numérique (DSP)

Plusieurs variantes avec un processeur de signal numérique (DSP) 16 bits supplémentaire (par exemple pour le codage/décodage MP3 ou OGG) avec jusqu'à 675 millions d'instructions par seconde (MIPS) et une interface USB 2.0 intégrée, ou en tant que propriété intellectuelle, existent.

Microcontrôleur 8 bits amélioré binaire compatible : famille MCS-151

Cette section nécessite une expansion. (mai 2013)
En 1996, Intel a annoncé la famille MCS-151, un variant jusqu'à 6 fois plus rapide. Complètement compatible binaire et jeu d'instructions avec le 8051, mais avec un CPU pipeline, un bus de code interne 16 bits et une vitesse multipliée par 6. La famille MCS-151 a également été abandonnée par Intel, mais est largement disponible dans des variantes binaires compatibles et partiellement améliorées.

Microcontrôleur 8/16/32 bits binaire compatible : famille MCS-251

Cette section nécessite une expansion. (mai 2013)
Le 80251, microcontrôleur 8/16/32 bits avec un espace d'adressage 16 Mo (24 bits) et un cycle d'instruction 6 fois plus rapide, a été introduit par Intel en 1996. Il peut fonctionner comme un 8051 8 bits, dispose d'un espace d'adressage externe 24 bits (segmenté) et d'une ALU 32 bits avec des instructions de données principalement 8/16/32 bits (ainsi qu'un processeur booléen avec registres/mémoire spéciaux) et un grand jeu d'instructions CISC, 40 registres 8/16/32 bits avec 8 registres 8 bits dans 4 bancs mémoire à commutation rapide (jusqu'à 512 registres spéciaux 8 bits adressables).

Il dispose d'instructions étendues - voir également le guide du programmeur - et de variantes ultérieures avec des performances supérieures, également disponibles en tant que propriété intellectuelle (IP). Il est pipeline sur 3 étages. La famille MCS-251 a également été abandonnée par Intel, mais est largement disponible dans des variantes binaires compatibles et partiellement améliorées de nombreux fabricants.

Questions générales sur l'extraction de firmware de microcontrôleur


  • Est-il sûr d'envoyer un paiement à MikaTech ?

    Si MikaTech était une mauvaise entreprise, vous pourriez trouver des tonnes de mauvaises réputations sur son service sur Internet au cours des 28 années d'histoire

    Donc, la réponse est OUI ! Nous sommes de bonnes personnes.

    Pourquoi choisir Mikatech, veuillez cliquer ici pour en savoir plus


  • Mikatech peut-il casser des CI non listés sur ce site ?

    Différents fabricants de puces ont des numéros de pièce différents, mais le cœur interne de la puce peut être fabriqué avec la même technologie. Il serait tout à fait impossible de lister tous les numéros de pièce auxquels notre technologie peut s'appliquer, comme MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    De plus, grâce aux progrès de la technologie, nous acquérons chaque jour plus d'expérience et développons de nouvelles méthodes de rétro-ingénierie pour différentes pièces de circuits intégrés. La liste complète des numéros de pièce de circuits intégrés relevant de notre compétence ne cesse de s'agrandir. Veuillez nous contacter pour le savoir.

  • Ma vie privée sera-t-elle protégée ?

    Mikatech Innovative Limited comprend l'importance de la vie privée de ses clients. Dès que vous contactez Mikatech, vos informations personnelles sont placées sous la protection de notre règlement de gestion, élaboré au fil des années de pratique. Mikatech utilise ces informations pour personnaliser son service à votre égard et ne les divulguera jamais à des tiers pour quelque raison que ce soit.
    Pour chaque projet, nous supprimons toutes les données, matériaux et codes 60 jours après la livraison des fichiers, ce qui nous protège et protège votre vie privée.

  • Est-il légal de faire appel aux services de Mikatech ?

    Oui, c'est tout à fait légal.
    Mikatech fournit ses services de rétro-ingénierie à des fins éducatives uniquement. Il peut être illégal d'utiliser les services mentionnés ci-dessus dans certains pays ou régions, veuillez vérifier les lois locales. Mikatech n'assume aucune responsabilité concernant l'utilisation des services susmentionnés qui pourrait être considérée comme illégale.


  • Je vous ai envoyé un e-mail, pourquoi n'y a-t-il pas de réponse ?

    • A. Notre serveur de messagerie est temporairement en panne, votre message n'a pas été délivré dans notre boîte aux lettres même si le message d'envoi réussi s'affiche à l'écran, veuillez nous contacter à nouveau.
    • B. Notre e-mail est reconnu comme courrier indésirable par votre serveur de messagerie, notre réponse a donc été rejetée ou redirigée vers votre dossier de courriers indésirables. Veuillez retirer notre compte de la liste des indésirables ou vérifier votre dossier de courriers indésirables, ou utiliser un autre compte e-mail comme Gmail.
    • C. Votre e-mail est reconnu comme courrier indésirable par notre serveur, il a donc été placé dans notre dossier de courriers indésirables. Veuillez utiliser un autre compte e-mail pour nous contacter à nouveau.

  • Flux de travail de rétro-ingénierie médico-légale numérique

    Flux de travail de rétro-ingénierie médico-légale numérique pour les périphériques MCU protégés par verrouillage de bits altérés. La forensique embarquée numérique repose sur des workflows structurés et juridiquement défendables de rétro-ingénierie de microcontrôleurs pour enquêter sur les incidents de falsification, de fraude et de modification non autorisée impliquant des dispositifs MCU protégés par verrouillage de bits. L'analyse forensique diffère fondamentalement de la recherche en sécurité offensive en raison des règles obligatoires de chaîne de garde des preuves, des exigences de non-répudiation et des normes d'admissibilité légale qui régissent toutes les étapes d'acquisition et de traitement des données. L'ensemble du processus forensique commence par une validation initiale de l'intégrité du verrouillage de bits pour déterminer l'état de sécurité historique du périphérique MCU ciblé avant la saisie des preuves. Les examinateurs forensiques utilisent des outils d'analyse passive de l'état OTP pour lire la configuration actuelle du verrouillage de bits sans modifier aucun paramètre de mémoire ou de sécurité du dispositif. Cette analyse initiale identifie quels domaines de verrouillage restent intacts, lesquels ont été contournés et si des bits OTP montrent des signes de falsification ou de corruption induite par des perturbations. Le rapport d'état du verrouillage de bits établit si des acteurs antérieurs ont accédé aux interfaces de débogage, modifié la logique du bootloader ou exfiltré des données mémoire avant la saisie de l'appareil comme preuve. Suite à la validation d'état, les examinateurs effectuent des lectures contrôlées et forensiquement valides de la mémoire processeur EEPROM pour récupérer les artefacts de falsification résiduels stockés dans la mémoire non volatile persistante. L'EEPROM conserve généralement des horodatages de modification, des journaux d'historique des mises à jour du firmware, des compteurs d'accès au débogage et des codes d'erreur générés lors des tentatives de falsification non autorisées. Ces artefacts fournissent des preuves chronologiques essentielles détaillant quand les barrières de sécurité ont été franchies et quelles opérations de modification ont été exécutées par les acteurs menaçants. Toutes les opérations de lecture EEPROM utilisent des séquences de commandes en lecture seule pour éviter tout écrasement accidentel des données probantes pendant l'acquisition. L'étape suivante du workflow implique des procédures forensiques validées pour vider complètement les binaires de mémoire flash et EEPROM afin de les comparer par hachage et analyse de différence binaire. Les outils forensiques génèrent des hachages cryptographiques SHA-256 de tous les segments mémoire extraits pour établir l'intégrité des données et prouver qu'aucune altération n'a eu lieu pendant l'acquisition. Les examinateurs comparent le hachage du firmware de l'appareil saisi avec les hachages de référence du fabricant pour identifier les segments de code modifiés et les charges utiles non autorisées injectées. Les algorithmes de comparaison binaire mettent en évidence les changements d'instructions exacts, le code de porte dérobée caché et les paramètres d'étalonnage modifiés introduits par l'acteur de la falsification. Cette analyse quantitative fournit des preuves techniques objectives de compromission de l'appareil pour les procédures judiciaires. Pour les dispositifs dont les verrous de bits permanents sont complètement intacts et bloquent tout accès logiciel à la mémoire, les laboratoires forensiques déploient des workflows contrôlés de décapsulation invasive et de récupération de code selon des protocoles de traitement forensique standardisés. Chaque étape de gravure chimique, d'exposition de la puce et de sondage est documentée photographiquement pour maintenir l'intégrité des preuves. Les techniciens de laboratoire utilisent des traitements à faible contrainte calibrés pour éviter d'endommager les cellules mémoire probantes tout en contournant les portes logiques de verrouillage de bits durcies pour une récupération complète des données. Après la décapsulation


    temps de piratage de microcontrôleur

    Années

    28 +
    pays de piratage de microcontrôleur

    Pays

    110 +
    clients de piratage de microcontrôleur

    Clients

    5000 +
    projets de microcontrôleur déverrouillés

    Projets

    60000 +