Difference between revisions of "Nucleo ST32103 ARM Dev Board"

From OpenEnergyMonitor Wiki
Jump to: navigation, search
(Created page with "Here are my notes to work with Nucleo STM32F103 dev board with built in STlinkV2-1 programmer under Ubuntu 14.04 LTS 64bit - Nov/Dec 2014 '''Setup''' 1. GNU ARM ToolChain...")
(No difference)

Revision as of 01:03, 28 November 2014

Here are my notes to work with Nucleo STM32F103 dev board with built in STlinkV2-1 programmer under Ubuntu 14.04 LTS 64bit - Nov/Dec 2014


1. GNU ARM ToolChain

2. IDE Eclipse

3. STmicro libraries

4. GDB Server

1. GNU ARM Tool Chain

https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded $ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded

(if using 14.04 follow extras steps when adding PPA)

$ sudo apt-get update

$ sudo apt-get install gcc-arm-none-eabi

if 64bit, we need 32-bit libs

$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

2. Eclipse IDE & ARM plugin

Check Java is at least 1.7

$ java -version


Choose IDE for C/C++ for 32 / 64 bit

Extract and run $ ./eclipse


Add c++ dev tools

Help → Install New Software > releases

Select 'Luna' eclipse release

Group by category > programming languages > C/C++ dev tools

Add ARM plugin

Help → Install New Software > releases


3. STmicro libraries

firmware: http://www.st.com/web/en/catalog/tools/PF257890#

template makefile compile environment:

git clone git://github.com/geoffreymbrown/STM32-Template.git

4. GDB Server

GDB Server - debugging - ST link is not native compatible with Linux however it's been reverse engineered:

git clone git://github.com/texane/stlink.git

$ sudo apt-get install libusb-1.0

$ sudo apt-get install autoreconf

$ cd stlink

$ ./autogen.sh

$ ./configure

$ make

$ sudo cp 49-stlinkv2-1.rules /etc/udev/rules.d

$ sudo udevadm control --reload-rules

$ sudo udevadm trigger

$ sudo ./st-util

GUI - QSTLink2



$ sudo add-apt-repository ppa:fpoussin/ppa

$ sudo apt-get install qstlink2

To flash code to the board



./st-flash write blinky.bin 0x8000000

ELF Executable Linkable Format

1. Start ST-link server on port 4242

$ ./st-util #check ST link is connected ok

$ ./st-util 4242 /dev/stlink

2. Start GDB and connect to ST-link server on port 4242

start an instance of arm-noneeabi-gdb

in a separate window and execute the following

$ arm-none-eabi-gdb BlinkingLights.elf

$(gdb) target extended-remote :4242

$(gdb) load

$(gdb) continue

Serial Output

Nucleo board serial output could be viewed by opening serial port on /dev/ttyACM0

To compile on Eclipse

1. Select new C++ project for STMF10x project

2. Check through default options

3. select blinky example

4. in BlinkLed.h change port number to be '0' for A and pin number to be 5 (on the necleo board the LED is on A5)

5. Click build

6. .elf file is now in the debug folder