Sugestão para iniciar no ARM

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Sugestão para iniciar no ARM

Mensagempor MOR_AL » 25 Mar 2013 16:17

Pessoal!
Acho que já conheço os PICs 16F suficiente para entender e fazer bons projetos com ele. Comecei a estudar os PICs 18F e suas "novidades" não me atraíram.
Agora estou pensando em incluir os processadores de 32 bits nos meus trabalhos e escolhi os ARMs.
Comprei um livro sobre ARM e não o achei nada didático.
Pesquisei muita documentação baixada na internet e somente aumentaram minhas dúvidas.
Pesquisei sobre cursos, aqui na cidade do Rio, e encontrei apenas um, mas fiquei em dúvida se a plataforma seguida seria a mais atraente. Os cursos não são baratos e são ministrados baseados em kits, que também não sai barato, então não podemos desperdiçar com um curso, kit, empresa ou software, que apresentará limitações em pouco tempo de estudo.
Acontece que estou encontrando alguma dificuldade em minhas diretivas, por isso estou solicitando o auxílio de quem já trabalha com ARM.
Gostaria que vocês formassem opiniões sobre os seguintes pontos:
1 - O ARM é uma parte do processador. Pensando como um “hobista”. Qual seria um bom fabricante de micro controladores que dispusesse de boas facilidades, tais como preço de kit de desenvolvimento, editor de texto e ferramentas de depuração dedicados, tutoriais e bibliotecas free?
2 – Já li alguma coisa sobre as diversas linhas (M0, 7, 9, 11, A5, A8, A9) e até comprei um kit mínimo (M0), mas realmente estou confuso com relação à escolha a seguir.
3 – O sistema operacional? Só uso o Windows. Não gostaria de acrescentar, se possível, outro em meu PC, mas possuo outro PC que poderia fazê-lo. Teria que estudar também um pouco desse SO.
4 – Sítios. Poderiam postar alguns endereços úteis e incluir a melhor característica dele?

Como ainda estou “preso” em meus outros projetos, tenho algum tempo para refletir e estudar as sugestões de vocês.

Por favor!
Este tópico poderá ser útil para muitos outros na minha situação, então peço que postem apenas sugestões e críticas construtivas, focadas no assunto. Evitem discussões paralelas, costumeiras na defesa de um ou outro ponto de exclamação.


Agradeço pelas colaborações.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Sugestão para iniciar no ARM

Mensagempor xultz » 25 Mar 2013 16:40

Cara, vou te falar como foi comigo. Com uma boa experiência em PIC, fui meio que obrigado a fazer um projeto com ARM (porque nenhum PIC tinha o que o projeto precisava). No começo eu odiei. Depois passei a odiar os PICs :)
Uma linha bacana para começar é com LPC. Se for para iniciar a brincadeira, qualquer um serve. No começo você vai mexer com eles e chegar à conclusão de que tudo o que está fazendo, faria mais fácil com um PIC. Provavelmente, piscar um led seja mais fácil num PIC. Escrever "Hello World" num display seja mais fácil num PIC. Mas com o tempo começa a descobrir as vantagens, como por exemplo que o stack não estoura por chamar mais de 8 (ou 16) subrotinas. Que o ARM tem especificado desde a origem como uma rotina passa e retorna valores (e são rápidos, porque são feitos nos registradores). Que o ARM prefere trabalhar com variáveis de 32 bits e é mais rápido que com variáveis de 8 bits. E por aí vai.
Ou seja, se prepare para achar estranho, complicado, tenso. Passada essa fase, você vai se sentir mais poderoso. É estranho, mas é verdade.
Como eu não sei o que pretende fazer com eles, escolhe um kit qualquer, ARM7, M0, M3, e começa a destrinchar o bicho.
Quanto ao compilador, se você não quer comprar e não quer usar pirata, vai ter que se virar com o toolchain do gcc, caso contrário baixa o Keil. Mas dá prá viver bem com ARM em Windows, não esquente com isso não.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Sugestão para iniciar no ARM

Mensagempor ivan braga » 25 Mar 2013 17:35

MOR_AL

Estou em uma situação muito parecida com a sua, recentemente comecei a me aventurar neste mundo ARM e ainda continuo fazendo muita pesquisa sobre este bicho.

Minha impressão inicial é exatamente o que o xultz descreveu, quase tudo quando comparado com um pic é mais difícil de assimilar. Afinal velhos hábitos e manias são difíceis de se esquecer.

Dito isto, vamos ao que interessa.

