Mostrar mensagens com a etiqueta stm32f4 discovery. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta stm32f4 discovery. Mostrar todas as mensagens

quinta-feira, 10 de julho de 2014

GNU Toolchain ARM Cortex-M (64bits)

Ambiente de Desenvolvimento para Cortex-M

Hoje decidi reinstalar o meu computador com o Fedora 20 64-bits, e decidi escrever de forma muito simples os passos para criar o ambiente de desenvolvimento para a minha placa actual (stm32f4 discovery).


GNU Toolchain ARM


Para executar os binário da GNU Toolchain ARM é necessário dar suporte a 32-bits, a instalação dos pacotes a baixo permite ao sistema operativo correr binários de 32-bits.
yum install glibc.i686
yum install ncurses-libs.i686

A toolchain da GNU está disponível para vários sistemas operativos e disponibiliza também as fontes, sendo o Fedora um sistema operativo baseado em unix vamos fazer o download última versão para Linux. Dentro da hierarquia de pastas do sistema Linux existe a "/opt" que é dedicada ao colocar software de terceiros, addons, etc por isso é um óptimo lugar para colocarmos as nossas ferramentas de forma arrumadinha.


Insight Debugger


Um programa de debug faz muita falta e esse não podia ficar esquecido, decidi instalar o Insight mais uma vês foi colocado na pasta "/opt". Antes de conseguir executar o insight é necessário instalar algumas dependências:

yum install libX11-devel.i686
yum install zlib-devel.i686
yum install expat-devel.i686





OpenOCD

Antes de compilar e instalar o openocd é necessário instalar algumas dependências:

yum install gcc
yum install git libtool autoconf texinfo libusb-dev
yum install libftdi

Depois das dependências instaladas é preciso fazer o download as fontes compilar e instalar, mais uma vez será instalado na pasta "/opt".


git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocdcd openocd ./bootstrap
./configure --enable-maintainer-mode --disable-option-checking --disable-werror --prefix=/opt/openocd --enable-dummy --enable-usb_blaster_libftdi --enable-ep93xx --enable-at91rm9200 --enable-presto_libftdi --enable-usbprog --enable-jlink --enable-vsllink --enable-rlink --enable-stlink --enable-arm-jtag-ewmakesudo make install


UDEV

Para se conseguir executar  o openOCD sem acesso root basta:

sudo cp /opt/openocd/share/openocd/contrib/99-openocd.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
usermod -a -G plugdev <utilizador>

Adicionar ao PATH

Para facilitar o desenvolvimento adicionei as pastas "bin" que contêm os binários ao PATH de modo a que possa ser chamado a partir de qualquer directório. A forma mais fácil é editar o script ".bashrx" onde é possível definir caminhos para ficheiros e funções do utilizador.





Downloads:

--


Referências:



quarta-feira, 2 de julho de 2014

Mini STM32 v3.0 - Debug

Placa de desenvolvimento Mini STM32 v3.0 + Display de 2.8" + touchscreen + SD Card breakout.

Na continuação do desenvolvimento para esta placa.


Debugger

Para fazer debug é necessário um hardware debugger:
  • JLink
  • ULink
  • ST-Link
Qualquer hardware debugger é compatível o que pode variar é a compatibilidade com o software de debug. Como não dispunha de nenhum hardware debugger utilizei uma stm32f4 discovery que tem um st-linkv2 integrado e permite programar e fazer debug a outros chips da ST.


Stm32f4Discovery
STM32F4 Discovery


Remover os dois jumpers para utilizar como programador externo.











Pinout SWD da placa stm32f4discovery:




Pinout JTAG da placa Mini STM32 v3.0:




Quadro resumo das ligações


FunçãoStm32f4 DiscoveryMini stm32 v3.0
VDD11
SW_CLK29
GND34
SWDIO47
NRST515
SWO------



Programação através do OpenOCD




Ficheiro de configuração do OpenOCD




Debug através de arm-none-eabi-insigth









Referências: