Les gestionnaires et les fournisseurs de composants efficaces peuvent ignorer ce matériau en toute sécurité. Cette note est destinée aux développeurs de matériel qui regardent déjà ou qui sont sur le point de regarder vers le processeur Baikal-T1. Pour ainsi dire, «informations à prendre en considération» sur la véritable histoire de la communication avec la société Baikal Electronics (BE) et ce qui a été le résultat d'un projet appliqué avec une tentative d'utiliser la «substitution des importations».
Donc, tout est en ordre ...
Contexte
Notre entreprise développe et fabrique des équipements électroniques depuis 1993. Et nous sommes bien connus sur notre marché. Avec quelle base élémentaire n'avons-nous pas retravaillé ces 25 dernières années et qu'est-ce que nous n'avons pas modifié! Bien que ce soit vrai, ils n’ont certainement pas travaillé avec une base nationale pendant cette période. La dernière fois que je m'en souviens, cela s'est produit en 1987, bien avant la fondation de notre entreprise - les meilleurs souvenirs des composants analogiques et numériques soviétiques de Kiev "Crystal", Novossibirsk, Tallinn, Riga, Zelenograd, Chisinau, Leningrad, etc.
Donc, fin 2016. nous avons conçu un produit qui, entre autres composants, devrait inclure un contrôleur de contrôle, plus précisément SoC (System-on-Chip). Aucune exigence spécifique pour la vitesse et les performances du contrôleur (400 MHz-1 GHz est suffisant). Il suffit d'avoir des ports standard (1GbE, I2C, SPI, SATA, etc.) et de la mémoire DDR externe jusqu'à 1 Go, ainsi que la présence de deux cœurs de processeur ou plus. Le type de cœur de processeur n'est pas important en principe. Un noyau ARM est souhaitable, mais pas nécessaire. La plage de température est commerciale et industrielle. La consommation n'est pas non plus importante (là encore, dans des limites raisonnables), car par rapport à la quantité consommée par les principaux composants de ce produit, donc, comme disent les mathématiciens, «o» est petit, avec un troisième ordre et plus. La principale exigence, comme d'habitude, est un environnement bien débogué pour la conception et le débogage de logiciels pour Windows, un émulateur JTAG, des bibliothèques "de base" pour travailler avec le processeur et les périphériques en mode "bare-metal", et la compatibilité avec n'importe quel RTOS standard fourni dans les textes source (ThreadX d'ExpressLogic, FreeRTOS, etc.) avec prise en charge des protocoles IP et du système de fichiers. Linux, en principe, ne convient pas et n'est pas pris en compte. Le matériel de l'appareil dans son ensemble n'est pas très compliqué, mais le logiciel est «très, très» et prendra au moins un an avant la première version et avec la documentation. L'appareil est susceptible d'être soumis à une certification ultérieure. La quantité est petite - environ 100 pièces par an pendant les premières années.
Notre expérience et nos logiciels éprouvés pour les processeurs Freescale / NXP avec cœurs PPC et ARM, TI et Atmel nous ont permis, en principe, de ne pas penser à choisir un contrôleur de contrôle et d'exclure tous les «hémorroïdes» avec le logiciel «de base», RTOS et l'environnement de développement logiciel. Mais le diable m'a tiré puis m'a picoré dans le cul une sorte de bite ... J'ai décidé de regarder - "est-ce quelque chose qui convient à un domestique?" à la place du contrôleur de commande. À ce moment-là, il y avait un «tintement» sur la substitution des importations, et, au cas où, soit dit en passant, j'ai lu au sujet du premier transformateur domestique Baïkal-T1. Et filé ...
Première impression
Je suis allé sur le site Web de BE, j'ai trouvé le processeur Baikal-T1, j'ai téléchargé la brochure avec un schéma de principe. La première impression est qu'elle correspond aux paramètres. Rien d'extraordinaire pour 2016, mais pas mal pour une large gamme d'applications embarquées et sans prétendre être "super-duper". Bravo! Si tout fonctionne comme prévu, alors bon travail! Bon coup sur le marché.
Rempli une application «en ligne» du site indiquant «qui est», d'où, d'où et avec une demande d'envoyer des informations techniques plus détaillées sur le matériel et les logiciels. Et, comme d'habitude, est passé à la routine.
Une semaine passe, deuxième, troisième ... Silence. Pas de lettres ni d'appels de BE. N'oubliez pas BE. Appelez-vous. Il s'avère qu'il n'y a pas de puces (fin 2016) et qu'elles ne sont prévues que fin 2017. Aucune documentation technique n'est encore disponible.
Eh bien, attendons ... Notre produit n'était alors encore qu'au stade de la compréhension. Il y a du temps.
La deuxième impression, c'est la dernière
Février 2018 Enfin, nous sommes arrivés. Le concept de produit est prêt et le marché est clair et prêt. Il est temps de commencer à concevoir. L'idée d'utiliser le Baïkal-T1 est toujours valable. Je vais sur le site BE. Aujourd'hui le site est magnifique, tout clignote, bouge ... La police est grande. Cool! Encore une fois, j'ai rempli une demande «en ligne» du site avec une indication de «qui est-ce», d'où, et avec une demande d'envoyer des informations techniques plus détaillées sur les pièces matérielles et logicielles. Et, comme d'habitude, il est retourné au travail en prévision d'une réponse rapide.
Cependant, une semaine s'écoule, la seconde, la troisième commence ... Encore un silence. Pas de lettres ni d'appels de BE. La raideur du site commence en quelque sorte à ne pas correspondre à la véritable situation.
Encore une fois, souvenez-vous de BE. Nous appelons. Nous découvrons avec qui parler des problèmes techniques. Toutes les mêmes personnes - Monsieur R.S. Nous communiquons.
Et ici, il s'avère ...
CPU et carte de démonstration
Le prix de la puce est d'environ 65 $ (TR 3,7). En stock est en stock, prenez-le même maintenant. Super.
Je pose un certain nombre de questions techniques spécifiques sur le processeur. Je reçois, dans l'ensemble, des réponses adéquates, bien que dans certains endroits une personne «nage», mais dans des limites raisonnables (les questions sont très spécifiques, mais il y a un manque d'expérience). Dans tous les cas, il est clair qu'une documentation technique complète sera nécessaire pour fonctionner.
Je demande: «Existe-t-il une carte de test pour tester les logiciels et le matériel?» La réponse est oui, mais il y a quelques légers retards avec la nouvelle révision. Pas question, attendons un peu. Mais le prix de la planche est de ~ 150t.r. - c'est vraiment cool pour une puce au prix de 3.7t.r.! Une question sensible se pose: «Pourquoi en serait-il ainsi?», Tandis que les cartes de test de Freescale / NXP, TI, Atmel se situent dans une fourchette de prix de ~ 60 $ (3,6 t.) À ~ 400 $ (23 t. Re) . Il n'y a pas de réponse raisonnable au prix, comme toujours. Je ne veux pas - ne le prenez pas! Je conclus que les choses ne vont pas bien avec la vente de puces, c'est pourquoi elles se concentrent sur les panneaux de test et les commandes gouvernementales. En effet, dans leur bon sens, personne (ou peu) n'achètera ces frais pour un tel prix et pour leur argent durement gagné. Soit dit en passant, l'autre jour, j'ai découvert qu'une classe de formation sur le Baïkal-T1 avait été ouverte à l'Université d'État de Moscou. C'est bien sûr génial! Mais seul l'argent est encore de l'argent de l'État et ils ont une limite et beaucoup de gens le veulent!
La situation est claire. Pas encore effrayant. Ce sera nécessaire - nous achèterons une carte de test. Pour aller plus loin ...
Logiciels
Je demande "comment ça se passe avec le logiciel Baikal-T1 maintenant?" selon les exigences de notre tâche?
Pas question! Linux uniquement. Il n'y a aucun support pour aucun RTOS, pas de métal nu, rien de plus. C'est comme si quelqu'un portait QNX sur le Baïkal-T1, mais nous ne savons rien.
Quelque chose qui me rappelle beaucoup l'époque «soviétique», lorsque les processeurs sortaient, donnaient de la documentation décrivant le système d'instructions des processeurs et leurs codes, et ensuite tous ceux qui le pouvaient le plus possible ... Certes, il n'y avait pas de concurrence. C'était juste une tâche - le faire par tous les moyens!
En général, pour nous, ce n'est pas une question. Sur quels processeurs seuls nous n'avons pas reporté différents RTOS pendant notre travail. Eh bien, ils auraient également fait un port pour le Baïkal-T1. Ils écriraient des bibliothèques «de base» pour des applications de métal nu.
Voici juste dommage. Et il est encore plus regrettable d’observer l’infériorité de l’approche BE sur cette question. Après tout, les ingénieurs "silicone" ont fait un excellent travail. Mais les patrons, apparemment, ne comprennent pas du tout que les logiciels doivent être traités dans une variété de directions (et pas seulement Linux), et dans le BE lui-même. Et cela doit commencer bien avant la sortie du silicone lui-même.
En fait, tous ces repères, comparant les processeurs entre eux, la présence de l'un ou l'autre port matériel et d'autres gadgets architecturaux ici et leur absence là-bas ne signifient rien pour la grande majorité des applications. Ce sera nécessaire - nous ajoutons nous-mêmes ce qui manque. Quelle est la différence entre 1000MIPS et 800MIPS, ou 10000 CoreMarks et 7000 CoreMarks pour le contrôleur de gestion? Oui, non! Seule la disponibilité de logiciels et d'outils de développement pris en charge adéquats est d'une réelle importance, comme c'est le cas pour notre tâche. Et cela est assez réaliste pour le fabricant du processeur. Vous avez juste besoin de comprendre que c'est le point clé pour la vente réussie de processeurs. Soit dit en passant, le prix de la carte de test deviendra tout à fait adéquat, comme les priorités évolueront dans la bonne direction. Et ici, les nouveaux clients rattraperont leur retard.
C'est triste. Mais néanmoins, pas critique. Pour aller plus loin ...
Outils de conception et de débogage de logiciels
Je demande "qu'en est-il des outils de débogage?" Ne le croyez pas, mais en 2018 tout est pareil: pas question! Ni l'environnement de développement BE ni l'émulateur JTAG n'ont été conçus et débogués pour la puce spécifique avec ses périphériques, et cela n'est pas prévu. Ils ont juste dit que quelque part, comme si le projet de l'environnement sur Eclipse était couché, vous pouvez le télécharger. Mais il n'est pas pris en charge, alors compilez-le et utilisez-le à vos risques et périls! Telle est l'approche! Classe!
Émulateur JTAG comme s'il était disponible auprès de la société OLIMEX (Bulgarie!). Ils ont donné un lien - il n'y a pas un mot sur MIPS, seulement des émulateurs pour ARM. Et où est ARM lorsque le noyau MIPS? Ils ont donné un lien vers les émulateurs JTAG sur le site Web de MIPS. Il y a quelque chose comme la vérité. Mais de quoi ai-je besoin pour amener l'émulateur JTAG des États-Unis?
Je pose la question: "Où puis-je trouver un débogueur pour l'émulateur JTAG?" La réponse est digne - "Seul GDB reste." Je n'ai rien compris. Y a-t-il, en BE, tous les acheteurs de crétins ou quelque chose? Débogueur de ligne en 2018?
Et ai-je besoin de ça? De plus, pour le noyau MIPS P5600 (Baikal-T1) qui m'est inconnu.
Je ne peux que répéter la même chose que dans le paragraphe précédent. Les gestionnaires «efficaces» de BE doivent comprendre que seule la disponibilité de logiciels et d'outils de développement pris en charge adéquats, et directement du fabricant de puces lui-même, est vraiment importante. C'est la société BE elle-même qui doit fournir les émulateurs testés JTAG et son environnement de conception et de débogage «affiné» pour la puce, comme le font tous les fabricants de processeurs.
La situation devient critique. Mais on va plus loin ...
Finale digne
Bien qu'il soit déjà clair que la situation était une «couture», et, apparemment, je devrais enfin me séparer de la pensée du Baïkal-T1, je demande comment obtenir une documentation technique détaillée. Vous devez regarder la description complète des ports et les spécifications de la puce. Je veux surtout regarder la liste des Silicon Errata, qui contient une liste de toutes les erreurs de silicone et la présence de correctifs logiciels pour eux, car c'est ce qui détermine la possibilité d'une utilisation normale de la puce pour une tâche spécifique.
Dans l'ordre des informations: pour la plupart des fabricants de puces, une documentation technique détaillée et Silicon Errata sont soit immédiatement disponibles en téléchargement sur le site, soit après simple inscription sur le site (principalement pour des études de marché).
En BE, il leur est demandé de signer le NDA (accord de non-divulgation, accord de non-divulgation). Pas une question - ils ont signé, et plus d'une fois, avec différentes sociétés de fabrication de puces. Ceci est généralement requis pour les puces très complexes et spéciales, qui sont soumises à une concurrence intense en termes de fonctionnalité et IP (propriété intellectuelle). Seulement ici avec le fabricant de puces de processeur à usage général - c'est la première fois dans ma mémoire. Néanmoins, j'étais sûr que nous le signerions sans aucun problème, et j'ai demandé d'envoyer un fichier à remplir par courrier.
Et puis une embuscade attendait ...
Un jour plus tard, je reçois une lettre par la poste avec le dossier NDA et le texte qui l'accompagne. Et puis il s'avère que pour signer le NDA afin d'obtenir juste une description du processeur (!), Les documents suivants doivent être soumis à l'entreprise au BE (ci-après je cite le devis exact de la lettre):
"...
1. Une copie du certificat d'enregistrement de l'État.
2. Copie du certificat d'enregistrement fiscal.
3. Une copie de la charte, certifiée par le responsable.
4. Protocole ou décision concernant la nomination d'un administrateur.
5. Une copie de l'avis d'application du régime fiscal simplifié (le cas échéant).
6. Procuration et coordonnées du représentant.
7. Carte d'entreprise.
... "
Je me souviens de ce moment inoubliable quand je l'ai lu. Tout comme dans le slogan de la publicité BMW - "Delight ...". Le plus grand "respect" pour l'entreprise BE avec son service juridique! En cela, elle était de loin en avance sur tous ceux qui pouvaient et ne devaient pas être sur la question de la signature de la NDA pour recevoir la documentation d'un processeur à usage général. Apparemment, un avocat a été emmené dans une banque de BE et il a manifestement confondu que c'était nous (les acheteurs) qui voulions obtenir quelque chose de suffisant pour notre argent de la BE, et non l'inverse. Mais la vie corrigera certainement cela, et j'espère que bientôt.
Tout ce dont j'étais capable en ce moment inoubliable était d'écrire une lettre de réponse en BE avec la modeste question "Pouvez-vous encore avoir les clés du coffre-fort, où est l'argent?" et avec la proposition de s'oublier comme un cauchemar.
Résidu sec
«Paragraphe» complet!
De quoi étiez-vous réconforté?
J'ai dû revenir aux bonnes vieilles plates-formes ARM matérielles, pour lesquelles nous avons tout depuis longtemps et qui fonctionne très bien. Le logiciel d'application pour notre produit est un point clé, et il y en a beaucoup. Et pour prendre la solution de problèmes mineurs et autres avec des outils de développement et de débogage, et, éventuellement, avec du matériel inconnu, avec une telle approche, le BE n'a pas besoin de le faire.
Je voulais le même extrême avec l'utilisation de la "substitution d'importation" ...!
P.A. Semenov, Ph.D., MicroLAB Systems (Moscou)