collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[Ontem às 15:31]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]

Autor Tópico: Uma mão cheia de ARM's  (Lida 30666 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline andre_f_carvalho

  • Mini Robot
  • *
  • Mensagens: 1.469
    • Pro - andrefcarvalho
Re: Uma mão cheia de ARM's
« Responder #15 em: 22 de Novembro de 2010, 23:26 »
sendo sincero, como é que me posso iniciar no stm 32 que tenho, visto que so trabalhei com picaxe na vida?

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.482
Re: Uma mão cheia de ARM's
« Responder #16 em: 23 de Novembro de 2010, 00:17 »
sendo sincero, como é que me posso iniciar no stm 32 que tenho, visto que so trabalhei com picaxe na vida?

Visitar a página do fabricante: descarregar toda a documentação referente ao chip/board a desenvolver.
Ler *TODA* :P essa informação. (começar pelas brochuras ou getting-start.. e acabar nas Erratas)
Googlar à procura de mais info.
Visitar os foruns do fabricante (e outros, por exemplo o LR!) e procurar por dúvidas ja existentes ou colocar as nossas.

KS

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Uma mão cheia de ARM's
« Responder #17 em: 23 de Novembro de 2010, 00:35 »
Nos arms não são os datasheets que têm o sumo, mas sim os user manual, qualquer pdf com mais de 5-6 Megas e mais de 1000 páginas é o que procuras.
Por agora vou só usar o LPCXpresso pois é bem mais poderoso que o stm32 e o IDE é melhorzinho que por agora não tenho tempo para andar á martelada com o IDE.
Pois, para programar qualquer um o melhor é comprar um openOCD e aprender a mexer com ele, porque os programadores que vêm nestas placas são proprietários.
Quando á iniciação qualquer IDE decente tráz exemplos para veres como se faz os mais básico como adc, dac, pwm, timers, i2c, spi, etc,etc,etc.
O que são estas placas, bem são quase mini-computadores, a lpc até tem usb host e ethernet incluido, uma montanha de ram, DAC, ADC de 12 bits em vez de 10 bits como o arduino, 5 ou 6 timers de 32bits e mais uns quantos de 16 bits, em vez de 1 de 16 bits e 2 de 8bits, pode funcionar até 100Mhz, acesso directo a memória, pode-se meter-lhe até 4Gb de RAM lol, muitas coisas mesmo, mas a curva de aprendizagem é bastante elevada, mas depois de usarem disto não querem voltar para trás.
Avr fanboy

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Uma mão cheia de ARM's
« Responder #18 em: 23 de Novembro de 2010, 02:16 »
Após um pequeno teste o Atollic é uma desgraça, não diz o tamanho do ficheiro compilado e esconde o .hex gerado, funções como o printf e outras não existem e primeiro que se meta aquilo a compilar é preciso seguir um pdf de 30 páginas, coisa que não é muito util, estou desgraçado com os ARM's :(

Viva!

Iniciei recentemente com os ARMs com os STs, ainda estou a estudar o caso, realmente encontro as vezes algumas coisas estranhas... mas para já estou contente em relação a "PICs". (e as comunidades irao crescer mais agora com as demoboards da ST e NXP), por outro lado, queria uma alternativa Europeia a microcontroladores =)

Quanto ao Atollic posso-te dar 2 dicas para tentares melhorar a coisa:
Saca o Yagarto, retira de lá os .exe's do compilador, troca-os pelos do atholic... (ve qual será a melhor maneira.. eu só alterei para já 2 .exes)
No yagarto ha lá um .exe q se chama qq coisa -size .. investiga como se usa esse exe e coloca uma linha de comandos nas opçoes de compilação no "post-build" e voilá.. tens a memoria flash e RAM usada sempre q compilas.
O Atollic não gera .hex, de novo investiga o comando que converte os ficheiros gerados para .hex.. no Atollic deves tar a receber uma mensagem "só disponivel na versao pro"... troca pelo do Yagarto.. e voilá..

