Fiz alguns desenvolvimentos com o ATMega e pretendo ampliar meus horizontes. Eu tenho alguns chips da série Cortex M4 e gostaria de fazer um ARM equivalente ao Breadboarduino
Eu pretendo gravar minha própria prancha ou usar uma prancha de breakout para o ARM e testar o resto. Uma referência ou esquema dos componentes mínimos seria muito apreciada.
Existem bons recursos para determinar os componentes mínimos necessários para operar e, idealmente, programar um chip ARM?
ATUALIZAR:
Estou aberto a sugestões de hardware alternativo. Abaixo está o chip com o qual estou tentando trabalhar no momento:
arm
microprocessor
prototyping
ZnArK
fonte
fonte
Respostas:
Isso realmente depende dos chips que você está usando - você não especificou qual deles comprou. Normalmente, você precisaria de pelo menos um cristal, separar as tampas e redefinir a lógica. A interface de programação pode ser uma interface JTAG simples.
Mas tudo isso deve ser indicado na folha de dados dos chips.
Atualização (para o STM32F407):
Veja as seguintes páginas na folha de dados
Você não precisará de um circuito de redefinição (está integrado - consulte a página 23) ou de um oscilador (o oscilador de 16MHz integrado é selecionado na inicialização, consulte a página 22). Portanto, o uso de uma placa do LQFP144 (como a da futurlec (consulte a parte inferior da página)) pode realmente ser suficiente.
Você também pode ver o esquema da placa STM32F4DISCOVERY (consulte o manual do usuário , página 33. O que você vê lá é o circuito básico - e ele ainda contém os cristais externos.
fonte
Tem certeza de que deseja fazer isso para um Cortex-M4? É um grande salto do AVR, e não vejo como você usaria todos os recursos que ele fornece. Para começar com um Cortex-M4, geralmente vem em um pacote grande, geralmente com mais de 80 pinos para as peças de nível básico e mais de 200 não é uma exceção, pense em QFP ou BGA. Vai fazer uma placa de fuga com duas linhas de 40 pinos na placa de ensaio?
O Cortex-M4 também foi projetado para alta velocidade: 120 MHz a 200+ MHz normalmente. OK, talvez não seja necessário projetar sua PCB para essas velocidades se você usar uma PLL no chip. Mas e os periféricos, como USB ou Ethernet?
É claro que você pode executá-lo em velocidades mais baixas e deixar de fora grande parte da funcionalidade do chip, mas eu me pergunto qual é a utilidade de um Cortex-M4 para começar. Eu acho que um Cortex-M3 ou mesmo -M0 é mais apropriado para começar. Não quero desencorajar você, quero permanecer realista.
Se você não quer ir em frente com o Cortex-M4 você pode fazer com hardware externo mínimo. O NXP LPC407x por exemplo, possui um oscilador RC interno, que é o oscilador padrão na redefinição, para que você nem precise de um cristal. Um circuito de redefinição e o desacoplamento adequado da fonte de alimentação serão tudo o que você precisa para colocá-lo em funcionamento.
Para um Cortex-M0, o NXP LPC111x pode valer a pena dar uma olhada. É verdade que ele não vem com muita memória, mas está disponível em um pacote DIL-28 , o que é uma raridade para os ARMs. Como alternativa, você pode usar uma placa de desenvolvimento como o LPCXpresso ,
onde a metade direita é a placa de aplicação, que pode ser separada do link LPC. Como você pode ver, não há praticamente nenhum hardware externo necessário para o aplicativo. E se você soldar um conjunto de cabeçalhos, poderá conectá-lo a uma tábua de pão.
fonte
Como Steven diz que é um grande salto para o ARM de um micro de 8 bits, espere um pouco de aprendizado / tempo gasto no caminho.
Eu também não iria para o M4 no seu primeiro ARM, simplesmente porque não demorou muito e há menos suporte / informações por aí. Penso que um M3 ou M0 é uma escolha melhor e será suficiente para continuar.
Você certamente pode criar seu próprio quadro, mas talvez seja melhor comprar um quadro de desenvolvimento pequeno / barato primeiro. Em termos de desenvolvimento, existem muitas opções, de gratuitas (eclipse + GCC + OpenOCD) a caras (Keil, Rowley, etc.) Pessoalmente, uso o Raisonance Ride7 IDE e ferramentas com a série STM32 ARM M3 / M4s, que é um pouco mais barata que Keil / Rowely, mas bom o suficiente.
Dê uma olhada em uma das placas de desenvolvimento simples de alguém como ST, Olimex etc. Esta placa de desenvolvimento tem o esquema mais simples que eu poderia encontrar, para um STM32 Cortex-M3.
fonte
O Arduino Due deve sair em breve:
Chip é um SAM3X8 Cortex-M3 da Atmel. Pode valer a pena esperar se você já estiver familiarizado com as placas de estilo Arduino e a documentação de estilo Atmel. E como ele será de código aberto para atender aos requisitos do Arduino, é claro que você pode fazer isso.
fonte
Eu recomendo que você verifique o Mbed como um dispositivo córtex-m3 com alguns periféricos legais, o nxp fornece compilador e muitas bibliotecas de bibliotecas e comunidades, uma maneira muito fácil de programá-lo e já está em um pacote para ser usado em uma tábua de pão. Eu acho que seria a maneira mais fácil de fazer a transição do AVR para o ARM.
fonte
Muitas partes do ST podem, pelo menos se não estiver usando um transceptor USB, executar seu oscilador interno de alta velocidade.
Isso basicamente significa que o seu "circuito" consiste em limites de derivação e alguns resistores em coisas como a redefinição e como terminação na interface SWD.
As placas de avaliação de US $ 8-10 da ST programarão as peças que você colocar em sua própria placa no barramento SWD; também existem ferramentas de código aberto para eles, para que você possa colocar a operação de programação diretamente no seu Makefile.
Procurar algo no 48 PQFP provavelmente tornará a vida mais fácil em sua primeira tentativa no conselho. Você pode montá-las sem ampliação (basta ter uma trança fina disponível para consertar a ponte ou duas que você provavelmente criará por lado), mas ter uma lupa disponível para verificar seu trabalho seria útil.
fonte