collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


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


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


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]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: ARM Cortex-M0  (Lida 23294 vezes)

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

StarRider

  • Visitante
ARM Cortex-M0
« em: 03 de Janeiro de 2010, 15:26 »

Boas,

Recebi esta semana os meus primeiros Cortex-M0 (LPC1111, LPC1112 e LPC1114)... e ontem, apesar
de ressaca, estive todo o dia de volta dos "bichos"... e ainda bem :)

Até hoje tinha duas gamas de uC na minha "gaveta", os AVRs com os seus 8 bits para aqueles
projectos e brincadeiras menos exigentes em processamento, e os LPC2xxx (core ARM7TMDI) e
mais recentemente com os LPC17xx (core ARM Cortex-M3) nos 32 bits para projectos mais exigentes
com outros requisitos de desempenho e poder de processamento.

Pois a partir de hoje a minha "gaveta" passa a ter somente cores ARM... e porque ? Porque para mim
o core Cortex-M0 pura e simplesmente veio matar os processadores de 8 bits.... hum... ok, já estou
a ouvir vocês a assobiar ;) ... mas olhem para isto:
- Preço de um LPC1112 (16K Flash, 2K RAM, 32 GPIO, 45 mips, etc) = 0,90 euros (90 centimos!!)
- Uma única ferramenta de desenvolvimento para todos os cores, eu uso o Keil
- LPCXpresso grátis para quem deseja desenvolver com os cores ARM Cortex
- Os Cortex-M0 com os seus 32 bits nativos conseguem código mais compacto e MAIS rápido do
  que os uC de 8 bits, especialmente em cálculos matemáticos.
- Possibilidade de upscale, se a meio de um projecto o uC escolhido se revelar "curto" podemos
sempre subir para um mais potente e reutilizar o código já desenvolvido.
- Oscilar interno calibrado a 1%
 

Para mim os novos uC Cortex-M0 são ouro sobre azul, têm um preço estupidamente baixo, cinco
vezes menos que um AVR, são MUITO superiores em desempenho quando comparados com um
AVR, não tenho que andar a saltar entre o Keil e o o Codevision para desenvolver.... e como ter
o melhor dos dois mundos, um uC de 32 bits a 90 centimos com um conjunto de registos e
periféricos em tudo identifico aos seus irmão topo de gama com o core ARM7 e ARM9.

Eu sei que uma vez "agarrados"  (no bom sentido claro) a um determinado uC é dificil evoluir
para outros, e que a curva de aprendizagem por vezes assusta, mas quem estiver a pensar
dar o passo em frente, ou esteja simplesmente à procura de um uC mais potente a um preço
estupidamente baixo... dêem uma vista de olhos aqui: http://ics.nxp.com/products/lpc1000/

Abraços
Paulo A.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: ARM Cortex-M0
« Responder #1 em: 03 de Janeiro de 2010, 15:59 »
Tambem já pensei várias vezes aprender ARM no entanto acho que ainda tenho bastante mesmo a aprender sobre AVR de 8bits e por isso se calhar ainda não dei o passo mas com o aparecimento do mbed se calhar era uma boa altura.
Outra coisa ARM é uma arquitectura que pode ser desenvolvida por várias empresas certo?
Tu podes ter um ARM de uma empresa ou de outra assim como o 8051? Ou os ARM são todos da NXP?
Outra coisa qual a diferença entre ARM7, ARM8, ARM Cortex, é só a nivel de entradas, saídas, MIPS, etc(isto é, mantendo-se a arquitectura)?
Estou a fazer estas pergutnas pois parece que estás por dentro do assunto.

Offline p0wd3r

  • Mini Robot
  • *
  • Mensagens: 74
Re: ARM Cortex-M0
« Responder #2 em: 03 de Janeiro de 2010, 19:24 »
Sem dúvida, são espectaculares. Quem estiver mesmo interessado em evoluir aconselho a compra desde bichinho (tamagochi) ou então da sua versão mais evoluida que traz ecrã táctil  8)
Uma interface de programação excelente, RIDE7, que permite o debug em tempo real através da interface USB, pelo RLink.
Estou em processo de aprendizagem nesta arquitectura e só tenho a dizer bem, a programação é simples (no STM32-Primer), basicamente temos de usar estruturas que se encontram criadas em bibliotecas, mas nada impede de programar em mais baixo nível.
« Última modificação: 03 de Janeiro de 2010, 19:26 por p0wd3r »

StarRider

  • Visitante
