O que preciso para concorrer a essas vagas de desenvolvimento de software embarcado?

Uma empresa de indústria Espacial chamada Avibrás na cidade vizinha a minha abriu, há 2 dias, 13 vagas com a seguinte descrição:
“desenvolvimento de software embarcado em tempo real, com programação em linguagem C, C++, Pascal e Assembly x 86. Desejável experiência com programação em linguagem C, C++, Pascal e Assembly x 86.”

É a área que eu quero muito, muito mesmo, trabalhar, mas ainda não tenho experiência com projetos, mas já estou no 3º ano da faculdade. Como eu faço para começar a trabalhar nessa área?

Mais detalhes sobre as vagas:
http://www.empregos.com.br/vagas/analista-de-sistemas-sw/jacarei/sp/2902864?utm_source=Indeed&utm_medium=organic&utm_campaign=Indeed

Estude oq foi solicitado uai. Faça projetos pequenos em casa que ajuda também.

Manda teu cv e fale q você está procurando estágio. [=

[quote=Hebert Coelho]Estude oq foi solicitado uai. Faça projetos pequenos em casa que ajuda também.

Manda teu cv e fale q você está procurando estágio. [=[/quote]
Valeu pela dica, vou fazer isso mesmo! Se eu consguir um estágio nessa empresa já será uma ótima experiência para mim!

[quote=Erick Ribeiro][quote=Hebert Coelho]Estude oq foi solicitado uai. Faça projetos pequenos em casa que ajuda também.

Manda teu cv e fale q você está procurando estágio. [=[/quote]
Valeu pela dica, vou fazer isso mesmo! Se eu consguir um estágio nessa empresa já será uma ótima experiência para mim![/quote]

Vai lá na empresa, leva o seu curriculum e diga a verdade. Que está interessado. Eu trabalho nessa área e não troco facilmente. São sempre projetos que agregam no meu conhecimento.

Já que quer entrar nessa área eu acho interessante estudar Eletrônica Digital, além daqueles itens pedidos.

E também concordo com a sugestão de procurar a empresa na “cara de pau” mesmo. Demonstre o seu interesse que pode até virar alguma coisa

[quote=gomesrod]Já que quer entrar nessa área eu acho interessante estudar Eletrônica Digital, além daqueles itens pedidos.

E também concordo com a sugestão de procurar a empresa na “cara de pau” mesmo. Demonstre o seu interesse que pode até virar alguma coisa[/quote]

Essa é a típica vaga para engenheiros eletrônicos :slight_smile: - embora isso não esteja escrito na descrição da vaga.

Se você (ou sua família) tiver algum problema com indústria armamentista (assim como há aqueles que têm problemas de trabalhar em instituições financeiras, outros com problemas de trabalhar com indústrias de bebidas alcoólicas ou de tabaco etc.) não se esqueça que a Avibrás basicamente produz armas. Não é como a Embraer (aí na sua cidade mesmo) que tem a divisão civil e a militar.

[quote=entanglement][quote=gomesrod]Já que quer entrar nessa área eu acho interessante estudar Eletrônica Digital, além daqueles itens pedidos.

E também concordo com a sugestão de procurar a empresa na “cara de pau” mesmo. Demonstre o seu interesse que pode até virar alguma coisa[/quote]

Essa é a típica vaga para engenheiros eletrônicos :slight_smile: - embora isso não esteja escrito na descrição da vaga.

Se você (ou sua família) tiver algum problema com indústria armamentista (assim como há aqueles que têm problemas de trabalhar em instituições financeiras, outros com problemas de trabalhar com indústrias de bebidas alcoólicas ou de tabaco etc.) não se esqueça que a Avibrás basicamente produz armas. Não é como a Embraer (aí na sua cidade mesmo) que tem a divisão civil e a militar. [/quote]

sacanagem, eu teria prazer em trabalhar em uma empresa destas!, e colocar em prática meu projeto do Reator Arc 1

pena que não sou engenheiro :frowning:

Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.

programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.

[quote=douglaskd]programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.[/quote]

É sim…software embarcado é uma área muito “restrita” mesmo…é quase uma maçonaria…o conhecimento é passado na forma aluno x mentor

[quote=bestlinux][quote=douglaskd]programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.[/quote]

É sim…software embarcado é uma área muito “restrita” mesmo…é quase uma maçonaria…o conhecimento é passado na forma aluno x mentor[/quote]

igual ABAP rsrs, o básico você até rabisca… acender leds, ligar motor, temporizar haha

mais o pulo do gato mesmo só tendo o auxilio de “Pessoas que tiveram auxilio de outras Pessoas”.

achei esse livro. Programming Embedded Systems - With C And GNU Development Tools, 2nd Edition vou dar uma olhada

[quote=bestlinux]Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.[/quote]

Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?

[quote=Erick Ribeiro][quote=bestlinux]Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.[/quote]

Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?[/quote]

Sim, mas com certeza, cursos relacionados a Engenharia e Eletrônica são mais focados.

[quote=Erick Ribeiro]Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?[/quote]Em nossa área até pedreiro pode se dar bem, se for um bom profissional.

Já tive chefe que era formado em outras áreas e eram excelentes desenvolvedores.

Basta da pessoa querer e também investir tempo e estudo nisso.

[quote=bestlinux][quote=Erick Ribeiro][quote=bestlinux]Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.[/quote]

Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?[/quote]

Sim, mas com certeza, cursos relacionados a Engenharia e Eletrônica são mais focados.[/quote]

Um curso de Ciência da computação já te passa tudo o que precisa para isso com matérias de arquitetura e microchips. Pelo menos na minha época era assim.

[quote=douglaskd]programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.[/quote]

Eu já acho bem mais difícil pelo simples fator dos dispositivos serem limitados. Alguém aí já programou um micro de 1kb de ram? Precisei reaproveitar até as variáveis que declarava. Conta com valores maiores que um inteiro então era cruel. Ou você raciocina ou tá perdido.

O mundo do pc pra mim é o paraíso. Double e Long é coisa que praticamente tenho que “implementar” no dia a dia.

[quote=juliocbq][quote=douglaskd]programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.[/quote]

Eu já acho bem mais difícil pelo simples fator dos dispositivos serem limitados. Alguém aí já programou um micro de 1kb de ram? Precisei reaproveitar até as variáveis que declarava. Conta com valores maiores que um inteiro então era cruel. Ou você raciocina ou tá perdido.

O mundo do pc pra mim é o paraíso. Double e Long é coisa que praticamente tenho que “implementar” no dia a dia.[/quote]

tem como mostrar um pouco de código sobre como implementar Double por exemplo ?

[quote=juliocbq][quote=douglaskd]programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.[/quote]

Eu já acho bem mais difícil pelo simples fator dos dispositivos serem limitados. Alguém aí já programou um micro de 1kb de ram? Precisei reaproveitar até as variáveis que declarava. Conta com valores maiores que um inteiro então era cruel. Ou você raciocina ou tá perdido.

O mundo do pc pra mim é o paraíso. Double e Long é coisa que praticamente tenho que “implementar” no dia a dia.[/quote]

Parece um desafio interessante programar em computadores de 1kb de RAM. :slight_smile:

Pra começar, você normalmente precisa saber:
a) Se seu processador já tem instruções de ponto-flutuante (mesmo processadores ARM nem sempre implementam isso :frowning: )
b) Supondo que não tenha, se o problema pode ser resolvido sem double, apenas com “fixed-point arithmetic” (por exemplo, se você quer criar um dispositivo que seja uma calculadora com exatamente 2 casas depois da vírgula, que faça apenas somas e subtrações).
c) Supondo que não dê para resolver com fixed-point arithmetic, se você pode usar um formato de ponto-flutuante não-padrão e mais fácil de implementar, ou tem de implementar IEEE-754 ou um subconjunto dele