Também arranjei uma maneira de hackar o pop-up inicial  do Atollic...

Não consigo dar mais pormenores que não tenho aqui o sistema instalado... mas "para bom entendedor.. meia palavra basta"
Por outro lado não li os agreements/licença.. mas estes hacks não devem ser amigos da licença! =)

Penso q o Yagarto e outros.. poderao ser boas opções para kem usa JTGAs "opensource"... pois só (?) funcionam com esses.. e não funcionam com os JTAGs dos fabricantes.. (ST-Link por exemplo.. )


.. continuem a postar as vossas experiências com os ARMs!

KS


Muitissimo obrigado!!
Tenho de te mandar uma pm para depois esclarecer algumas duvidas, mas muito obrigado pela contribuição!!
Avr fanboy

StarRider

  • Visitante
Re: Uma mão cheia de ARM's
« Responder #19 em: 26 de Novembro de 2010, 15:13 »
Boas,

Keil , Keil, Keil, Keil e novamente Keil.

A Keil foi comprada pela ARM em 2008 e tem actualmente uma das melhores toolchains para os cores da ARM que é o RealView, sendo que a outra é a da Tasking.

O IDE da Keil, que é o uVision, é quanto a mim, bastante funcional e intuitivo, tem hardware simulation, um wizard para as Startup files e configuração dos periféricos e recursos do uC,  e faz o upload do código directamente para o uC utilizando o STLINK no caso dos ST ou o FlashMagic ou NXP Flash Utility no caso dos LPC, ou para o caso das EVB aqui mencionadas, usando USB e os bootloader que cada uma tem.

O Keil suporta actualmente todos os cores ARM da ST (series STA, STM32F,STM7 e STM9) e da NXP (series LH, LPC1000, LCP2000, LP3000 e alguns SJA) alem de mais de 40 outros fabricantes de uC com cores ARM.

Sendo uma toolchain da ARM isto quer dizer que todas as actualizações CMSIS e Startup files mais recentes estão disponíveis para todos os cores, tem um help impressionante e, na minha opinião é bem melhor que todos os outros, tirando talvez a toolchain da Tasking.

Como já foi dito, um uC ARM nada tem a ver com um ARDUINO, logo porque "ARDUINO" nem sequer é um core mas simplesmente um "compilador" que gera código que corre num AVR. Teoricamente, e tecnicamente, seria possível criar um compilador de "arduino" de forma a gerar código que corra em qualquer core, seja ela ARM, AVR, PIC, MOTOROLA, INTEL, etc etc...

Como já algumas vezes disse, penso que também neste fórum, o arduino é muito interessante para quem se quer abstrair do hardware e ter em mente apenas a tarefa, mas depois temos o reverso da medalha, quando se trata de trabalhar "a sério" com um uC (ou um qualquer processador para o efeito) faltam as bases.... mas nada como evoluir, e actualmente os cores ARM são sem qualquer duvida o futuro.

No fundo, quem compreende o funcionamento de um uC de 8 bits (seja ele um AVR, uma PIC, ou qualquer outro), e que compreenda que tudo gira em torno de registos, periféricos, endereços, etc, não terá qualquer problema em dar o salto para os ARM de 32 bits, mas como é obvio tem que perder algum (muito) tempo de volta dos pdf.

Mas voltando ao tópico, pessoalmente, e depois de varias dezenas de projectos com a serie LPC2000 e LPC1000 estou actualmente mais virado para os STM32F. Os cores ARM que a ST usa na serie STM32F (e na STM32W) são os Cortex-M3, os mesmos que a NPX usa nos LPC1000 de topo de gama, e apesar dos clocks dos LPC trabalharem geralmente com frequências superiores, na realidade os STM32 oferecem periféricos muito mais versáteis e com maiores funcionalidades. Os STM32 podem ir até aos 72Mhz (sem multiplicação PLL) o que no mundo real é mais que suficiente, e tem muitas vantagens em sistemas em que o consumo de energia é critico.

