Melhor plataforma para aprendizagem de programação incorporado? [fechadas]

StackOverflow https://stackoverflow.com/questions/88626

  •  01-07-2019
  •  | 
  •  

Pergunta

Eu estou olhando para aprender sobre programação incorporada (em C, principalmente, mas espero para retocar em meu ASM também) e eu queria saber qual a melhor plataforma seria. Tenho alguma experiência no uso Atmel AVR de e programá-los com o stk500 e descobriu que isso é relativamente fácil. Eu gosto especialmente AVR Studio e depurador que permite visualizar esse estado de registros.

No entanto, se eu estava a tomar o tempo para aprender, eu preferiria aprender sobre algo que é predominante na indústria. Estou pensando ARM, que é a menos que alguém tem uma sugestão melhor.

Eu também estaria procurando algum material de referência, eu encontrei a seção de livros no site da ARM e se um é um livro tecnicamente melhor do que outro eu gostaria de receber um heads-up.

A última coisa que eu estaria procurando é uma prototipagem / Tábua de programação como o STK500 que tem alguns botões e assim por diante.

Graças =]

Foi útil?

Solução

"programação incorporada" é um termo muito amplo. AVR é ??muito bem nessa categoria, mas é um passo abaixo ARM, na medida em que é ao mesmo tempo simples de usar, bem como menos poderosos.

Se você só quer brincar com ARM, comprar um Nintendo DS ou um avanço de Gameboy. Estes são muito barato em comparação com o interior hardware (maravilhas da produção em massa), e ambos têm toolchains livre desenvolvimento base off de gcc que pode compilar a eles.

Se você quiser brincar com Linux embarcado, BeagleBoard está olhando para ser uma boa opção, apenas US $ 150 e tem uma tonelada de recursos.

Pessoalmente, penso AVR é ??melhor para as plataformas de 8 bits de menor porte, e ARM é melhor para as mais poderosas plataformas baseadas maiores, de 32 bits. Como muitos fãs AVR, eu não gosto PIC. Parece apenas pior em praticamente todos os sentidos. Além disso, evite qualquer coisa que requer que você escreva qualquer tipo de BASIC.

Outras dicas

