芯达STM32入门系列教程之三《如何使用J-Flash调试》

合集下载

J-Flash烧写hex(bin)文件资料到STM32F205RG芯片地设置方法与步骤

J-Flash烧写hex(bin)文件资料到STM32F205RG芯片地设置方法与步骤

1、在桌面找到图标点击打开如图界面
2、点击菜单栏上的options,再点击“Project settings…”,进行烧写前的必要设置,如下图:
(1)在“General”页,选择“USB”,如下图:
(2)在“Target Interface”页,选择“JTAG”,JTAG速度设置为“Auto selection”,如下图
(3)在“CPU”页,选择开发板的CPU型号:ST STM32F205RG,如下图:
(4)“FLASH”页不用设置,默认设置就可以了。

(5)在“Production”页,我们把“Start application”选上,则在下载成功之
后,程序会自动运行。

(6)在设置完成后,我们点击“应用”和“确定”退出。

在JLINK软件界面左边,将显示烧写信息,如下图:
3、点击“Target”后,再点击“Connect”,开始连接:
连接成功会有提示信息,如下边的状态拦:
如图:
5、加载完成后,点击“Target”点击“Auto”进行烧录:
6、烧写成功!如下图:
点击确定,完成程序烧写!。

STM32 FLASH操作

STM32 FLASH操作

STM32 flash操作对芯片内部flash进行操作的函数,包括读取,状态,擦除,写入等等,可以允许程序去操作flash上的数据。

一、存储器映射1、统一编址,程序存储器、数据存储器、外设寄存器组织在一个4GB 的地址空间。

2、小端格式3、映像(stm32f107,256KB产品)可以看到,所谓的256KB闪存,是指主存储,片上FLASH如下图所示:介绍了片上的资源后,来看他们的地址映像。

芯片将4GB的空间,划分为8个512MB的块(block),这些块有些是整块不用的,芯片对地址的安排可以参考数据手册,memory mapping章节中的那个图。

只有block1、2、3、7是使用的。

地址中block7是核内的外设对应的地址,block2是其他外设对应的地址。

block1的低地址64KB是片上SRAM,block0则如下图option bytes即是选项字节;system memory就是系统存储,也即片上ROM;这两部分就是所谓信息块。

Flash就是指主存储,有256KB。

再往下看alias to flash or system memory.....这个区域256KB就是启动开始的区域。

这个区域并没有一个自己的存储器,只是根据BOOT0、BOOT1的接法来选择哪个存储器映射到这个地址上。

如下图选择用户闪存启动,是典型的做法;选择系统存储器,则在ST烧写进去的自举程序引导下,通过USART1下载程序;选择从SRAM执行代码则方便调试,比较快。

二、复位CM3将复位视作异常,优先级最高的异常。

stm32f1有三种复位:系统复位、电源复位、备份区复位。

前两种是真正的复位,对他的响应由硬件完成,这个响应对软件流的影响是这样的:程序指针指向0x0000 0004,这个单元存储的是复位服务子程序(或者汇编叫子过程),同时从0x0000 0000获取堆栈顶的地址。

不同的复位类型还有对其他寄存的不同复位方式,这就完成了复位。

J-Flash烧写STM32F103RET6芯片的设置方法与步骤

J-Flash烧写STM32F103RET6芯片的设置方法与步骤
烧写成功!如下图:
点击确定,完成程序烧写!
作者:查海宁
1在桌面找到图标点击打开如图界面2点击菜单栏上的options再点击projectsettings?进行烧写前的必要设置如下图
1、在桌面找到图标 点击打开如图界面
2、点击菜单栏上的options,再点击“Project settings…”,进行烧写前的必要设置,如下图:
在“General”页,选择“USB”,如下图:
在“Target Interface”页,选择“JTAG”,JTAG速度设置为“Auto selection”,如下图
在“CPU”页,选择开发板的CPU型号:ST STM32F103RE,如下图:
“FLASH”页不用设置,默认设置就可以了。
在“Production”页,我源自把“Start application”选上,则在下载成功之后,程序会自动运行。
在设置完成后,我们点击“应用”和“确定”退出。在JLINK软件界面左边,将显示烧写
信息,如下图:
点击“Target”后,再点击“Connect”,开始连接:
连接成功会有提示信息,如下边的状态拦:
接着,点击“File”,点击“opendata file...”打开烧录的HEX文件,如图:
加载完成后,点击“Target”点击“Auto”进行烧录:

STM32的FLASH操作

STM32的FLASH操作

关于STM32的FLASH操作说到STM32的FLSAH,我们的第一反应是用来装程序的,实际上,STM32的片内FLASH不仅用来装程序,还用来装芯片配置、芯片ID、自举程序等等。

当然,FLASH还可以用来装数据。

FLASH分类根据用途,STM32片内的FLASH分成两部分:主存储块、信息块。

主存储块用于存储程序,我们写的程序一般存储在这里。

信息块又分成两部分:系统存储器、选项字节。

系统存储器存储用于存放在系统存储器自举模式下的启动程序(BootLoader),当使用ISP方式加载程序时,就是由这个程序执行。

这个区域由芯片厂写入BootLoader,然后锁死,用户是无法改变这个区域的。

选项字节存储芯片的配置信息及对主存储块的保护信息。

FLASH的页面STM32的FLASH主存储块按页组织,有的产品每页1KB,有的产品每页2KB。

页面典型的用途就是用于按页擦除FLASH。

从这点来看,页面有点像通用FLASH的扇区。

STM32产品的分类STM32根据FLASH主存储块容量、页面的不同,系统存储器的不同,分为小容量、中容量、大容量、互联型,共四类产品。

小容量产品主存储块1-32KB,每页1KB。

系统存储器2KB。

中容量产品主存储块64-128KB,每页1KB。

系统存储器2KB。

大容量产品主存储块256KB以上,每页2KB。

系统存储器2KB。

互联型产品主存储块256KB以上,每页2KB。

系统存储器18KB。

对于具体一个产品属于哪类,可以查数据手册,或根据以下简单的规则进行区分:STM32F101xx、STM32F102xx 、STM32F103xx产品,根据其主存储块容量,一定是小容量、中容量、大容量产品中的一种,STM32F105xx、STM32F107xx 是互联型产品。

互联型产品与其它三类的不同之处就是BootLoader的不同,小中大容量产品的BootLoader只有2KB,只能通过USART1进行ISP,而互联型产品的BootLoader 有18KB,能通过USAT1、4、CAN等多种方式进行ISP。

STM32RVMDKJLINK下flash和RAM调试方法

STM32RVMDKJLINK下flash和RAM调试方法

STM32RVMDKJLINK下flash和RAM调试方法stm32f107vc开发板,uvision V4.00u,JLINK V8,J-Link ARM V4.08l。

flash 下调试方法:1.打开要调试的工程,左栏工程上右击options for target。

进入debug中选择jlink.2. utility中选择jlink.3. 用JLINK连接PC和开发板,打开开发板电源。

进入旁边的settings,添加flash烧写方法。

4。

一路OK回去,rebuild,ctrl+F5进入调试,可以单步和断点。

根据ST公司的reference manual 2.3.3 embedded flash,知道flash 的地址从0x0800 0000开始。

在调试窗口中看到汇编的地址为0x0800开头,说明代码段烧进了flash。

SRAM下调试方法:1. 将Keil安装目录下D:/Keil/ARM/Boards/Keil/MCBSTM32/STLIB_Blinky的ram.ini拷贝到需要调试的工程目录下,并把需要载入的文件改为需调试工程AXF 文件的位置和名称,此处工程为GPIO。

2. 根据reference manual 2.3.1,SRAM的起始地址为0x2000 0000。

要将代码段放入SRAM中,必须设置程序只读段从SRAM起始位置开始,一定长度(此处设置为0X4000)后,数据段RAM开始。

注意两端的长度不能超过SRAM的总大小。

3. 同flash下调试的步骤1和2,选择jlink。

4. 在debug页下添加ram.ini。

5. 选择不要擦除flash,修改代码段和数据段的位置和大小。

6. 一路OK,rebuild,ctrl+F5进入调试。

可以单步,step in和断点。

看汇编代码的位置,以0x2000开头,说明程序运行在SRAM 中。

另外,查看工程目录下的.sct文件,如下。

LR_IROM1 0x20000000 0x00004000 { ; load region size_regionER_IROM1 0x20000000 0x00004000 { ; load address = execution address*.o (RESET, +First)*(InRoot$$Sections).ANY (+RO)}RW_IRAM1 0x20004000 0x00004000 { ; RW data .ANY (+RW +ZI)}}说明的确已经把程序配置到SRAM空间。

jflsh用法

jflsh用法

jflsh用法
J-Flash是一款ARM的编程工具,主要用于对ARM微控制器进行编程和调试。

它提供
了一个集成开发环境(IDE),支持多种ARM系列的处理器和编程语言。

J-Flash的使用方法如下:
1. 打开J-Flash软件,选择要烧录的芯片型号,例如STM32F1。

2. 在软件界面中,点击“File”菜单,选择“Open data file...”,然后选择要烧录的
可执行文件(.hex或.bin)。

3. 在选项菜单中,配置CPU型号、下载方式等参数。

4. 连接目标硬件,确保硬件正确连接。

