Por ser uma pessoa pública e bastante conhecida na Internet, muitas … ah, exagerei. Ok, de novo. Por ser uma pessoa muito afável e consultor na área … pula. Mais uma. Por ter vários amigos, idade suficiente e já ter tomados algumas traulitadas (bem mais real), é comum me pedirem dicas sobre assuntos ligados ao mundo embedded.
Em geral, procuro evitar livros de linguagens ou plataformas específicas, a menos que tragam algum diferencial. Existe muito material sobre este tipo de assunto já na Internet. Por exemplo, um livro sobre C++ pode não ser um investimento tão bom quanto um de C++ com design patterns. É claro que tudo tem exceção, até mesmo o que eu acabei de falar. O livro de C++ do Stroustrup é bem interessante comprar quando você acha que já sabe C++. Aliás, é um dos livros que ainda não terminei de ler. Não tirem conclusões sobre as últimas três frases, tudo bem ?
Voltando ao assunto, vou citar dois livros que gostei e que tem relação direta com código embarcado, apesar de não parecer. O primeiro pode lhe ajudar a fazer um código que você consiga usar no seu PC ou microcontrolador de 8, 16 e 32 bits e com alinhamentos diferentes, por exemplo. Não pensar em código portável na hora de escrever, de forma natural, pode lhe trazer problemas no futuro.
O segundo vai numa linha parecida, mas ensinado a entender melhor a relação entre o que você digita na IDE e o que o seu processador/controlador vai enfrentar no microcódigo depois.
Esperava um livro sobre “Programando PICs” (argh), “ARM Cortex M3 para iniciantes” ou “Os segredos do MSP430″ ? Esqueça, até mesmo porque acabei de inventar estes títulos. Não resolvem muita coisa e apenas juntam o que existe nos manuais. Imediatistas ? Talvez sim. Mas não são obras que ficarão na sua estante por muito tempo.
PS: preciso terminar o Stroustrup …


#1 por João Bernardo em fevereiro 12, 2011 - 2:12 pm
Boa parte de escrever código bom e portável (ou seria portátil?) se resume a evitar otimização prematura.
Parece que o Santo Graal da computação é atingir O(1) para tudo… Ninguém quer saber das constantes multiplicativas.
Outra coisa que você deveria recomendar o pessoal a ler são os datasheets.
#2 por jedizone em fevereiro 12, 2011 - 3:03 pm
Você com certeza leu aquele famoso link “premature optimization is the root of all evil”. Vale um post futuro !
#3 por João Bernardo em fevereiro 12, 2011 - 4:03 pm
Pra falar a verdade, falta de identação é algo ainda pior…
Python FTW
Todo mundo gosta de ver seu programa rodando 5x mais rápido, mas se ele antes demorava 5 microssegundos para ser executado, você provavelmente só perdeu legibilidade.
Esse texto é muito bom e funciona como psicologia reversa:
http://www.thc.org/root/phun/unmaintain.html
#4 por jedizone em fevereiro 12, 2011 - 5:19 pm
Infelizmente, um bom python embedded ainda não existe. Lua tá na frente. Pena que em termos de biblioteca passa longe.