Se você só quer brincar com ele, eu sugiro a plataforma Arduino ( http: //www.arduino. cc ). É baseado no ATmega168 ou ATmega8, dependendo da versão. Ele usa um C-como a linguagem e tem sua própria IDE.

Eu tenho trabalhado em programação incorporado por 9 anos e ter experiência em TI MSP430, Atmel AVR (um par de sabores) e estará usando um ARM em breve.

A minha sugestão é algo captador que tem alguns recursos extras no processador como ethernet controlador e controlador CAN, até obter dois ou três, se puder. dispositivos embarcados são agradáveis ??para trabalhar, mas uma vez que eles podem conversar com outros dispositivos similares via CAN ou ficar em uma rede, eles podem se tornar muito mais divertido para brincar.

ARM tem o conjunto de instruções mais agradável das plataformas embarcadas amplamente utilizados, deixando-o livre para pegar os princípios gerais de escrever software para plataformas embarcadas sem se prender a detalhes estranhos como registros não ortogonais ou delay slots ramo. Há uma abundância de emuladores - ARM próprio, enquanto não é livre, é ciclo-precisa; e uma enorme variedade de hardware baseado em ARM programável é barato e fácil de encontrar também.

ADI do Blackfin é outra opção, já que é bastante uma arquitetura para a frente para programa, mas também pode fazer algumas coisas DSP bastante robusto se você optar por ir por esse caminho. Ela ajuda a que a linguagem assembly é bastante são também.

SELO Blackfin são um barato (~ $ 100 última vez que verifiquei) forma , e eles suportar as ferramentas do CCG livres e uClinux.

O que quer que você escolhe arquitetura Eu definitivamente recomendo primeiro baixar o conjunto de ferramentas \ SDK e olhando através dos projetos de amostra e tutoriais - geralmente tendo um pouco de um jogo sobre. Muitas vezes você pode ficar muito familiarizado com a arquitetura por meio de simulação, sem sequer tocar em qualquer hardware.

O MSP430 é um grande plataforma para aprender a programar microcontroladores. TI tem uma variedade de GRÁTIS ferramentas e algumas placas de avaliação barato (a partir de US $ 20). Além disso, é um baixo consumo de energia, o microcontrolador moderno.

Uma escolha agradável seria PIC18 por Microchip

  • Tem bastante um monte de material, documentação, tutoriais e projetos na internet

  • Free IDE e compilador.

  • você pode puxar seu próprio escritor Flash em poucos minutos. (Embora para um depurador para o trabalho que você precisa para um trabalho mais duro)

  • Se você é um estudante (ou tem um endereço de e-mail estudante) Microchip irá enviar-lhe fichas de amostra grátis. Então, basicamente, você pode ter um ambiente de desenvolvimento completo para quase nada.

  • PICs são bastante prevalentes na indústria. Especificamente como controladores para robôs, por algum motivo, embora eles podem fazer muito mais.

Arduino parece ser a plataforma de escolha nestes dias para iniciantes, embora existam muitos outros. I como as placas Olimex pessoalmente, mas eles não são realmente para iniciantes.

Microchip 's PIC gama de CPUs também são excelentes para iniciantes, especialmente se você quiser programa em assembler.

BTW, Assembler não é usado tanto como ele costumava fazer. A regra geral com incorporado é se você tem 4k de memória ou mais, o uso C. Você começa portabilidade e você pode desenvolver código mais rápido.

Suponho que isso depende do seu nível de habilidade e o que você quer fazer com o chip. Eu costumo escolher qual chip embutido de usar pelos periféricos disponíveis. Se você quer uma porta USB, encontrar um com USB embutido, se você quiser analógico para digital, encontrar um com uma ADC etc Se você tem uma aplicação simples, use um de 8 bits, mas se você precisar de número séria trituração, ir de 32 bits.

Eu gostaria de sugerir a BeagleBoard de TI. Tem um OMAP3 nele. Isso é um Cortex-A8 ARM11 CPU, um C64x + DSP e um acelerador de vídeo também.

O conselho não precisa de um dispositivo de jtag caro. Um cabo serial um um SD-Card é tudo que você precisa para começar. Conselho custa apenas US $ 150 e há uma comunidade muito ativa.

www.beagleboard.org

Dê uma olhada Processamento e os associados placas Arduino e fiação.

Se você quiser apenas para se divertir, então tente o chip Parallax Propeller. A plataforma jogo HYDRA parece com uma explosão. Há um compilador $ 100 C para ele agora.

Eu comecei em selos BASIC, transferiu-se através de chips de SX e PICs em 8051s, em seguida, 68332s, vários DSPs, processadores suaves FPGA, etc.

8051s são mais úteis no mundo real ... as coisas não se vai longe. Há toneladas de derivados e coisas malucas para eles. (Basta ficar longe do DS80C400) A indústria da energia é absolutamente cheio deles.

Comece com algo pequeno. Se você tem RAM externa e uma abundância de registros ... qual é a diferença entre isso e um SBC?

Muitas luas atrás eu trabalhei com 8 bitters como 68HC05 e Z80, depois AVR e MSP430 (16-bit). No entanto a maioria dos projetos recentes foram em ARM7. Vários fabricantes oferecem controladores ARM, em todas as cores e tamanhos (bem, não realmente cor).

ARM (7) está substituindo arquitetura de 8 bits: é mais alto desempenho (RISC de 32 bits em ciclos de instrução mais rápido do que a maioria dos 8-bitters), tem mais memória e está disponível com vários IO-configurações. Eu trabalhei com os controladores NXP LPC2000, que também são baratos (<1 USD para um! 32-amargo).

Se você está na Europa http://www.olimex.com/dev/index .html tem algumas placas de desenvolvimento agradáveis ??de baixo custo. Obras no resto do mundo também: -)

Para um projeto divertido de teste, ter um olhar para xgamestation

Mas para um chip de uma programação de solução utilizada mais industrial, olhada PIC

Para o meu Arquitectura de Computadores claro que eu tinha que trabalhar tanto com um PIC e um AVR; na minha opinião o PIC era mais fácil trabalhar com, mas isso é talvez porque é isso que nós trabalhamos com a mais e tivemos mais tempo para se acostumar. Utilizou-se o AVR talvez apenas um par de vezes, então eu não poderia obter o jeito dele perfeitamente, mas ele também não era nada muito complicado, ou pelo menos não mais frustrante do que o outro.

Eu acho que você pode também amostras fim de microprocessadores do site da Microchip assim que você poderia também começar com isso?

Segundo o seguinte:

plataforma Arduino http://www.arduino.cc

HTH

Para aprender, você não pode ir além do AVR. Os chips são baratos e eles vão correr com zero componentes externos -. Eles também fornecer corrente suficiente para conduzir um LED direto da porta

Você pode começar com um programador barato, como dama-ada USBTinyISP (USD $ 22 para um kit) que pode alimentar o seu tabuleiro com 5V da porta USB. Obter as ferramentas gratuitas WinAVR (GCC base) e AVRStudio e obter um pequeno projeto trabalhando em nenhum momento.

Sim os AVRs têm limitações -, mas o desenvolvimento de software para microcontroladores é em grande parte sobre o gerenciamento de recursos e lidar com esses problemas. É improvável que você vai ter problemas tais como a falta de espaço de pilha, memória RAM ou ROM quando você está fazendo projetos hobbist para plataformas ARM poderosos.

Dito isso, ARM é também uma grande plataforma que é amplamente utilizado na indústria, no entanto, para aprender Eu recomendo AVRs.

Eu sugeriria série PIC18F da Microchip. Eu só começou a desenvolver para eles com o emulador RealICE no circuito, mas o pickit2 é um depurador decente para o preço. Pode-se dizer isso para o AVR é ??também, mas há um grande número de seguidores para o dispositivo em toda a web. Eu era capaz de ter um - de buggy, mas funcional - incorporado dispositivo USB funcionando dentro de dias devido a toda a conversa relacionada PIC.

A única coisa que eu não gosto sobre os PICs é que uma grande parte do código de exemplo é muito entrelaçados nas placas de demonstração. Isso pode torná-lo difícil de rasgar as seções que você precisa e ainda tem um aplicativo que irá construir e executar para sua aplicação.

Texas Instruments lançou um kit de desenvolvimento muito interessante a um preço muito baixo: O Ferramenta de Desenvolvimento eZ430-Chronos contém um MSP430 com sensores de exibição e várias em assistir a esportes, incluindo um programador usb de depuração e um ponto de acesso usb rádio para 50 $

Há também um wiki contendo lotes e lotes de informações .

Eu tenho já criado uma proposta Stackexchange para o eZ430-Chronos Kit.

Você deve tentar e aprender com kits Developpers fornecidos pelo Embedded Artists . Depois de obter o kit, verificar os seus vídeos e vídeos fornecidos pela NXP, que não são tão detalhada como eles poderiam ser instrutivos, mas eles cobrem um monte de coisas. Problemas com a aprendizagem ARM como sua primeira arquitetura e tentar fazer algo practicall são:

  • Você precisa comprar desenv. kit.
  • Você precisa de uma boa reservar para aprender ARM montagem, porque mais cedo ou mais mais tarde você vai se deparar com código ARM de inicialização, que é bastante um acordo para um iniciante. O livro que eu mencionei allso cobre alguma programação C.
  • Combine livro acima mencionado com um guia do usuário para o seu processador speciffic como este . Certifique-se de obter este como estudar este em combinação com o livro acima é a única maneira de aprender o seu proc ARM. em detalhe.
  • Se você quiser fazer uma transferência de ARM montagem para C programação você precisa ler este livro, que abrange um processador ARM diferente, mas é mais fácil para C iniciante. O lado negativo é que ele não explica qualquer ARM montagem, mas é por isso que você precisa do primeiro livro.

Não há nenhuma maneira fácil.

mikroElektronika tem bom ARM placas e C, Pascal e Basic compiladores que possam atendam suas demandas.

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