Gerentes e fornecedores de componentes eficientes podem ignorar com segurança esse material. Esta observação é para desenvolvedores de hardware que já estão assistindo ou estão prestes a olhar para o processador Baikal-T1. Por assim dizer, “informações a serem consideradas” sobre a história real da comunicação com a empresa Baikal Electronics (BE) e o que resultou de um projeto aplicado com a tentativa de usar a “substituição de importações”.
Então, tudo em ordem ...
Antecedentes
Nossa empresa desenvolve e fabrica equipamentos eletrônicos desde 1993. E somos bem conhecidos no nosso mercado. Com que base elementar não retrabalhamos nesses 25 anos e o que não alteramos! Embora seja verdade - eles definitivamente não funcionaram com uma base doméstica durante esse período. A última vez que me lembro disso aconteceu em 1987, muito antes da fundação de nossa empresa - as melhores lembranças dos componentes analógicos e digitais soviéticos de Kiev "Crystal", Novosibirsk, Tallinn, Riga, Zelenograd, Chisinau, Leningrado, etc.
Então, no final de 2016. concebemos um produto que, entre outros componentes, deveria incluir um controlador de controle, mais precisamente o SoC (System-on-Chip). Não há requisitos específicos de velocidade e desempenho para o controlador (400 MHz-1 GHz é suficiente). Só é necessário ter portas padrão (1GbE, I2C, SPI, SATA etc.) e memória DDR externa de até 1 GB, além da presença de dois ou mais núcleos de processador. O tipo de núcleo do processador não é importante em princípio. Um núcleo ARM é desejável, mas não necessário. A faixa de temperatura é comercial e industrial. O consumo também não é importante (novamente, dentro de limites razoáveis), porque comparado ao quanto os principais componentes consomem neste produto; portanto, como dizem os matemáticos, “o” é pequeno, com um terceiro e superior pedido. O principal requisito, como sempre, é um ambiente bem depurado para projetar e depurar software para Windows, um emulador JTAG, bibliotecas "básicas" para trabalhar com o processador e periféricos no modo "bare-metal" e compatibilidade com qualquer um dos RTOS padrão fornecidos nos textos de origem (ThreadX da ExpressLogic, FreeRTOS, etc.) com suporte para protocolos IP e sistema de arquivos. Linux, em princípio, não é adequado e não é considerado. O hardware do dispositivo como um todo não é muito complicado, mas o software é "muito, muito" e levará pelo menos um ano antes do primeiro lançamento e com a documentação. É provável que o dispositivo esteja sujeito a certificação subsequente. A quantidade é pequena - cerca de 100 peças por ano nos primeiros anos.
Nossa experiência de aplicação e o software desenvolvido para processadores Freescale / NXP com núcleos PPC e ARM, processadores TI e Atmel nos permitiram, em princípio, não pensar em escolher um controlador de controle e excluir todas as "hemorróidas" com o software "base", RTOS e ambiente de desenvolvimento de software. Mas o diabo me puxou e depois me beijou na bunda algum tipo de pau ... eu decidi procurar - "é algo adequado para uso doméstico?" no lugar do controlador de controle. Naquele momento, houve um "toque" na substituição de importações e, a propósito, a propósito, li sobre o primeiro processador doméstico Baikal-T1. E girou ...
Primeira impressão
Fui ao site da BE, encontrei o processador Baikal-T1, baixei o folheto com um diagrama de blocos. A primeira impressão é que ele se ajusta aos parâmetros. Nada de extraordinário em 2016, mas não é ruim para uma ampla gama de aplicativos incorporados e sem pretender ser "super-duper". Muito bem! Se tudo funcionar como previsto, ótimo trabalho! Bom sucesso no mercado.
Preencheu um aplicativo "on-line" no site, indicando "quem é", de onde, de e com uma solicitação para enviar informações técnicas mais detalhadas sobre hardware e software. E, como sempre, mudou para a rotina.
Passa uma semana, segundo, terceiro ... Silêncio. Nenhuma carta ou ligação da BE. Lembre-se do BE. Ligue para si mesmo. Acontece que não há fichas (no final de 2016) e elas estão planejadas apenas até o final de 2017. Nenhuma documentação técnica está disponível ainda.
Bem, vamos esperar ... Nosso produto ainda estava apenas na fase de compreensão. Há tempo.
A segunda impressão, é a última
Fevereiro 2018 Finalmente, chegamos. O conceito de produto está pronto e o mercado está claro e pronto. É hora de começar a projetar. A idéia de usar o Baikal-T1 ainda é válida. Eu vou ao site da BE. Hoje o site é lindo, tudo pisca, move ... A fonte é grande. Legal! Novamente, preenchi um aplicativo “on-line” no site com uma indicação de “quem é”, de onde e com um pedido para enviar informações técnicas mais detalhadas sobre as peças de hardware e software. E, como sempre, ele voltou ao trabalho em antecipação a uma resposta antecipada.
No entanto, uma semana passa, a segunda, a terceira começa ... Mais uma vez silêncio. Nenhuma carta ou ligação da BE. A inclinação do site de alguma forma começa a não corresponder ao verdadeiro estado de coisas.
Mais uma vez, lembre-se do BE. Estamos ligando. Descobrimos com quem conversar sobre questões técnicas. Todas as mesmas pessoas - Mr. R.S. Nós nos comunicamos.
E aqui acontece ...
CPU e placa de demonstração
O preço do chip é de cerca de US $ 65 (TR 3,7). Em estoque está em estoque, leve-o mesmo agora. Ótimo.
Faço uma série de perguntas técnicas específicas sobre o processador. Eu recebo, de maneira geral, respostas adequadas, embora em alguns lugares uma pessoa "nada", mas dentro da razão (as perguntas são muito específicas, mas há falta de experiência). De qualquer forma, é claro que será necessária documentação técnica completa para funcionar.
Pergunto: "Existe uma placa de teste para testar software e hardware?" A resposta é sim, mas há alguns pequenos atrasos com a nova revisão. Sem dúvida, vamos esperar um pouco. Mas o preço do conselho é de ~ 150t.r. - isso é muito legal para um chip ao preço de 3.7t.r.! Surge uma pergunta sensata: "Por que isso seria?", Enquanto as placas de teste da Freescale / NXP, TI, Atmel estão na faixa de preços de ~ 60 $ (3,6t.r.) a ~ 400 $ (23t.re.) do fabricante . Não há uma resposta razoável para o preço, como sempre. Não quero - não pegue! Concluo que as coisas não estão indo bem com a venda de chips, e é por isso que eles se concentram em conselhos de teste e pedidos do governo. De fato, em sã consciência, ninguém (ou poucos) comprará essa taxa por esse preço e por seu dinheiro suado. A propósito, outro dia eu descobri que uma aula de treinamento em Baikal-T1 foi aberta na Universidade Estadual de Moscou. Claro que isso é ótimo! Mas apenas o dinheiro é novamente dinheiro do estado e eles têm um limite e muitas pessoas querem!
A situação está clara. Ainda não é assustador. Será necessário - compraremos uma placa de teste. Indo além ...
De software
Eu pergunto "como estão as coisas com o software Baikal-T1 agora?" de acordo com os requisitos da nossa tarefa?
De jeito nenhum! Apenas Linux. Não há suporte para nenhum RTOS, nada de metal, nada mais. É como se alguém estivesse portando o QNX para o Baikal-T1 lá, mas não sabemos nada.
Algo que me lembra muito os tempos “soviéticos”, quando os processadores foram lançados, deu documentação descrevendo o sistema de instruções do processador e seus códigos, e então todos os que podem o máximo possível ... É verdade que não havia competição. Era apenas uma tarefa - fazê-lo de qualquer maneira!
Em geral, para nós isso não é uma questão. Em quais processadores, por si só, não relatamos diferentes RTOSs durante o nosso trabalho. Bem, eles também teriam feito uma porta para o Baikal-T1. Eles escreveriam bibliotecas "básicas" para aplicativos bare-metal.
Aqui estão apenas uma pena. É ainda mais lamentável observar a abordagem falha do BE para esta questão. Afinal, os engenheiros de "silicone" fizeram um excelente trabalho. Mas, aparentemente, os chefes não entendem que o software deva ser tratado em várias direções (e não apenas no Linux) e no próprio BE. E isso deve começar muito antes do lançamento do próprio silicone.
De fato, todos esses benchmarks, comparando processadores entre si, a presença de uma ou outra porta de hardware e outros dispositivos de arquitetura aqui e a ausência deles não significam nada para a grande maioria dos aplicativos. Será necessário - nós mesmos acrescentamos o que está faltando. Qual é a diferença entre 1000MIPS e 800MIPS, ou 10000 CoreMarks e 7000 CoreMarks para o controlador de gerenciamento? Sim não Somente a disponibilidade de software e ferramentas de desenvolvimento adequadas é de real importância, como é o caso da nossa tarefa. E fazer isso é bastante realista para o fabricante do processador. Você só precisa entender que este é o ponto chave para a venda bem-sucedida de processadores. A propósito, o preço do painel de teste se tornará bastante adequado, como as prioridades mudarão na direção certa. E aqui, novos clientes se atualizarão.
Isso é triste Mas, no entanto, não é crítico. Indo além ...
Ferramentas de design e depuração de software
Eu pergunto "e as ferramentas de depuração?" Não acredite, mas em 2018 tudo é o mesmo: de jeito nenhum! Nem o ambiente de desenvolvimento BE nem o emulador JTAG foram projetados e depurados para o chip específico com seus periféricos, nem é esperado. Eles apenas disseram que em algum lugar, como se o projeto do ambiente no Eclipse estivesse mentindo, você pode baixá-lo. Mas como não é suportado, compile e use você mesmo por seu próprio risco! Essa é a abordagem! Classe!
Emulador JTAG como se estivesse disponível na empresa OLIMEX (Bulgária!). Eles deram um link - não há uma palavra sobre MIPS, apenas emuladores para ARM. E onde está o ARM quando o núcleo do MIPS? Eles deram um link para os emuladores JTAG no site do MIPS. Há algo como a verdade. Mas o que eu preciso para trazer o emulador JTAG dos EUA?
Eu faço a pergunta: "Onde posso obter um depurador para o emulador JTAG?" A resposta é digna - "Apenas GDB permanece". Eu não entendi nada Existem no BE todos os compradores de idiotas ou algo assim? Depurador de linha em 2018?
E eu preciso disso? Além disso, para o núcleo MIPS P5600 (Baikal-T1) desconhecido para mim.
Só posso repetir o mesmo que no parágrafo anterior. Os gerentes “eficientes” da BE precisam entender que apenas a disponibilidade de software e ferramentas de desenvolvimento suportadas adequadas e diretamente do próprio fabricante do chip é realmente importante. É a própria empresa BE que precisa fornecer os emuladores testados pelo JTAG e seu ambiente de design e depuração "aprimorado" para o chip, como fazem todos os fabricantes de processadores.
A situação está se tornando crítica. No entanto, vamos mais longe ...
Final digno
Embora já estivesse claro que a situação era uma “costura” e, aparentemente, eu teria que finalmente me separar do pensamento de Baikal-T1, pergunto sobre a obtenção de documentação técnica detalhada. Você precisa olhar para a descrição completa das portas e a especificação do chip. Eu quero especialmente ver a lista de Erratas de silicone, que contém uma lista de todos os erros de silicone e a presença de patches de software para eles, porque é isso que determina a possibilidade de uso normal do chip para uma tarefa específica.
Em ordem de informações: para a maioria dos fabricantes de chips, a documentação técnica detalhada e o Silicon Errata estão disponíveis imediatamente para download no site ou após um simples registro no site (principalmente para pesquisas de mercado).
No BE, eles são solicitados a assinar o NDA (contrato de não divulgação, contrato de não divulgação). Não é uma pergunta - eles assinaram, e mais de uma vez, com diferentes empresas fabricantes de chips. Isso geralmente é necessário para chips muito complexos e especiais, que estão sujeitos a intensa concorrência em termos de funcionalidade e IP (propriedade intelectual). Só aqui com o fabricante de chips de processador para uso geral - esta é a primeira vez na minha memória. No entanto, eu tinha certeza de que o assinaríamos sem problemas e pedi para enviar um arquivo para preencher por correio.
E então uma emboscada estava esperando ...
Um dia depois, recebo uma carta pelo correio com o arquivo NDA e o texto que o acompanha. E então, para assinar o NDA, a fim de obter apenas uma descrição do processador (!), Os seguintes documentos devem ser enviados à empresa no BE (a seguir, cito a citação exata da carta):
"...
1. Uma cópia do certificado de registro do estado.
2. Cópia do certificado de registro tributário.
3. Uma cópia da carta, certificada pelo chefe.
4. Protocolo ou decisão sobre a nomeação de um diretor.
5. Uma cópia do aviso de aplicação do sistema tributário simplificado (se aplicável).
6. Procuração e detalhes de contato do representante.
7. Cartão da empresa.
... "
Lembro-me desse momento inesquecível quando o li. Assim como no slogan da publicidade da BMW - "Prazer ...". O maior "respeito" à empresa BE com o seu serviço jurídico! Nisso, ela estava muito à frente de todos que poderiam e não deveriam estar no assunto de assinar a NDA para receber documentação para um processador de uso geral. Aparentemente, um advogado foi retirado de um banco na BE e ele obviamente confundiu que éramos nós (os compradores) quem queríamos obter algo adequado do nosso dinheiro da BE, e não vice-versa. Mas a vida certamente corrigirá isso, e espero que em breve.
Tudo o que eu era capaz naquele momento inesquecível era escrever uma carta de resposta no BE com a pergunta modesta: "Você ainda pode ter as chaves do cofre, onde está o dinheiro?" e com a proposta de nos esquecermos como um pesadelo.
Resíduo seco
"Parágrafo" completo!
Com o que você foi confortado?
Eu tive que voltar para as boas e antigas plataformas ARM de hardware, para as quais temos tudo por um longo tempo e funciona muito bem. O software aplicativo para o nosso produto é um ponto-chave e existe muito. E para resolver os problemas menores e outros com as ferramentas de desenvolvimento e depuração e, possivelmente, com hardware desconhecido, com essa abordagem no BE, não há absolutamente nada.
Eu queria o mesmo extremo com o uso de "substituição de importação" ...!
P.A. Semenov, Ph.D., MicroLAB Systems (Moscou)