Pergunta

É aconselhável começar diretamente fora com a folha de dados e manual de usuário de um processador ARM para um novato ou primeiro ter uma idéia sobre o mundo da ARM e, em seguida, ir em frente?

Foi útil?

Solução

Vários bons recursos são descritos nas respostas a esta pergunta relacionada:

Além disso, Hitex tem "Guias de insiders" para alguns microcontroladores diferentes baseados em processadores ARM (gratuito, mas requer registro):

A maioria (se não todos) são downloads gratuitos (eu acho que eles são patrocinados pelos fabricantes de microcontroladores). Eles estão mais voltadas para os microcontroladores, em vez de apenas as especificidades ARM, mas incluem alguns dos detalhes ARM e eles são grandes visões gerais dos micros e periféricos nos micros.

Outras dicas

Quando eu começar com uma tecnologia nova (para mim), eu começo por localizar como muitos folhas de dados e notas de aplicação que eu puder e apenas lendo-os diretamente. O primeiro objetivo é chegar até a velocidade sobre o jargão (e nomes dos jogadores), exclusivo para essa tecnologia.

Com ARM, eu começaria com www.arm.com , e sua documentação no ARM Centro de Informações .

Update: Gostaria também de mergulho para uma ou mais linhas de produtos da indústria, incluindo uma leitura de pelo menos um programador família de manual. Se os seus planos de projeto são firmes o suficiente para que você sabe o CPU específica ARM vai ser usado, então você pode ir longe com foco na esse modelo específico e seus parentes próximos. Se você estiver olhando para obter familiaridade com a ARM para que você possa escolha a CPU para ser usado em projeto, então a amostragem de uma ampla gama de famílias é quase certamente o melhor plano.

Há uma grande lista de ARM licenciados tecnologia . Destes, alguns fabricantes têm produtos (com base no sabor Cortex-M3 do núcleo ARM) que IMHO se destacam por aplicações de sistemas profundamente embarcados.

A minha empresa tem projetos em andamento com base na família STM32 de ST Microelectronics . Esta família tem um monte de periféricos on-chip com funcionalidades que serão familiares para qualquer pessoa que vem do mundo 8051, ou a partir do mundo PIC, e tem FLASH suficiente e SRAM no chip para fazer memórias externas opcional.

Eu ouvi um monte de coisas positivas sobre a família Stellaris de Luminary Micro . Ele também parece um bom ajuste para uma série de necessidades de plataformas embarcadas.

Tendo em conta os pontos de preços atuais de placas de avaliação de nível de entrada, eu recomendo fortemente pegar um ou mais de chips semelhantes ao seu nicho aplicativo de destino previsto. Uma placa com um pequeno LCD, acelerômetro, um par de LEDs um botão ou dois, o acesso aos pinos GPIO não confirmadas, um built-in interface USB JTAG, e uma cadeia de ferramenta de desenvolvimento completa baseado em GCC cruz pode ser tinha para o STM32 (por menos de US $ 40 em 2009, mas que o modelo é descontinuado) nos EUA $ 100 estádio, por exemplo.

pacotes similares podem ser encontradas em muitos dos outros produtos à base de núcleo ARM.

Outra forma em que ARM é encontrada é como o núcleo da CPU em um sistema em um chip. Muito poucos SOC fornecedores estão licenciar uma CPU ARM para colocar em seu silício ao lado de seu hardware dedicado. Eu vi chips de compressão de vídeo, chips de rede, firewire a adaptadores ATA e dispositivos USB construído desta maneira, e isso é apenas uma amostra de artigos publicados e comunicados de imprensa Acontece que eu lembro de improviso.

Update 2, 2013: Um ponto de entrada muito acessível para uma família "típica" SOC baseado em ARM pode ser visto no Raspberry Pi eo vários Beagle placas familiares. Ambas são destinadas a pesquisadores e entusiastas, ambos os SOCs uso com núcleos ARM e recursos adicionais, tais como vídeo e capacidades de áudio, e ambos linux run out of the box.

Há também uma rica variedade de sistema em um módulo fabricantes fornecendo uma placa mezzanine contendo um sistema de boot completo para a montagem em uma placa personalizada fornecendo a fonte de alimentação e conectores de E / S necessária para um sistema específico incorporado. Um tal fornecedor é Gumstix . O Gumstix AirSTORM fornece Wi-Fi, Bluetooth, DRAM, NAND, e um TI OMAP3 ARM SOC. Um carr adequadoier placa pode suportar tanto um painel de LCD ou HDMI, Ethernet 10/100, host USB e OTG, e conexões de áudio de nível de linha analógica, juntamente com o acesso a uma variedade de pinos adicionais GPIO e on-chip periféricos.