Placa de teste.
STM32F4DISCOVERY (http://www.farnellnewark.com.br/stm32f4discoveryferramentadedesenvolv,product,2009276,0.aspx)


IDEs e Toolchain que tenho testado.
- http://www.keil.com/arm/mdk.asp Toolchain  (keil)
- http://www.coocox.org/Index.html Toolchain  ( GCC ARM Embedded https://launchpad.net/gcc-arm-embedded/+download)
- http://www.emblocks.org/web/ Toolchain  ( GCC ARM Embedded https://launchpad.net/gcc-arm-embedded/+download)


Esta outra aqui comprei hoje, (http://www.wvshare.com/product/Open407I-C-Package-B.htm) achei interessante os módulos que a cercam. Agora é só aguardar chegar.
"Mesmo o objeto mais inanimado tem movimento suficiente para ficar na sua frente e provocar um acidente."
"Even the most inanimate object has enough movement to stand in your way and cause an accident."
Avatar do usuário
ivan braga
Nibble
 
Mensagens: 60
Registrado em: 15 Dez 2006 18:02
Localização: Rio de Janeiro

Re: Sugestão para iniciar no ARM

Mensagempor proex » 25 Mar 2013 17:50

Para quem vai abondonar PIC logo logo, o ideal é iniciar com Cortex M0, o aprendizado é mais facil, depois vc vai para o M3 e e M4.

Já usei muito NXP mas depois migrei para os ARMs da ST, bem melhor ao meu ver.

O STM32F407IGT6 então é um tiro de canhão para quem esta acostumado com PIC. Sensacional.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Re: Sugestão para iniciar no ARM

Mensagempor RobL » 25 Mar 2013 18:46

Se for para hob primeiro pense que vais ter que soldar um QFN (em torno de 0.5mm entre leads). A NXP colocou um DIP ARM M0. No entanto, discordo de usar ARM M0, somente use no mínimo ARM M0+ (sinal de soma), pois o primeiro ainda é com arquitetura primitiva (von Newmann).

Se for para aprender e desenvolver seus programas, mesmo pesados, pense em kits. Os de menor preço são os da NXP tal como Mbed ou os LPCXpresso. Nesses dá para adptar vários circuitos externos e já vem com o debugador/gravador.
Deve pensar também na IDE / compilador.
A NXP, através da CodeRed, oferece uma IDE baseada no eclipse, pronta para aprender/trabalhar, com muitos exemplos, limitada gratuitamente a 128Kb.
A ATMEL, que prefiro, oferece uma IDE completa sem limitação e gratuita, também com muitos exemplos para aprender e trabalhar.
Tanto a NXP como a ATMEL não tem uma estrutura hobista como a Microchip.
Para sair do mundo dos pics mas sem uma ruptura tamanha como o mundo ARM, pode pensar em usar o que há de mais moderno em 8 bits os ATXmega da Atmel, note, não são os ATmega e sim com o X. Esses são surpreendentes, tem tudo que um ARM tem mas em 8bits, interrupção similar a um ARM multi-level, DMA, Crypto, DMA, etc, mas nada parecido com um PIC e sim igual a um microcontrolador de verdade. É uma boa transição para os ARMs. Os ATXmega podem ser encontrados com invólucros TQFN (0,8mm) mais fácil soldar. Quanto ao preço é igual a um ARM !!! Mas para hob a facilidade pode estar acima do preço.
Editado pela última vez por RobL em 25 Mar 2013 19:00, em um total de 1 vez.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Re: Sugestão para iniciar no ARM

Mensagempor KrafT » 25 Mar 2013 18:52

"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Sugestão para iniciar no ARM

Mensagempor RobL » 25 Mar 2013 19:01

A opção do Kraft é ótima em termos de preço. Mas procure saber sobre a IDE/Compilador.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Re: Sugestão para iniciar no ARM

Mensagempor Muga » 25 Mar 2013 19:48

Dai pessoal, Blz?

Acho que a escolha do micro é de acordo com a aplicação, se for pra matar uma mosca eu vou usar pic.

Eu estava precisando a algum tempo atras de uma interface ethernet para usar em produtos e fui a fundo com o pic 18f67j60 fazendo funcionar praticamente toda a pilha tcpip. Fiz coisas bem bacanas com esse pic.

Acontece que comecei a trabalhar com arm9 com linux embarcado na sequencia e tive a impressao que o poder para ter um resultado final superior é maior com arm para aplicacoes que realmente se beneficiam disso no desenvolvimento. por exemplo, poder rodar php, sqlite, criar e consumir webservices te dão outras perspectivas para projetar produtos mais sofisticados.

Se a sua ideia é apenas um upgrade para arm7, ja usei NXP com Keil e foi bem tranquila a aprendizagem.

Também estou brincando bastante ultimamente com a raspberry pi escrevendo programas em C e php+js. mas dai ja é arm11.
Muga
Bit
 
Mensagens: 33
Registrado em: 21 Out 2006 09:41
Localização: Guaira - SP

Re: Sugestão para iniciar no ARM

Mensagempor proex » 26 Mar 2013 09:14

Eu ja brinquei com essa IDE EmBlocks, sensacional. O editor de texto é melhor que o da KEil mas................. na hora de debugar, ele não reconhece minha interface Jtag Ulink.

Ai estragou minha brincadeira.

.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Re: Sugestão para iniciar no ARM

Mensagempor MOR_AL » 26 Mar 2013 11:46

Pessoal!

O agradecimento se estende a todos. Só farei alguns comentários pertinentes ao caso para não incluir postagens extras.

1 - Nas referências da Farnel, cliquei no "datasheet" e retornou erro.
O custo é até justo (R$87,00), mas sem o datasheet, vejo uma placa "encostada". Googlando no nome da placa descobri o datasheet e que na br.mouser.com está a US$14.55. Só que levam 12 semanas e reportaram atrasos na fabricação do produto. No Ebay está a partir de uns US$ 28.00. Ainda pretendo esperar e analisar as postagens, mas este kit é também uma boa opção.

2 - Desconsiderando a dificuldade de um hobista fazer PCI com filetes de 0,5mm. Gostaria de usar um kit de desenvolvimento e posteriormente, usar apenas o necessário, para reduzir o custo do hobby.

3 - Foi feita uma observação interessante. A transição do PIC para o ARM é trabalhosa, mas se incluirmos uma etapa intermediária (M0 ou M0+) a migração fica mais "digerível".

4 - Ví alguns kits no Ebay com ótimos preços, inclusive com download de datasheet e outras coisas mais. Esses kits "ChingLing" costumam dar problemas?

As opiniões e experiências de vocês estão sendo muito instrutivas.
[]'s
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Sugestão para iniciar no ARM

Mensagempor EvandrPic » 26 Mar 2013 11:50

Moral, dê uma olhada nos kits desse pessoal:
http://www.wvshare.com/

Já fiz pedidos com eles e chegaram em menos de 1 mês..
tem ARM pra todos os gostos aí....




MOR_AL escreveu:Pessoal!

O agradecimento se estende a todos. Só farei alguns comentários pertinentes ao caso para não incluir postagens extras.

1 - Nas referências da Farnel, cliquei no "datasheet" e retornou erro.
O custo é até justo (R$87,00), mas sem o datasheet, vejo uma placa "encostada". Googlando no nome da placa descobri o datasheet e que na br.mouser.com está a US$14.55. Só que levam 12 semanas e reportaram atrasos na fabricação do produto. No Ebay está a partir de uns US$ 28.00. Ainda pretendo esperar e analisar as postagens, mas este kit é também uma boa opção.

2 - Desconsiderando a dificuldade de um hobista fazer PCI com filetes de 0,5mm. Gostaria de usar um kit de desenvolvimento e posteriormente, usar apenas o necessário, para reduzir o custo do hobby.

3 - Foi feita uma observação interessante. A transição do PIC para o ARM é trabalhosa, mas se incluirmos uma etapa intermediária (M0 ou M0+) a migração fica mais "digerível".

4 - Ví alguns kits no Ebay com ótimos preços, inclusive com download de datasheet e outras coisas mais. Esses kits "ChingLing" costumam dar problemas?

As opiniões e experiências de vocês estão sendo muito instrutivas.
[]'s
MOR_AL
EvandrPic
Dword
 
Mensagens: 2116
Registrado em: 31 Mar 2010 15:05

Re: Sugestão para iniciar no ARM

Mensagempor RobL » 27 Mar 2013 09:40

Mais um pouco sobre migrar de um PIC para um ARM ou outro núcleo:

Entrar no mundo, por exemplo, ARM 32bits Cortex M, é sinal que precisamos muito mais que um micro de 8bits, especialmente processamento em tempo real e rápido.
Cabe lembrar que quanto a dificuldade e tempo de aprendizado o que está em jogo são as imensas disponibilidades que este núcleo proporciona.
Como sempre dizia o Fabim aqui no forum, usar um Cortex M3 é mais fácil que um PIC !!!
Corretíssimo, desde que faço uso em C, para simples aplicações que um PIC faria, tudo ficará transparente. Porém não é este o caso.
Quem vai migrar para um Cortex M, está pensando em multi-tarefa com tempo real, maior poder de processamento com seus 32 bits.
Por outro lado, temos um sistema de interrupção rápido, com tempo previsível e ainda multi-nível que pode ser alterado em tempo de execução.
Isto já é um motivo para ser usado em certas aplicações com tempo real.
Já para multi-tarefa, o hardware salva todo o contexto, ou seja, o hardware foi preparado para multi-tarefa.
Temos ainda as interrupções por exceções. Isto melhora a segurança e a qualidade do software e do produto final como um todo.
Conhecer os modos de trabalho, vai lhe dar meios de decidir o que é possível fazer naquele instante (modo privilegiado / usuário).
Tem muito mais e para se migrar, "de facto", para uma máquina dessas, demanda certo tempo de aprendizado.
Conhecer a que veio os índices M0,M3,M4, etc para poder aplicar corretamente o micro.
Por exemplo, se queremos, em tempo real, trabalhar um sinal analógico que vai usar muita matemática, um DSP dedicado a esse sinal seria a escolha. Se um coprocessador genérico é suficiente, para a muita matemática utilizada e preciso de algo mais como um microcontrolador(seus periféricos) um Cortex M4 será a escolha.
Os Cortex M0 vem sendo utilizados, pela maioria dos usuários, como simples micro de 8 bits, não tendo vantagem real sobre por exemplo um AVR Xmega que inclusive fornece 20mA nas portas contra 4mA de um periférico montado em um núcleo ARM.
Note que a filosofia, desses novos micros de 32bits, quase voltou ao que era em um Z80 antigo que fornecia somente sinal, necessitando de um periférico para as portas. Porém o consumo caiu e pode atender a muitos componentes modernos.
Há outros detalhes que o novo usuário que migra de um PIC vai se deparar. Quando tudo estiver perfeito, rodando, o sistema para sem aparente explicação : o tamanho do heap, por exemplo. Há outros problemas na configuração que devem ser observados, se não, nem parte(arquivo de config do CMSIS).
Há uma grande diferença de como é modificado um bit na RAM ou em determinado periférico, mas fica transparente após o uso do CMSIS, porém é bom conhecer.
Com o CMSIS, o árduo trabalho de inicializar um ARM, ficou simples. A inicialização está pronta!!!
Em resumo, migrar é tirar proveito de um ARM ou outro núcleo.
Livro : The Definitive Guide to the ARM Cortex-M3 Joseph Yiu.

Cuidado!!! O Cortex M0 é um núcleo completamente "despido". Lembra um ARM Cortex M3. Sua maior finalidade é economia de energia / custo com baixo processamento devido ao desmonte em relação a um Cortex M3. O preço de um M3 hoje é igual a um M0.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Re: Sugestão para iniciar no ARM

Mensagempor MOR_AL » 27 Mar 2013 12:50

EvandrPIC!
Apenas como verificação dos preços, fiz o registro e os preços não apareceram "unknown".
É difícil obter os preços desta empresa.

RobL!
Como sempre, boas informações.

Tinha uma metodologia.
Para pequenos projetos (até 2kB) uso a linguagem Assembly e o uP PIC. Criei diversas rotinas que facilitam a vida.
Para projetos com mais de 2kB até uns 8kB, uso a linguagem BASIC da mikroBasic. É muito fácil e já me acostumei com BASIC, desde os primeiros "computadores domésticos pessoais" que usavam essa linguagem (TK82 - Microdigital Eletrônica). Ao longo do tempo, cheguei a usar o C, mas é mais trabalhoso que o BASIC.
Para projetos maiores que 8kB, como os que eu pretendo seguir, vou retornar ao C, como já usara antes, mas que o tempo apagou da minha lembrança. Hoje já reli as primeiras 40 páginas do "C Completo e Total". Meu disquete, que vem com o livro, está ilegível, mas consegui baixar os arquivos na net.
Apesar de encontrar compiladores com BASIC, há muito mais trabalhos com o C.
[]'s
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Sugestão para iniciar no ARM

Mensagempor andre_luis » 27 Mar 2013 13:04

MOR_AL,


Faço coro com a opinião de alguns aqui.
Se for realmente fazer um upgrade no core de 8 pra 32 bits, vai direto pro M3, que é exatamente o que estou fazendo ( inclusive comprei o Kit de um camarada aqui do fórum ).


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Sugestão para iniciar no ARM

Mensagempor KrafT » 27 Mar 2013 13:15

MOR_AL, um chip que gostei muito foi um Cortex M3, o LM3S6965, cujo kit é bem completo e relativamente barato:

Imagem

Deve ter colegas que tem esse kit para vender. O legal dele é que ele também serve como Gravador/Depurador Jtag para outras placas.

Pena que o chip entrou em regime de NRND e enquanto indústria, optei para não utiliza-lo. Mas as bibliotecas Stellariware são uma mão na roda.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Próximo

Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x