slide for COSCUP 2013
PS: The source of this practice will be released later on github and have an issue which SPI unable to start successfully now.
prototype temporary source code with F4OS and sdp_tcp: https://github.com/benwei/F4OS/tree/feature/coscup2013-stm32-net
3. Who am I?
• Current
o JuluOSDev, StarOS Lab
• Bio
Love to try new technologies and
enjoy researching topics in networking
and operation system domains
http://about.me/ben6
32. USB Serial Console Mac OS X as example
1
Screen is your good friend
sudo screen /dev/tty.usbserial 115200
2
33. st-util wait gdb
ben@xubuntu:~/src/github/stlink$ ./st-util
2012-06-10T22:56:32 INFO src/stlink-usb.c: -- exit_dfu_mode
2012-06-10T22:56:32 INFO src/stlink-common.c: Loading device parameters....
2012-06-10T22:56:32 INFO src/stlink-common.c: Device connected is: F4
device, id 0x20006411
2012-06-10T22:56:32 INFO src/stlink-common.c: SRAM size: 0x30000 bytes
(192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
Chip ID is 00000413, Core ID is 2ba01477.
KARL - should read back as 0x03, not 60 02 00 00
init watchpoints
Listening at *:4242...
Listening at *:4242
./st-util
34. gdb with st-util
~/F4OS$ arm-none-eabi-gdb
GNU gdb (Sourcery CodeBench Lite 2012.03-56) 7.2.50.20100908-cvs
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-none-
eabi".
For bug reporting instructions, please see:
<https://support.codesourcery.com/GNUToolchain/>.
(gdb) target remote :4242
Remote debugging using :4242
0x007f3ff4 in ?? ()
target remote :4242
35. How to build F4OS?
$ git://github.com/benwei/F4OS.git
$ cd F4OS_prototype
$ make clean
$ make
$ make burn
GCC_ARM_PATH="/opt/gcc-arm-none-eabi-4_7-2013q1/bin"
STLINK_PATH="$SH_PATH/stlink”
export PATH="$PATH:$GCC_ARM_PATH:$STLINK_PATH"
1
2
36. Write bin file to F4
$ make burn
st-flash write ./out/f4os.bin 0x8000000
2013-08-01T13:28:57 INFO src/stlink-common.c: Loading device parameters....
2013-08-01T13:28:57 INFO src/stlink-common.c: Device connected is: F4 device, id 0x20006411
2013-08-01T13:28:57 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash:
0x100000 bytes (1024 KiB) in pages of 16384 bytes
2013-08-01T13:28:57 INFO src/stlink-common.c: Attempting to write 30540 (0x774c) bytes to stm32
address: 134217728 (0x8000000)
EraseFlash - Sector:0x0 Size:0x4000
Flash page at addr: 0x08000000 erasedEraseFlash - Sector:0x1 Size:0x4000
Flash page at addr: 0x08004000 erased
2013-08-01T13:28:57 INFO src/stlink-common.c: Finished erasing 2 pages of 16384 (0x4000) bytes
2013-08-01T13:28:57 INFO src/stlink-common.c: Starting Flash write for F2/F4
2013-08-01T13:28:57 INFO src/stlink-common.c: Successfully loaded flash loader in sram
size: 30540
2013-08-01T13:28:58 INFO src/stlink-common.c: Starting verification of write complete
2013-08-01T13:28:58 INFO src/stlink-common.c: Flash written and verified! jolly good!
st-flash write ./out/f4os.bin 0x8000000
40. compile stlink in ubuntu
sudo apt-get install autoconf libusb-1.0.0
sh autogen.sh
./configure
make
Tips: please don't install, just use export PATH=~/stlink/:$PATH
For easier update
41. STM32F407VGT6
• microcontroller featuring 32-bit ARM Cortex-M4F core, 1 MB Flash, 192
KB RAM in an LQFP100 package
• On-board ST-LINK/V2 with selection mode switch to use the kit as a
standalone ST- LINK/V2 (with SWD connector for programming and
debugging)
• LIS302DL, ST MEMS motion sensor, 3-axis
• digital output accelerometer
• MP45DT02, ST MEMS audio sensor, omni- directional digital microphone
• CS43L22, audio DAC with integrated class D speaker driver
• Eight LEDs:
• USB OTG FS with micro-AB connector
• Extension header for all LQFP100 I/Os for quick connection to prototyping
board and easy probing
More - reference DM00037955.pdf