Eu recomendo a obter um BeagleBoard . Eles têm o apoio JTAG para que você possa ver o que está acontecendo no hardware, tipo de um depurador hardware. Existem vários linux compilações que rodam nele. Há também uma grande comunidade em torno dele que vai ajudar você enquanto você trabalha com ele. Tenho Ubuntu Jaunty em execução no meu, então não há fim de utilitários e compiladores que você pode executar.

Eu e fazer de surf sparkfun.com, eles carregam Olimex placas, bem como fazer a sua própria. Luminary Micro / Stellaris são bons também. O BeagleBoard é mais uma plataforma Linux do que algo lhe aceder às funções de braço / instruções em si. Você pode usá-lo, mas para que o dinheiro que você poderia comprar em algum lugar entre 3 e oh 7 diferentes ARM baseado placas de microcontrolador eval. De qualquer maneira eu ia começar com uma pequena placa acondicionada em torno de um microcontrolador de braço base, st ou lpc provavelmente, o micro luminar é thumb2 única que eu só faria depois de obter meus pés molhados com as instruções do braço Stock então instruções polegar.

Eu também sou um fã de usar o avanço gameboy como uma plataforma de aprendizagem para o braço (não a NDS, que é avançado, comece com a família GBA).

Você vai querer o ARM ARM (ARM Arquitetura Manual de Referência), e, em seguida, cada um específico são núcleo tem seu próprio TRM, você vai precisar de ambos, a fim de aprender o que estão disponíveis para você instruções. Para a maior parte destes manuais são bons tanto como referência e aprendizado a partir do zero.

Gostaria em primeiro lugar obter uma placa eval como STR750 -love. Em seguida, compilar e entender os exemplos. Depois que você está confortável com os exemplos, então é hora de seguir em frente para compreender o que está sob o capô e escrever seu próprio código. Uma parte importante do processo de aprendizagem está tentando fazer alguma coisa e, em seguida, ter de depurá-lo e torná-lo trabalho. Se você quiser se tornar um especialista no ARM terá de ser capaz de ler a montagem com confiança. Eu só tinha uma entrevista para ser um desenvolvedor de firmware ARM e tudo que eu fiz para a parte técnica foi analisar o código de montagem polegar e transformá-lo em código c. A maioria dos compiladores têm a opção de saída do conjunto que eles geram.

Nas palavras de Tom Lehrer "plagiar, plagiar, deixe o trabalho de ninguém fugir de seus olhos".

Ou ser como Newton (e Bernard) ficar sobre os ombros de gigantes.

Em outras palavras descobrir o que otehr pessoas têm feito e idealmente evitar reinventar rodas.

Eu começaria com um software placa de desenvolvimento barato e exemplo, e de lá ir, olhando para o que você precisa saber como você vai junto.

Um bom primer para o STM32 baseado em ARM-core é o apropriadamente chamado STM32 Primer .

Eu não começaria com o manual técnico, com excepção para uma navegação muito rápido. A um para o STM32 é de 600 páginas, eo manual Cortex-M3 acompanha é mais 400 páginas. Não é exatamente uma leitura luz!

Ela realmente depende de que tipo de ARM, é um mundo muito ampla. Normalmente ARM é integrado em um SoC (system-on-a-chip). Se você está se preparando para migrar para um fornecedor específico SoC, então você precisa considerar tudo isso. Na minha experiência, os pheripheral e cache de escolhas SoC tem mais influência do que o núcleo real (exceto para o desempenho).

Como para as placas de avaliação: Tenho boa experiência com Luminary micro ($ 50- $ 60 Oferta) Cortex M3 . Ele vem com completo ambiente (eclipse) desenvolvimento, exemplos, bibliotecas e alguns hardware (ou seja, USB, ethernet, display OLED) e exemplos que você pode executar e aprender. Aprender fazendo é imho mais divertido do que aprender pela leitura. Eu espero que você vai ser confortável intensificando a partir de 8051 para Cortex M3.

Na grande final do espectro, a Beagle Board é um verdadeiro cruncher número que também pode rodar o Linux.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top