Resuma o conhecimento básico de sistemas incorporados, linguagens de programação, ferramentas eficientes e outros conteúdos.
Recentemente, ouvi um amigo dizer algo muito bom:
O iPhone é um braço incorporado no sistema operacional, e o CUDA também pode ser entendido como um embutido heterogêneo.
Nessa perspectiva, como você pode se tornar um excelente engenheiro incorporado, separando a ciência da computação de incorporação e apenas chamando tecnologias como microcontroladores, braço, fpGas, etc. e apenas aprendendo campos técnicos estreitos?
Documentação técnica e registros de estudo:
Noções básicas do sistema incorporado:
Aprendizado de máquina:
linguagem de programação:
Construção e ferramentas do meio ambiente:
Base teórica:
Este armazém atualizará o conhecimento relacionado ao campo incorporado por um longo tempo. Ao resumir e refinar o conhecimento que você possui, você pode aprender constantemente habilidades mais úteis.
Recentemente, tenho uma nova visão sobre o posicionamento de engenheiros incorporados.
Os graduados dos principais cursos de eletrônica começam a aprender com o nível da máquina, como microcontroladores e princípios de microcomputador, e depois vão para o nível de idioma, como C Language e Python, e depois aprendem estruturas e algoritmos de dados. Essa rota parece muito boa e é adequada para começar, mas há sérios problemas nessa rota.
Os problemas encontrados no trabalho incorporado são frequentemente abrangentes, o que significa que a partir do nível de idioma ou nível de algoritmo geralmente não pode resolver o problema e, às vezes, ele precisa se aprofundar no nível da máquina. Portanto, a questão é: quais níveis existem para todo o sistema incorporado ou quais níveis existem para todo o sistema de computador? Para entender toda a estrutura do sistema de conhecimento e sua posição, você precisa ter um entendimento mais profundo dos princípios de composição do computador.
O livro que eu recomendo aqui é a terceira edição de "Compreensão aprofundada dos sistemas de computadores", escrita por Randal E. Bryant e David R. O'Hallaron. O curso correspondente que pode ser encontrado é o curso "básico dos sistemas de computadores" ministrado pelo professor Yuan Chunfeng na plataforma MOOC, que nos ajuda a estabelecer uma compreensão de toda a camada de abstração do sistema de computador e aprimorar nossa capacidade abrangente de resolver problemas incorporados.

Os engenheiros incorporados devem ter profundidade suficiente em seu acúmulo técnico.
Após vários anos de desenvolvimento de engenharia, entrei em contato com vários processadores e projetei e implementei uma CPU simples de 16 bits sozinho. Gradualmente, percebi que o uso de certos CPUs não é o conhecimento mais importante, mas o conteúdo mais importante são os princípios da composição do computador e da arquitetura do computador (x86 ARM RISC-V). Uma compreensão profunda do conhecimento básico do computador pode nos permitir entender o mesmo tamanho ao aprender um novo hardware de computação, e não acharemos muito difícil aprender algumas novas tecnologias de computação heterogênea, como GPU, TPU e NPU.
Várias linguagens de programação são ferramentas essenciais para os engenheiros. Mas acho que a coisa mais importante não é a própria linguagem de programação, mas a idéia de design de idiomas e seus cenários aplicáveis. Torna -se muito fácil entender o que está por trás de uma linguagem de programação e aprender e usar um novo idioma.
O problema com o sistema de posicionamento rápido é uma capacidade necessária para todos os engenheiros incorporados; portanto, como depurar efetivamente? Certa vez, discuti esse assunto com um colega especialista e ele disse: posso dizer que confio principalmente em pensar? Essa resposta é obviamente muito breve, mas temos que admitir que a depuração é realmente baseada no pensamento.
Recentemente, li um livro chamado "Como resolver", que me deu alguma inspiração e me fez perceber que isso é um problema de pensar.
Se os engenheiros desejam melhorar os recursos de depuração, geralmente devem pensar nesse problema: essa solução parece viável e parece estar correta, mas como eles podem pensar em tal solução? Esse experimento parece ser viável, o que parece ser um fato, mas como esse fato foi descoberto? E como posso pensar neles ou descobri -los sozinho? No trabalho, você deve não apenas tentar entender as soluções de vários bugs, mas também entender as motivações e as etapas desta solução e tentar o seu melhor para explicar essas motivações e etapas para os outros.