E mais importante, a ST fornece uma Libraria para os Periféricos dos STM32 que torna todo MUITO mais simples, uma vez que torna possível ao programador usar funções de alto nível que encapsulam muitos dos intrínsecos dos cores ARM, um pouco como o “compilador arduino” faz em relação aos AVR, mas aqui em vez de usarem um subset da linguagem C como no arduido, utilizam um verdadeiro compilador C/C++ com uma libraria de funções externas.

Resumindo, o meu conselho vai para os STM32 com o Keil, os resultados são garantidos após o primeiro impacto da curva de aprendizagem.

Abraços
PA

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Uma mão cheia de ARM's
« Responder #20 em: 26 de Novembro de 2010, 22:06 »
Já recebi o STM32 Discovery Kit :)

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Uma mão cheia de ARM's
« Responder #21 em: 26 de Novembro de 2010, 22:13 »
Agora estou indeciso lol, por um lado a placa LPCXpresso já tem um programador incluido e posso usa-lo para programar outros chips da NXP, a STM32 não tenho a certeza, mas já vi em mais sitios pela internet fora que os STM32 são mais usados que os chips da NXP.
Acho que me vou dedicar á NXP por agora, porque depois como o core é o mesmo o código não deve fugir muito um do outro.
Quando souber soldar SMD's e tiver um programador JTAG logo me decido se continuo com os chips da NXP ou se mudo para os da ST, mas para o que faço com eles acho que são os dois mais que capazes, e ainda junto á mistura o facto de ir usar PIC32 numa cadeira do proximo semestre e que ainda me viro é para os PIC que vou ter efectivamente que os programar e bem se quero fazer a cadeira.
Quanto a IDE's e compiladores gratuitos acho que o melhor por ai fora é o YAGARTO e as bibliotecas CMSIS e outras que tais regra geral são dadas pelos fabricantes.
Avr fanboy

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Uma mão cheia de ARM's
« Responder #22 em: 26 de Novembro de 2010, 22:42 »
Eu como não tenho escolha vai ser mesmo dedicação total ao STM32 quanto aos ARMs, pelo que estive a ver o micro é bem potente! Assim que começar a ter tempo para ver isto ou outra pessoa podiam criar um topico só para o STM32 Discovery-kit ou mesmo uma secção se se jsutificar. O STM32 do pouco que li permite que uses o programador para programar outros, pelo menos foi o que me pareceu, vou procurar o que li e citar aqui!

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Uma mão cheia de ARM's
« Responder #23 em: 26 de Novembro de 2010, 22:56 »
É provavel que sim, assim como o LPCXpresso tambem o permite, vou ver qual o fabricante que me dá samples, o que der ganha lol.
Depois cria uma linha de tutoriais ou algo assim, que eu vou tentar fazer o mesmo lá para as férias de natal se tudo correr bem.
Avr fanboy

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Uma mão cheia de ARM's
« Responder #24 em: 26 de Novembro de 2010, 23:27 »
Eu da NXP nunca consegui samples(e se eu não consegui é porque é difícil lol :p) da ST sei que já tentei mas não me lembro, tenho que verificar se recebi ou não.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Uma mão cheia de ARM's
« Responder #25 em: 26 de Novembro de 2010, 23:31 »
Da ST já pedi e nunca chegaram, na NXP nunca tentei, tenho de ir averiguar lol, cá para mim quem vai ganhar é a microchip lol
Avr fanboy

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Uma mão cheia de ARM's
« Responder #26 em: 26 de Novembro de 2010, 23:45 »
LOL não fosse eu ter engraçado com os atmegas, e o facto de haver samples da microchip era factor decisivo para não pensar em mais nada, mas gosto mais de de atmegas a nivel de arquitectura em relação aos PIC's.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Uma mão cheia de ARM's
« Responder #27 em: 26 de Novembro de 2010, 23:54 »
Não fosse eu andar sempre falido actualmente já tinha comprado um PicKit 2 ou 3 e passado para os pics, com os samples e tal deixava logo os pic de 8 bits para trás que aquilo anda de moletas e passava logo para os de 16 bits que são bem melhores que os atmegas e pronto, mas tambem gosto dos atmega e apesar de serem só de 8 bits são bichinhos bem capazes, mas como ando a pensar em coisas mais á frente e porque o futuro são sem duvida dos arms queria ganhar um bom kit de unhas neles, afinal a NXP não dá mesmo samples, só para quem tem contas de comerciante ou lá o que aquilo é.
Isto de querer samples não é ser agarrado é mesmo porque electrónicas na Europa é um completo degredo, não sei como raio querem manter a Europa competitiva quando não existe um unico distribuidor em condições com bom stock em solo europeu para não se andar a pagar alfandega a torto e a direito e sem terem preços horriveis, tipo farnell que é tipicamente o dobro do preço das coisas na digikey, mas depois existe o risco de para na alfandega..
Avr fanboy