5. 在软件界面中,点击“Target”菜单,选择“Connect”,如果连接成功,会在LOG 窗口最后一行显示“Connected successfully”。

6. 如果需要擦除芯片,可以点击“Target”菜单,选择“Erase Chip”执行芯片全擦除操作。

7. 点击“Target”菜单,选择“Production Programming”开始烧录选中的hex文件。

8. 烧录完成后,断开连接,烧录成功。

需要注意的是,使用J-Flash进行编程和调试时,需要先安装相应的驱动程序和调试器,并且需要了解目标硬件的详细信息和编程语言的基本知识。

3-J-Flash烧写Hex使用说明

3-J-Flash烧写Hex使用说明

J-Flash烧写Hex使用说明1.1 打开烧写软件使用软件进行烧写HEX文件,没有的话可以安装这个软件,软件目录如下:...\智能嵌入式系统应用创新实训平台-刻盘资料\04-环境搭建\STM32环境搭建\JLINK\J-Link烧写软件\Setup_JLinkARM_V478j。

软件安装请参考附录I。

安装完成之后在开始菜单栏中选择-> 所有程序-> SEGGER -> JLinkARM_V478j-> J-Flash软件,点击打开,如果已有工程直接点击打开之前的工程如图1.1.1所示:图1.1.1 打开J-Flash工程如果没有使用过这个软件,则可以参考官方提供的参考文件打开,参考图1.1.2中顺序,添加文件,注意我们使用的是ST公司单片机,所以路径需要进到子目录“ST”下,选择相应型号的.Jflash文件这里以STM32F103VC系列为例:如图1.1.2所示:图1.1.2 打开官方提供的工程文件点击“打开”,完成文件添加,点击“Start J-Flash”,在弹出的保存界面中直接点击“保存”即可,如图1.1.3所示。

图1.1.3 保存文件1.2 打开烧写文件使用J-Link仿真器20P连接线连接到JTAG-SWD转接板上,同时使用6P 排线连接到目标板“SWD”接口上。

打开烧写软件,加载烧写文件(菜单栏File -> Open Data File),在这里以通讯显示板为例,文件位于:..\智能嵌入式系统应用创新实训平台-刻盘资料\05-底层参考代码\3-小车通讯显示板HEX。

请以最新日期为准。

如图1.2.1所示:图1.2.1 加载烧写hex文件1.3 执行烧写文件软件打开连接到目标板(菜单栏Target ->Connect),如图1.3.1所示。

当正确连接时,“Connect”为灰色不可操作,而“Disconnect”则可以操作。

如图1.3.2所示。

图1.3.1 连接控制板图1.3.2 连接成功擦除芯片内存(Target -> Erase chip),如图1.3.3所示。

STM32调试方法

STM32调试方法

1 软件调试 (1)2 硬件调试 (2)FLASH 调试(0x08000000) (3)SRAM 调试(0x20000000) (8)1 软件调试1.单击菜单Project----Option for Target‘STM32_template’(修改工程的Option 属性)Target选项C/C++选项Debug选项(软件调试)2 硬件调试本文以STM32F103RC芯片为例,根据STM32F103RC Datasheet可知芯片的片内FLASH 基址为0x08000000,大小为256K(0x40000);片内RAM基址为0x20000000,大小为48K (0xc000)。

芯片启动模式如下:芯片的启动模式需要根据你程序下载的具体地址进行正确设置这里主要介绍两种硬件调试方法FLASH调试(程序下载到FLASH中,0x08000000)SRAM调试(程序下载到SRAM中,0x20000000)FLASH 调试(0x08000000)用JLink 连接好电脑跟实验箱,实验箱BOOT0接0(短路帽接上面两个引脚)�FLASH调试的参数设置1)单击菜单Project----Option for Target‘STM32_template’(修改工程的Option 属性)前面的选项跟软件调试设置一样,对下列选项进行配置:Debug 选项,选择调试工具选择“Settings”,见下图进入“Cortex JLink/JTrace Target Driver Setup”Debug 选项(默认)Trace选项(默认)Flash Download选项配置如下,点击“Add”选好之后,点击“Add”返回点击“OK”返回。

Utilities选项☒编译1.点击Project----> rebuild target files☒启动调试1.点击Debug ---> Start Debug 整个调试界面图,在调试窗口中可看到汇编代码的地址为0x0800开头,说明代码烧进到了FLASH中:点击全速运行,观察实验结果,调试完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

STM32入门系列教程如何使用J-Flash调试
Revision0.01
(2010-04-12)
对初学者来说,要进行STM32的程序下载调试,一般有三种方法:
(1)使用SEGGER J-Flash(J-Link)下载程序到闪存中运行;
(2)使用串口ISP来下载HEX文件到CPU中运行;
(3)J-Link+MDK组合,来在线调试程序(可下载、调试)。

