Configurar ChibiOS + MDK uVison
Surgi mais um projecto e associado a isso sempre mais dificuldades. Hoje comecei o desenvolvimento de um novo projecto com base na placa Mini STM32 v3 já referida anteriormente.
Foi alterado o ambiente de desenvolvimento de Linux para Windows, neste caso, Windows 8.1.
Todos já devem conhecer o
Keil MDK-5 uVision confesso que apesar de já ter ouvido falar foi o meu primeiro contacto, devo dizer que me surpreendeu pela positiva, a curva de aprendizagem é relativamente pequena e tem todas as vantagens de ser um IDE. Em relação a velocidade e tamanho do código gerado pelo compilador também existe pontos a favor versus o GCC.
Antes de mais defini a minha estrutura de pasta, na minha opinião, uma boa estrutura da pasta é fundamental para um desenvolvimento rápido em sistemas embebidos.
Na raiz são adicionadas todas as bibliotecas, dentro da pasta projects as placas de desenvolvimento existentes, e dentro de cada placas as aplicações desenvolvidas.
Na configuração do uVision foi utilizado como exemplo a placa Mini STM v3, mas é o procedimento é igual para todas a placas, sendo necessário ter em contas as características específicas de cada uma.
Depois de criado o projecto é necessário configurar as Options for Target:
- Target: Define o hardware de destino, tamanho e endereçamento de de ROM e RAM. É necessário definir o campo IRAM2 no endereço seguinte ao fim da RAM para utilizar com o ChibiOS.
- C/C++: Configuração referente ao compilador, includes, optimização, defines, etc. Para utilizar com o ChibiOS é necessário includir todos os ficheiros .h utilizados no projecto.
É necessário incluir os seguintes símbolos e alterar o chconf.h:
#define CH_USE_MEMCORE FALSE
#define CH_USE_HEAP FALSE
define: __heap_base__=Image$$RW_IRAM1$$ZI$$Limit __heap_end__=Image$$RW_IRAM2$$Base
- ASM: Mais um vez é necessário fazer os includes dos ficheiros utilizados nos ASMs.
- Debug: Utilizei o programador e debugger ST-Link v2, mas é possível utilizar qualquer um existente na lista.
- Utilities: Aqui escolhe-se a placa a destino e o programador para fazer o download do código.
Após estas configurações, têm a placa configurada, para utilização do ChibiOS, contudo poderá ser necessário adicionar mais include paths. Agora vamos configurar o projecto. O uVision faz a gestão de todos os ficheiros de código adicionados, por isso é necessário adicionar todos os ficheiros de kernel, hal, port e da aplicação para ser possível compilar.
Utilizei o seguinte estilo de grupos:
Por fim temos o nosso resultado :)
Downloads:
Referencias: