debian下烧写stm32f429I discovery裸机程序
需要安装openocd软件.如果已安装默认的openocd,需要先卸载系统默认的openocd(默认版本是0.5.0,版本太低),然后再安装.
在安装前需要安装libusb库文件:
sudo apt-get install libusb-1.0--dev libusb-1.0-0 automake autconf libtool pkg-config
然后执行安装:
git clone git://git.code.sf.net/p/openocd/code openocd
cd openocd
./bootstrap
./configure --prefix=/usr/local \
--enable-stlink --enable-jlink
echo -e "all:\ninstall:" > doc/Makefile
make
sudo make install
默认情况下openocd会安装到/usr/local/bin文件夹下,有可能会无法执行openocd命令,如果无法执行,可以将/usr/local/bin加入到PATH变量即可。
本来我想自己写个stm32f429的裸机程序,所以要安装交叉编译器,但是后来考虑到写起来比较慢,还是下篇博文中再讲述如何为stm32f429写裸机程序。
linux下stm32f429可用的开发库有官方固件库和libopencm3两种可以选择.如果选用libopencm3,可以参考libopencm3例程,交叉编译器应选择gcc-arm-embedded。
可惜的是libopencm3例程中没有stm32f429i-discovery的例子,在其基础上写代码还是有不少难度的。
我将官方固件库中用于stm32f429i-discovery的hex文件解压,然后压缩成zip文件生成到博客上,可以在这里下载,也可以下载官方固件库后将该文件提取出来。
将该文件改名为f429.hex(要在命令行下输入名称,太长了不好输入)。
用miniusb线(通常我们手机的充电线使用microusb,miniusb头要大一些)连接开发板和pc,然后执行下面的步骤。
然后打开一个控制台,输入下面命令:
$ sudo openocd -f interface/stlink-v2.cfg -f board/stm32f429discovery.cfg
会得到下面的显示信息:
Open On-Chip Debugger 0.9.-dev--g930e41a (---:)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Warn : Interface already configured, ignoring
Error: already specified hl_layout stlink
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : This adapter doesn't support configurable speed
Info : STLINK v2 JTAG v17 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 2.903844
Info : stm32f4x.cpu: hardware has breakpoints, watchpoints
Info : accepting 'telnet' connection on tcp/
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x080001d4 msp: 0x2001fff8
flash write image erase ~/soft/f429.hex: command requires more arguments
in procedure 'flash'
flash write image erase /home/host/soft/f429.hex: command requires more arguments
in procedure 'flash'
auto erase enabled
Info : device id = 0x10036419
Info : flash size = 2048kbytes
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x20000042 msp: 0x2001fff8
wrote bytes from file /home/host/soft/f429.hex in .677387s (25.785 KiB/s)
然后另外打开一个控制台,执行下面的命令:
telnet localhost
halt
flash write_image erase /home/host/soft/f429.hex
reset run
其中,/home/host/soft/f429.hex是我的f429.hex的绝对路径,需要修改成自己的文件的真实路径。
将开发板复位之后,可以看到需要重新矫正屏幕,矫正之后就可以进入到跟以前一模一样的图形界面。
debian下烧写stm32f429I discovery裸机程序的更多相关文章
- 1_jz2440在linux下烧写裸机程序
常用的烧写方法有: 1.使用并口工具烧写:接线(参考百问网JZ2440V2开发板使用手册),使用oflash烧写(速度比较慢),可烧写.bin文件,从新上电观察效果.可烧写u_boot. 2.使用op ...
- 基于BASYS2的VHDL程序与烧写——按键消抖程序
请尊重作者版权,转载请注明源地址http://www.cnblogs.com/connorzx/p/3548364.html 按键在按下的过程中通常会产生一段时间的抖动,为了消除这种抖动,一般采取两种 ...
- Linux下烧写工具DNW和USB驱动安装(一)
转:http://blog.csdn.net/zhengmeifu/article/details/8837930 Linux下编译记录:编译PC端USB驱动和写入工具dnw_linux.tgz压缩包 ...
- cygwin下烧写文件到sd卡中
在cygwin下将firmware_sdcard.bin写入到sd卡中(cygwin需要以管理员身份启动) 1查看sd分区情况 cat /proc/partitions (为了找到sd卡的标记) 2 ...
- 【Hi3516】 uboot下烧写BSP
setenv serverip xx.xx.xx.xx setenv ipaddr xx.xx.xx.xx setenv ethaddr xx:xx:xx:xx:xx:xx setenv netmas ...
- debian下使用ft232为stm32f429i-discovery烧写uboot和uImage
操作系统:debian 软件: openocd minicom 硬件: MiniUSB线.stm32f429i-discovery, WaveShare FT232串口模块(可以在淘宝上买到) 关 ...
- debian下为stm32f429i-discovery编译uboot、linux内核和根文件系统
交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 根据<debian下烧写stm32f429I discove ...
- 给XC2440开发板烧写程序的N种方式
转:http://blog.chinaunix.net/uid-22030783-id-3420080.html 给XC2440开发板烧写程序非常灵活,总结起来有这么几种方式: 空片烧写(flas ...
- 利尔达CC3200模块烧写程序笔记
1. 硬件使用利尔达的CC3200模块,仿真下载器使用利尔达的FTDI仿真器,硬件完全兼容官方的仿真器.仿真器支持IAR的调试,单步运行等操作. 2. 硬件连接接线说明: RXD, TXD, GNG, ...
随机推荐
- JAVA实现EXCEL公式专题(四)——字符串函数
直接上代码: /** * 项目名称: * 文件说明: ExCEL公式类型:字符串公式 * 主要特点: * 版本:1.0 * 制作人:刘晨曦 * 创建时间:2013-12-3 **/ package E ...
- 【重点突破】—— Vue1.0到Vue2.0的变化
前言: 本文参考作者:_So_ 和 我是某慧 的博文,重点梳理Vue1.0升级到Vue2.0后在开发中要注意的不同,以做学习. 组件模板不再支持片段代码,必须有一个顶级元素包裹,例如: ...
- ArcGIS教程:面积制表
摘要 计算两个数据集之间交叉制表的区域并输出表. 插图 使用方法 · 区域定义为输入中具有同样值的全部区.各区无需相连. 栅格和要素数据集都可用于区域输入. · 假设区域输入和类输入均为具有同样分辨率 ...
- Win7如何自定义鼠标右键菜单 添加用记事本打开
鼠标右键用记事本打开.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Notepad] @="用记事本 ...
- Android开发之短信验证码示例
在说Android中的短信验证码这个知识点前,我们首先来了解下聚合数据 聚合数据介绍 聚合数据是一家国内最大的基础数据API提供商,专业从事互联网数据服务.免费提供从天气查询.空气质量.地图坐标到金融 ...
- hibernate映射排序
@OneToMany(mappedBy="member") @OrderBy(value = "TousuID desc")
- adb 功能大全
当然首先是须要进入cmd命令行,执行 adb shell的. 以下介绍一些我们常常须要可是不怎么会用的命令 1. df -sh 查看当前目录占用空间大小 2. du 查看系统如今的内存使用情况 3. ...
- opencv3.3.1 opencv_contribut 3.3.1 git 20180117最新版的在ubuntu1604上的编译
过程: 1. git clone ... contribut 2. git clone ... opencv 3. git checkout -b v3.3.1 4 gi ...
- IPv4地址(一)概述
IPv4地址的长度是多少? IPv4地址是如何表示的? IPv4地址的构成以及每一部分所起到的作用和占的位数特点? IPv4地址长度为32位. IPv4地址分为两部分:网络号和主机号 网络号部分惟一地 ...
- redis配置认证密码(转)
redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 ? 1 #requirepass foobared 去掉行前的注 ...