ST, STM32F4 Discovery

出自 flip the world
前往: 導覽搜尋
Dot matrix + servo + touch sensor

Download the GNU/ARM toolchain

  • tar -xvjf gcc-arm-none-eabi-4_8-2014q2-20131204-linux.tar.bz2
  • export PATH=$PATH:~/gcc-arm-none-eabi-4_8-2014q2/bin

Download and Build STLINK

cd ~/stlink
./autogen.sh
./configure
make

Download STM32 Libraries and Blinky Example

Compile Your Source Code

  • Edit Makefile
    • STLINK=/home/rowol/stlink #Example, change to your location
    • STM_COMMON=/home/rowol/stm32_discovery_arm_gcc/STM32F4-DISCOVERY_FW_V1.1.0
    • make it

Program ARM's Flash and Run Code

  • make burn

or

  • st-flash write STM32F4-Discovery.bin 0x08000000

Using external ST-Link

  • Remove CN3 jumper
ST-Link     STM32F4
VCC            3V
SWIO           PA13
SWCLK          PA14
VDD            VDD ( depends on product, could range from 1.8v - 5v )
GND            GND

GDB

In the directory with your source code, I've also add a .gdbinit file which contains:

define reload
kill
monitor jtag_reset
load
end

target extended localhost:4242
load

This will execute whenever you start GDB in the source directory

To start up:

~/stlink/st-util                 #Start GDB server
arm-none-eabi-gdb main.elf       #In a second terminal window, start GDB

continue                         #Starts code running, or use other GDB commands to 
                                 # set breakpoints, etc first...

application - MPR121, capacitive touch sensor controller

application - MAX7219, Serially Interfaced, 8-Digit LED Display Drivers (interact with MPR121)

application - MAX7219, Serially Interfaced, 8-Digit LED Display Drivers (scrolling text)

application - CS43L22, built-in DAC(audio playback)

application - MG90S, Metal Gear Servo

application - Joystick

application - nRF52, (BLE - UART - STM32F4)

application - MeArm, mini robotic arm

Reference