Re: ARM Cortex-M0
« Responder #3 em: 03 de Janeiro de 2010, 20:09 »
Tambem já pensei várias vezes aprender ARM no entanto acho que ainda tenho bastante mesmo a aprender sobre AVR de 8bits e por isso se calhar ainda não dei o passo mas com o aparecimento do mbed se calhar era uma boa altura.
Outra coisa ARM é uma arquitectura que pode ser desenvolvida por várias empresas certo?
Tu podes ter um ARM de uma empresa ou de outra assim como o 8051? Ou os ARM são todos da NXP?
Outra coisa qual a diferença entre ARM7, ARM8, ARM Cortex, é só a nivel de entradas, saídas, MIPS, etc(isto é, mantendo-se a arquitectura)?
Estou a fazer estas pergutnas pois parece que estás por dentro do assunto.

Boas,

Os cores ARM estão licenciados por varias empresas, entre elas as mais representativas são a NXP
a ST, a Luminary, e a própria Atmel. Mas podemos dizer que é uma arquitectura aberta e que todos
podem licenciar, dai a sua beleza, vários fabricantes a trabalhar com o mesmo core. É como tu
dizes em relação ao 8051.

A NXP e a ST são os mais bem posicionados, com produtos muito bons e com provas dadas.


Podes ver aqui uma lista de alguns dos fabricantes e dos seus uC :
http://www.keil.com/dd/chips/all/arm.htm

Esta lista não está completa, mas é a que é suportada pelo RealView. O RealView é o compilador
da própria ARM, que também vem com o Keil que é uma empresa que também pertence à ARM.

Existem diferenças entre os cores ARM7, ARM9, Cortex. Basicamente ao nível de performance, e
de periféricos, em ternos generalistas podemos dizer que a gama mais baixa começa nos
Cortex-M0 e acaba no ARM9... mas em termos de utilização a arquitectura, os registos, os
periféricos e tudo o resto praticamente igual entre todos os cores... depois de se perceber a
filosofia e os princípios base de um core os outros é canja de galinha ;)

Por muitas voltas que se possa dar, um uC acaba sempre por ser um conjunto de registos que
controlam um conjunto de funções e opções. Tal como nos AVR, os ARMs é a mesma coisa, é mais
uma questão de se perceber as diferenças, conhecer e entender a arquitectura e "decorar" qual
a utilidade e função de cada registo. Ok, existem algumas diferenças nomeadamente ao nível da
forma como os cores ARM tratam as ints, endereçamento, existem vários clocks, PPL, controlador
DMA, etc, mas que acabam por ser transparente muitas das vezes... o Keil trata de tudo isso de
uma forma muito inteligente, e configurar o startup e NVIC é feito usando opções de menu, nem
sequer tens que programar uma linha.

Resumindo:
- Cortex-M0 32 bits, entrada da gama (actualmente) mas com todos os periféricos "normais" (UART,
SPI, I2C, Timers de 32 bits com PWM, Timers de 16 bits com PWM, ADC, WD, RTC, etc) e até 50 Mhz
(45 mips)

Dai para cima, Cortex-M3, ARM7 e ARM9, é sempre a subir em termos de Mhz e periféricos.

Abraços
Paulo A.
« Última modificação: 03 de Janeiro de 2010, 20:50 por StarRider »

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: ARM Cortex-M0
« Responder #4 em: 03 de Janeiro de 2010, 21:37 »
Muito obrigado pela explicação :)
Já agora porque não te referis-te ao ARM11? Já é outro nível? Digo isto pois é o que a Nokia tem usado ultimamente nos seus telemóveis.

StarRider

  • Visitante
Re: ARM Cortex-M0
« Responder #5 em: 03 de Janeiro de 2010, 22:41 »
Muito obrigado pela explicação :)
Já agora porque não te referis-te ao ARM11? Já é outro nível? Digo isto pois é o que a Nokia tem usado ultimamente nos seus telemóveis.

Boas,

Em parte sim, o ARM11 pertence à família daquilo que a ARM chama de "APPLICATION
PROCESSORS", processadores para correrem Linux, Palm OS, Symbian OS e Windows CE.

Embora no fundo o ARM11, assim como outros na mesma gama (Cortex-A5/A8/A9,etc), sejam
idênticos aos "EMBEDDED PROCESSORS" que são aqueles que temos vindo aqui a falar.

Para ser sincero não conheço muito bem o ARM11, sei que pode ser implementado numa
arquitectura multi processador, que tem um bus de 64bits... enfim aqueles dados que
podemos ler no site da ARM, mas nunca "meti as mãos" num ... mas gostava de experimentar ;)

Abraços
Paulo A.

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: ARM Cortex-M0
« Responder #6 em: 03 de Janeiro de 2010, 22:53 »
Muito nice!

Compraste-os directamente à NXP?
Já tens alguma coisa em mente sobre o que fazer com eles?
Que tal meter um RTOS nisso?  ;D



Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: ARM Cortex-M0
« Responder #7 em: 03 de Janeiro de 2010, 23:27 »
Muito obrigado por partilhares connosco StarRider :D

Ja tive alguma experiência com ARM e gostei bastante deles, tanto que há algum tempo mandei vir umas samples da FreeScale MC13224V que é um ARM7 32 bit TDMI com todo o hardware ZigBee integrado, isto é, é um processador com capacidade de comunicação ZigBee, tudo num só chip! O único hardware externo necessário é uma Antena de 50 ohms e um cristal! Ehehehe.
Já agora qual é a tua plataforma de desenvolvimento? Fizeste uma board, compraste-a? Como usas os chips que compras, fazes uma board para eles e soldas-os ou a board que usas é compatível?

Cumprimentos!

P.S.: Fiquei a espera da tua resposta à minha PM!
« Última modificação: 04 de Janeiro de 2010, 00:51 por tr3s »
Tr3s
Daniel Gonçalves

Offline Tyran

  • Mini Robot
  • *
  • Mensagens: 293
Re: ARM Cortex-M0
« Responder #8 em: 04 de Janeiro de 2010, 00:12 »
E conseguiste meter isso a comunicar tr3s?

Se tiver férias depois dos exames vou ver se me cultivo mais nisto :P

Offline sandro17

  • Mini Robot
  • *
  • Mensagens: 10
Re: ARM Cortex-M0
« Responder #9 em: 04 de Janeiro de 2010, 00:51 »
Muito obrigado por partilhares connosco StarRider :D

Ja tive alguma experiência com ARM e gostei bastante deles, tanto que há algum tempo mandei vir umas samples da FreeScale de MC13224V que é um ARM7 32 bit TDMI com todo o hardware ZigBee integrado, isto é, é um processador com capacidade de comunicação ZigBee, tudo num só chip! O único hardware externo necessário é uma Antena de 50 ohms e um cristal! Ehehehe.
Já agora qual é a tua plataforma de desenvolvimento? Fizeste uma board, compraste-a? Como usas os chips que compras, fazes uma board para eles e soldas-os ou a board que usas é compatível?

Cumprimentos!

P.S.: Fiquei a espera da tua resposta à minha PM!

Só uma informação tr3s:

Quando pediste a sample no fim apareceu-te que tinhas de pagar 11$?

"Order Processing Charge($ US)     11.00"

Não tens nenhuma forma de contornar??  :)

Cumps

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: ARM Cortex-M0
« Responder #10 em: 04 de Janeiro de 2010, 00:55 »
Tyran:
Ainda não tive tempo para os experimentar, tenho de acabar a placa para os poder começar a usar e queria ver se não fazia isto de forma caseira, isto é, queria que fosse uma CNC a fazer a placa e algum sistema semi ou profissional a soldar. Não me apetece andar a soldar isto como fiz com uns acelerometros há uns tempos atras... Se alguem com CNC se oferecer agradeço!

Sandro:
Se usares um e-mail de faculdade, escola ou pequena empresa não serão cobrados portes (isto se não mudaram as políticas de envio de samples). Normalmente esses 11$ são cobrados se usares um e-mail da Gmail, Hotmail, Yahoo, etc.
Tr3s
Daniel Gonçalves

Offline sandro17

  • Mini Robot
  • *
  • Mensagens: 10
Re: ARM Cortex-M0
« Responder #11 em: 04 de Janeiro de 2010, 01:01 »
Pois bem me parecia...

Fui tolo podia ter usado o mail da UM...

Mas o tyran pede a dobrar...  :)

edit: Afinal deu para mudar o email e lá consegui mandar vir de graça..
« Última modificação: 04 de Janeiro de 2010, 01:16 por sandro17 »

Offline Tyran

  • Mini Robot
  • *
  • Mensagens: 293
Re: ARM Cortex-M0
« Responder #12 em: 04 de Janeiro de 2010, 01:30 »
Também já registei!

É melhor mandar vir só 1 ou pode-se abusar mais um pouquinho?  ;D

O sandro escolheu o MC13224V para mandar vir, também mando vir esse se calhar e se der para mandar vir mais aconselham algum?
« Última modificação: 04 de Janeiro de 2010, 01:36 por Tyran »

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: ARM Cortex-M0
« Responder #13 em: 04 de Janeiro de 2010, 12:43 »
Poderia-mos em conjunto discutir o que seria ideal para quem quer começar pois assim seriamos mais a trabalhar no mesmo. O que o três mandou vir é um ARM7 mas o que é que a palavra "cortex" define?

Offline ghostbuster

  • Mini Robot
  • *
  • Mensagens: 339
Re: ARM Cortex-M0
« Responder #14 em: 04 de Janeiro de 2010, 12:52 »
se arranjasem umas breakout boards para ele é que era :P ja agora qual é a pontencia disso a funcionar como zigbee?