debian下烧写stm32f429I discovery裸机程序

需要安装openocd软件.如果已安装默认的openocd,需要先卸载系统默认的openocd(默认版本是0.5.0,版本太低),然后再安装.

在安装前需要安装libusb库文件:


 sudo apt-get install libusb-1.0-0-dev libusb-1.0-0

然后执行安装:


    git clone git://git.code.sf.net/p/openocd/code openocd
cd openocd
./bootstrap
./configure --prefix=/usr/local --enable-stlink
echo -e "all:\ninstall:" > doc/Makefile
make
sudo make install

默认情况下openocd会安装到/usr/local/bin文件夹下,有可能会无法执行openocd命令,如果无法执行,可以将/usr/local/bin加入到PATH变量即可。

安装交叉编译器,下载地址:https://sourcery.mentor.com/sgpp/lite/arm/portal/package7813/public/arm-none-eabi/arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

或者https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update/+download/gcc-arm-none-eabi-4_8-2014q1-20140314-linux.tar.bz2

本来我想自己写个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.0-dev-00024-g930e41a (2014-06-01-18:50)
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 6 breakpoints, 4 watchpoints
Info : accepting ‘telnet‘ connection on tcp/4444
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 1179648 bytes from file /home/host/soft/f429.hex in 44.677387s (25.785 KiB/s)

然后另外打开一个控制台,执行下面的命令:


telnet localhost 4444
halt
flash write_image erase /home/host/soft/f429.hex
reset run

其中,/home/host/soft/f429.hex是我的f429.hex的绝对路径,需要修改成自己的文件的真实路径。

将开发板复位之后,可以看到需要重新矫正屏幕,矫正之后就可以进入到跟以前一模一样的图形界面。

debian下烧写stm32f429I discovery裸机程序,布布扣,bubuko.com

时间: 2024-12-21 23:45:42

debian下烧写stm32f429I discovery裸机程序的相关文章

一键烧写Linux,USB烧写Linux,裸机调试准备

一键烧写linux步骤 A:格式化SD卡,格式为FAT32(尽量用SD卡,其他需要转接板的卡可能会有问题) B:利用PC烧写工具SD_Writer.exe将SD卡启动文件mmc.bin烧写进SD卡中 a:启动SD_Writer.exe(win7需要以管理员身份运行) b:board model 选择6410 c:sd volume(SD盘符),首先点击scan自动搜寻,错误的话手动调整 d:sd type类型为auto(win7还需要点击format格式化SD卡) e:os type选择linu

debian下使用ft232为stm32f429i-discovery烧写uboot和uImage

操作系统:debian 软件: openocd  minicom 硬件:  MiniUSB线.stm32f429i-discovery, WaveShare FT232串口模块(可以在淘宝上买到) 关于openocd的配置可以参看我的博文: <debian下烧写stm32f429I discovery裸机程序> u-boot源码下载: git clone https://github.com/EmcraftSystems/u-boot.git linux源码下载: git clone http

debian下为stm32f429i-discovery编译uboot、linux内核和根文件系统

交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 根据<debian下烧写stm32f429I discovery裸机程序>安装openocd. 安装genromfs,使用下面命令: sudo apt-get install genromfs 已经有人提供好脚本,只要执行几条命令即可.使用git下载文件并进行编译: git clone https://github.com/jserv/stm32f429-lin

烧写裸机程序

使用串口操作开发板的前提是开发板上已经有烧好的程序,因此开发板在没有烧好程序时,应先烧写程序.方法有: 1.使用并口工具烧写:接线(参考百问网JZ2440V2开发板使用手册),使用oflash烧写(速度比较慢),可烧写.bin文件,从新上电观察效果.可烧写u_boot. 2.使用openJTAG烧写,接线,使用oflash烧写(oflash烧写完后,会复位开发板). 3.使用Jlink烧写,请看如何烧写S3C2440裸板程序:JLink只支持烧写Nor Flash,不支持Nand Flash.要

S3C2440 初步接触之程序烧写

使用OpenJTAG烧写:(裸板程序) 1.安装驱动 2.将 oflash.exe FTD2XX.dll 拷贝到 C:\Windows\system32 下.(oflash.exe 和 FTD2XX.dll 在 百问网JZ2440v2主光盘\windows\tools中) 3.然后在 Windows 命令行就可以直接使用了. 4.接线. 5.在命令 Windows 命令行中使用 oflash 烧写: 进入要烧写的文件所在目录 执行 oflash xxx.bin (xxx.bin 是指要烧写的那个

搭建linux下的DNW烧写环境(替代windows下的超级串口终端和DNW)

软件环境:ubuntu 13.10 硬件环境:TQ2440开发板 由于我的PC机操作系统是win8.1,不知何故死活装不上天嵌给的USB下载驱动,所以在PC下烧写开发板系统和裸机程序变得不可能,后来经过一番摸索,发现完全可以在linux下用minicom代替windows下的超级串口终端,用dnw2(linux版本)代替windows下的DNW,下面是具体的环境搭建过程: 搭建linux下的minicom串口通信环境: 1.1 下载并安装minicom,在终端输入命令:sudo apt-get

刚接触开发板之烧写裸板程序

使用串口操作开发板的前提是开发板上已经有烧好的程序,因此开发板在没有烧好程序时,应先烧写程序.方法有: 1.使用并口工具烧写:接线(参考百问网JZ2440V2开发板使用手册),使用oflash烧写(速度比较慢),可烧写.bin文件,从新上电观察效果.可烧写u_boot. 2.使用openJTAG烧写,接线,使用oflash烧写(oflash烧写完后,会复位开发板). 3.使用Jlink烧写,请看如何烧写S3C2440裸板程序:JLink只支持烧写Nor Flash,不支持Nand Flash.要

arm下如何烧写指定分区大小的内核和文件系统

最近在海思3518e平台下烧写内核和文件系统,由于项目需要,需要运行海思SDK中的测试软件HiIspTool,不能使用精简后的文件系统,需要刷一个比较大的文件系统,但在此过程中由于各种原因,弄坏了一个板子,烧坏了一个uboot,由于要卸下SPI NOR FLASH,重新烧写实在太过麻烦,放弃了该板子.在此过程中走了些弯路,在此记录下主要过程和注意事项,希望能够提醒自己和刚如何这方面的新手,共勉! 1.板子上电时按住ctrl+c进入uboot模式 2.设置UBOOT模式的板子的IP和PC服务端的I

将Windows MyEclipse的web项目移植到Debian下

用windows先的MyEclipse很方便,但是要把MyEclipse的web项目移植到Debian下,稍微有一点麻烦.当然,如果是ubuntu的话,直接装MyEclipse就可以了.这里只将针对于无图形界面的Debian的移植过程. 1.配环境(jdk+apache+tomcat+mysql)(当然,不需要数据库的就用配了) 2.把原来的项目移植到Linux下. 主要分为以上两个部分讲述. ========================= 1.1 jdk 我下载的是jdk.tar.gz包,