Quero começar a usar processadores ARM, migrando de PICs que uso há muito tempo. Modelos de 8 bits estavam disponíveis por menos de US $ 1, programadores por menos de US $ 10, e eu fui mimado pela facilidade e baixo custo de começar. Mas, vendo que o poder deles é diminuído por alguns chips ARM pelo mesmo preço, e sendo alimentados com software de código fechado, eu quero fazer a troca.
Eu prefiro evitar qualquer placa de desenvolvimento e, ao invés disso, ir direto para ela com um pcb genérico barato (US $ 1), e em uma placa de ensaio usando quaisquer componentes externos essenciais para fazê-lo funcionar.
Quais são minhas opções para programar chips ARM dessa maneira? Existem programadores como o PICKit2 que usam USB para conectar-se a um PC, programando através de uma conexão serial simples (como ICSP) com o chip? Quanta diferença de configuração é necessária para diferentes fabricantes de ARM, versões de ARM e chips individuais? (ST, Atmel ...) Por exemplo, cada fabricante precisa de seus próprios compiladores, programadores, IDE etc? Ou existem ferramentas comuns para todos?
EDIT: Tudo bem, então, depois de mais pesquisas, acredito que tenha encontrado uma solução relativamente barata, uma placa stm32 dev pode ser atualizada com o firmware DAPLINK, mas não acredito que o firmware oficial do github funcione nativamente (tudo isso é especulação até que eu receba minha placa de desenvolvimento stm32 pelo correio). Mas descobri que a placa daplink_usb incluída no readbear mk20 está executando um chip stm32, eles lançaram o firmware, que precisa ter uma linha alterada para torná-lo compatível com o cristal de 8 mhz (detalhado no post do fórum link abaixo). Caso contrário, troque o cristal por um de 16 mhz. Eu atualizo uma vez que confirmei quando meu kit de desenvolvimento chegar.
Respostas:
As linhas stm32F0 e stm32L0 possuem placas de descoberta que custam cerca de US $ 10, e o Keil fornecerá um IDE de função completa para esta linha a custo zero.
As instruções de instalação do Keil free pro MDK estão AQUI
Além disso, o ARM possui uma folha em branco sobre a migração para o Cortex M3 do PIC, que você pode achar útil
fonte
A maneira mais fácil - desembolsar> US $ 10.000 para um compilador Keil Pro com todas as funções e comprar seu depurador JLINK (outro US $ 1 mil talvez - existem outros mais baratos com algumas limitações). O IAR é outra possibilidade dispendiosa (são fornecidos exemplos para o processador STM32F7 Cortex M7 que funciona na demonstração IAR de 30 dias)
Maneira mais barata- faça o download e instale uma cadeia de ferramentas GCC-ARM + Eclipse (gratuita) com plug-ins de depurador JLINK. Obtenha um clone do JLINK por US $ 20 ou mais, o que acho que funcionará bem - ainda não testado, para depuração.
Existem instruções detalhadas para este último na rede, no entanto, eles fazem certas suposições. Espere passar um dia ou mais trabalhando, especialmente no Windows. Não espere poder usar muitos dos exemplos fornecidos para outros IDEs sem algum trabalho. De maneira impressionante, a cadeia de ferramentas gratuita pode usar 'pacotes' ('experimental' agora).
Existem outros sistemas, como o Rowley Crossworks (que usa o gcc, acredito) que são menos dolorosos financeiramente. O Atmel Studio é outro, mas tive queixas amargas do meu desenvolvedor de firmware muito experiente sobre isso (só brinquei brevemente com ele mesmo).
Se suas necessidades de código forem inferiores a 32K, você poderá usar o mesmo sistema Keil gratuitamente (versão limitada de código), mas lembre-se de que o caminho da atualização é fácil, mas bastante caro. Por exemplo, ele não compila os exemplos simples de Ethernet para o SAME70. Tudo bem se você estiver substituindo PICs ou AVRs por ARMs low-end, mas não tão bom se você estiver indo para ARM, porque na verdade você precisa conversar com monitores LCD e executar protocolos de comunicação complexos (é possível incluir módulos pré-compilados sem afetar o Limite de 32K, não investiguei esse ângulo em particular).
fonte
Aqui está o que eu uso:
fonte
O começo mais fácil provavelmente é uma das placas de clone de terceiros. Exemplo aleatório de ST . Isso requer um programador usando o protocolo 'SWD'. A ST fabrica marcas com a marca 'ST-LINK', não tenho certeza se você precisa usar as ST-LINK com dispositivos ST ou se é realmente genérico.
Alguma combinação de SWD e JTAG desempenha o papel de ICSP em sistemas ARM, fornecendo recursos de programação e depuração.
Em termos de software, geralmente é possível trabalhar com o GCC e o OpenOCD na maioria dos chips. Os detalhes são ligeiramente diferentes para cada dispositivo. Profissionais costumam usar a cadeia de ferramentas Keil, que é bastante cara.
Alguns dispositivos (por exemplo, da série Kinetis) possuem gerenciadores de inicialização USB: o dispositivo aparece como um dispositivo de armazenamento em massa, você faz o download de um arquivo BIN e pressiona um botão. Solução mais fácil possível, sem necessidade de programador. O Atmel AT91 possui um carregador de inicialização USB que funciona com um protocolo proprietário chamado SAM-BA.
fonte
Na frente do IDE, o Silicon Labs fornece o Simplicity Studio , baseado no Eclipse . Ele vem como padrão no GCC.
Existe um suporte interno para todos os kits iniciais que eles vendem, tornando a introdução relativamente simples.
A programação usa um driver Segger J-Link para os kits iniciais (grátis). Basta conectar o kit ao USB e pronto.
Atmel tem seu estúdio que é baseado no Visual Studio IDE e pode se conectar a qualquer um dos depuradores do Atmel. Isso também é fornecido com o GCC.
Ambos os fornecedores têm vários exemplos (muito numerosos) para acionar seus dispositivos.
Eu usei os dois e, embora a documentação não seja perfeita (nunca é), certamente foi suficiente para me fazer avançar de maneira relativamente simples.
Muitos dos kits ST (e outros) são habilitados para mbed .
fonte
A Cypress fabrica placas de interrupção baseadas em PSOC-4200 (ARM Cortex M0) com um fator de forma DIP-40 que inclui um adaptador de programação baseado em USB em uma parte de interrupção. O preço do breakout board e do adaptador de programação conectado (destacável) é de US $ 3,99 da Digi-Key.
fonte
Eu recomendaria o CooCox - é a mesma combinação GCC + Eclipse, mas não há necessidade de configurar a cadeia de ferramentas manualmente, basta instalá-la e iniciar a codificação.
fonte
Na minha opinião, TI, NXP (composto por NXP + Freescale) e ST são os principais atores no mundo do córtex M, especialmente o ST e o NXP oferecem ferramentas realmente competitivas para os novatos, outro parâmetro importante é a popularidade na comunidade de código aberto, que causa quantidade de tutoriais, bibliotecas, drivers de dispositivo, ferramentas etc.
então :
Os números 2 e 3 são a melhor escolha para o nível superior do que o hobby. Lembre-se também de que, ao usar a licença gratuita de ferramentas profissionais como IAR, Keil ou mesmo LPCXPRESSO, você sente menos dor ao se mudar para a área profissional.
fonte
mbed
- ver [ developer.mbed.org] [developer.mbed.org]