刚入手STM32F4Discovery,迫不及待的开始入门摸索...*
##开发环境搭建 我是基于Mac OS X 10.10.4的PC环境
- 使用brew安装依赖工具
sudo brew install libusb autogen automake wget pkg-config
- 安装st-link
- git clone https://github.com/texane/stlink.git
- cd stlink
- ./autogen.sh
- ./configure
- make 运行st-util,如果出现下列信息,就说明安装成功:
➜ stlink git:(master) $./st-util
2015-07-02T19:40:19 INFO src/stlink-usb.c: -- exit_dfu_mode
2015-07-02T19:40:19 INFO src/stlink-common.c: Loading device parameters....
2015-07-02T19:40:19 INFO src/stlink-common.c: Device connected is: F4 device, id 0x10016413
2015-07-02T19:40:19 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
2015-07-02T19:40:19 INFO gdbserver/gdb-server.c: Chip ID is 00000413, Core ID is 2ba01477.
2015-07-02T19:40:19 INFO gdbserver/gdb-server.c: Target voltage is 2903 mV.
2015-07-02T19:40:19 INFO gdbserver/gdb-server.c: Listening at *:4242...
- arm交叉编译工具
- wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q2-update/+download/gcc-arm-none-eabi-4_9-2015q2-20150609-mac.tar.bz2
- tar pxf gcc-arm-none-eabi-4_9-2015q2-20150609-mac.tar.bz2 可以将相关路径放置于脚本,使用时使用source set_evn.sh导出 set_evn.sh
#!/bin/sh
ST_LINK_PATH=/Users/xxx/Work/project/STM32F4/bin/stlink/bin
ARM_GCC_PATH=/Users/xxx/Work/project/STM32F4/bin/gcc-arm-none-eabi-4_9-2015q2/bin
export PATH=$PATH:$ST_LINK_PATH:$ARM_GCC_PATH
##基本测试
- 运行st-link
- 加载可执行程序,进行gdb调试:
- arm-none-eabi-gdb main.elf
- (gdb) tar ext :4242
- (gdb) load
- (gdb) b main ....之后就看你的了
最后留图纪念下: Reading symbols from main.elf...done. (gdb) tar ext :4242 Remote debugging using :4242 0x0800637c in ?? () (gdb) load Loading section .isr_vector, size 0x188 lma 0x8000000 Loading section .text, size 0x1b30 lma 0x8000188 Loading section .ARM, size 0x8 lma 0x8001cb8 Loading section .init_array, size 0x8 lma 0x8001cc0 Loading section .fini_array, size 0x4 lma 0x8001cc8 Loading section .data, size 0x46c lma 0x8001ccc Loading section .jcr, size 0x4 lma 0x8002138 Start address 0x8001c10, load size 8508 Transfer rate: 8 KB/sec, 1215 bytes/write. (gdb) l