StarRider

  • Visitante
Re: Uma mão cheia de ARM's
« Responder #28 em: 26 de Novembro de 2010, 23:59 »
Agora estou indeciso lol, por um lado a placa LPCXpresso já tem um programador incluido e posso usa-lo para programar outros chips da NXP, a STM32 não tenho a certeza, mas já vi em mais sitios pela internet fora que os STM32 são mais usados que os chips da NXP.
Acho que me vou dedicar á NXP por agora, porque depois como o core é o mesmo o código não deve fugir muito um do outro.
Quando souber soldar SMD's e tiver um programador JTAG logo me decido se continuo com os chips da NXP ou se mudo para os da ST, mas para o que faço com eles acho que são os dois mais que capazes, e ainda junto á mistura o facto de ir usar PIC32 numa cadeira do proximo semestre e que ainda me viro é para os PIC que vou ter efectivamente que os programar e bem se quero fazer a cadeira.
Quanto a IDE's e compiladores gratuitos acho que o melhor por ai fora é o YAGARTO e as bibliotecas CMSIS e outras que tais regra geral são dadas pelos fabricantes.

Boas,

O facto de o core ser o mesmo nada tem a ver com a portabilidade de código entre implementações de vários fabricantes, alias, em termos de
mapeamento de registo, mnemônicas, endereçamento, funcionamento dos periféricos, e demais, o código é praticamente impermutável entre
os LPC e is STM32. É óbvio que todo o código que trate com a lógica e o flow é compatível ,mas o que realmente "mexe" com o uC não é.

A STM32VLDISCOVERY funciona com ST-Link e pode ser configurada de forma a poder programar a flash de um terceiro STM32 usando o protocolo
SWD que é uma evolução do JTAG mas que "gasta" apenas 2 pinos no uC, suporta debug e acesso directo à memória em tempo real.

Pessoalmente nunca gostei de PICs, e mesmo as PIC323 com arquitectura Von Neumann, e apesar de já não necessitarem de 4 clocks para cada
ciclo,  são inferiores à arquitectura ARM, isto sem mencionar o custo... mas é a tal coisa, gostos não se discutem, mas respeitam-se.

Abraços,
PA

« Última modificação: 27 de Novembro de 2010, 00:02 por StarRider »

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: Uma mão cheia de ARM's
« Responder #29 em: 27 de Novembro de 2010, 00:00 »
StarRider, dizes que a Keil e a Tasking têm as melhores toolchains mas, para quem nao conhece nenhuma, fica um pouco subjectivo. Será que podias enunciar aspectos positivos e negativos que encontraste na utilização dos IDEs/toolchains que usaste até ao momento? Em termos de usabilidade, preço de licenças, suporte, documentação?

Btw, tambem já tenho o meu STM32 Discovery :D O problema parece realmente ser as toolchains para isto  :-\

Quanto às samples, já recebi algumas da ST. Da NXP é que tá quieto, não enviam nada.