本文档讲述如何在芯达STM32开发板上使用SEGGER J-Flash下载HEX文件。

而其他两种方法,我们将在文档《如何使用MDK+J-Link调试》、以及《如何使用STM32-ISP下载调试》中详细说明。

先来解释SEGGER。

实际上,大家更为熟悉的ARM仿真器J-Link,就是由SEGGER公司开发的。

J-Link是SEGGER为支持仿真ARM内核芯片推出的JTAG 仿真器。

不管什么CPU的仿真器,都需要安装其相应的驱动后才能使用。

J-Link也不例外,它的驱动软件可以去官方网站:下载最新版本。

这里使用的驱动软件版本是V4.08l,该驱动的安装非常简单,请参考文档《如何安装J-Link驱动软件》。

安装完毕,会出现如下两个图标:
现在开始我们的工作吧!
步骤一先进行设备连接操作。

芯达STM开发板的JTAG口(开发板面朝上,最顶端有一个JTAG20pin的插口),与J-Link V8仿真器的输出排线连接,J-Link另一头的USB插口则插在电脑的USB口上。

这时,J-Link的指示灯开始闪烁,并保持“点亮”的状态。

注意:大家购买J-Link仿真器的时候,JTAG接口要求是标准的20pin的2.54间距的针座。

否则需要转接卡进行JTAG接口的转换。

步骤二进入PC的桌面,点击上图左边的图标:J-Flash ARM V4.081,出现如下界面:
步骤三我们先来进行project设置,保存后会自动识别该配置。

不进行project设置,则在后续步骤进行连接connect开发板的时候,会提示找不到flash 设备下载,导致无法连接,如下所示:
点击“Options”,再点击“Project settings”,如下图所示:
步骤四在弹出的窗口中进行设置。

由于市面上大多数的J-Link仿真器都采用USB接口,因此需要检查“General”选项卡,是否已选中USB,如下图所示:
步骤五点击“CPU”选项卡,在左边“Device”选中,并在下拉菜单中选择CPU为ST STM32F103VE,其他参数默认,如下图所示:
步骤六点击“Flash”选项卡,如下图所示,查看现在基址是否为08000000,然后点击确定。

步骤七现在回到主窗口,发现信息已经更改如下,红色框中部分:
步骤八如果想保存下刚才的配置,可以点击“File”—>“Save as…”实际上,不需要保存。

笔者做了实验,下次启动J-Flash后,默认就是上次的配
置。

现在打开一个需要下载的HEX文件。

在“File”中,点击“Open”,会跳出如下对话框,选择一个HEX文件。

注意,在芯达STM32开发板的例程文件夹中,均有编译好的HEX文件,可以选择一个。

笔者在这里选择了GPIO-LED例程的HEX文件,然后点击打开。

现在您看到的窗口如下,在窗口的右边,有一大堆十六进制的代码,这就是HEX文件的十六进制表示了。

步骤九现在让J-Link仿真器连接到目标板。

点击主窗口中的“Target”,
点击“connect”,软件就会进行连接,如下图所示:
大约1秒钟后,连接成功,在窗口下方提示connect successfully,如下信息:
步骤十下载代码到目标板。

点击“Target–>auto”,即可把刚才的HEX 文件下载到目标板中。

期间会显示下载的进度,最后提示:
OK,这就表明我们使用J-Link下载成功啦~现在关掉芯达STM32开发板的电源,重新上电。

LED在有次序地闪烁——表明刚才的LED的例程编译文件HEX已经烧写到CPU中正确运行。

以上讲述的就是如何使用J-Link烧写一个HEX文件。

感谢大家查阅本文档,如果您还有不理解的地方,请直接到我们的官方网站:ARM技术交流网,进行讨论。

我们将会尽快给您做出答复。

附:
福州芯达工作室简介
福州芯达工作室成立于2009年9月,我们专注于嵌入式产品的研发与推广,目前芯达产品涉及ARM9系列、STM32系列。

芯达团队成员均硕士研究生毕业,具有一定研发实力。

我们的愿景在于把福州芯达打造成国内一流的嵌入式品牌。

或许我们现在做的还不够,但是我们真的努力在做,希望通过我们的努力,能够在您学习和使用芯达产品的过程中带来或多或少的帮助。

这是芯达为了配合STM32开发板而推出的入门系列教程。

如果您在看了我们的教程后,理清了思路,我们都会倍感欣慰!让我们一起学习,共同进步,在征服嵌入式领域的道路上风雨同行!
官方网站:/
官方淘宝:/。

相关文档
最新文档