Veja só o que você precisa se perguntar antes de sair usando uma implementação pronta ou de sair fazendo :frowning:

Pra começar, você normalmente precisa saber:
a) Se seu processador já tem instruções de ponto-flutuante (mesmo processadores ARM nem sempre implementam isso :frowning: )
b) Supondo que não tenha, se o problema pode ser resolvido sem double, apenas com “fixed-point arithmetic” (por exemplo, se você quer criar um dispositivo que seja uma calculadora com exatamente 2 casas depois da vírgula, que faça apenas somas e subtrações).
c) Supondo que não dê para resolver com fixed-point arithmetic, se você pode usar um formato de ponto-flutuante não-padrão e mais fácil de implementar, ou tem de implementar IEEE-754 ou um subconjunto dele

Veja só o que você precisa se perguntar antes de sair usando uma implementação pronta ou de sair fazendo :([/quote]

Isso mesmo. O grande problema é que na indústria os dispositivos precisam trabalhar com fontes externas dos mais variados tipos. Se o dispositivo lê um inteiro de 32 bits e você usa um micro que trabalha com inteiros de 16 já tem um problema.
Isso pode ser um protocolo de comunicação ou qualquer coisa do gênero e na engenharia(o papel dela claro) é fazer o custo da solução cair. Então é natural você usar um chip que só soma e subtrai e ter que implementar uma fft nele(é uma metáfora, na maioria das vezes).

O problema acima você consegue resolver quebrando os bits da fonte em um vetor de inteiros de 16 de duas posições:

int int32[2];

e usar uma máscara de bits para preenchê-lo

[code] int leitura = 0;
read_source(pino1, leitura);

while(i<16){

if(leitura && 0000000000000001){
int32[0]|=1;
}else{
int32[0]|=0;
}

int32[0] << 1;


}[/code]

e ir processando os bits que vão chegando e montando toda a informação. O pior é quando falta a ram e você precisa reaproveitar todas as variáveis por não pode declará-las a vontade. Aí a coisa complica bem.
É isso a grosso modo. Você precisa pensar em algoritmos constantemente para lidar com números, fazer sobrar memória, etc…