星光电子技术


首页 -- STC单片机解密-- STC芯片解密-- STC单片机开发-- STC单片机资料 --关于我们
 

使用STVP 实现对STM32L1 系列EEPROM预置数据

问题:
某客户工程师在其产品的设计中,使用了STM32L152RBT6。该工程师打算在烧写程序之前,往
STM32L100 里边的EEPROM 预置一些数据,没想到什么好的办法。他在网上搜了一下其他人的做法,发
现大家基本上都是使用程序代码的方式,在第一次运行程序的时候,使用程序对EEPROM 进行编程达到
预置的目的。他觉得这不是最适合他的方法,于是请教是否还有其他更方便的方法。
调研:
1. 根据客户的要求,第一反应就是看看 ST 的专业烧写软件STVP 是否可以实现。于是连接STM32LDiscovery
板子,将STVP 软件打开。
2. 选择菜单“Configure→Configure ST Visual Programmer”,在弹出的对话框选择工具ST-LINK,
SWD 接口,STM32L152RBT6。如下图,点击“OK”,完成工具配置。
我们可以看到数据窗口包括三个部分,一是PROGRAM MEMORY,二是DATA MEMORY,三是OPTION
BYTE。其中的DATA MEMORY 就是EEPROM 区域。我们知道STM32L152RBT6 总共有4KB 的EEPROM,地
址从0x08080000 到0x08080FFF。
4. 我们往 DATA MEMORY 填入我们打算预置的数据,由于我们这里只是测试,于是分别在
0x08080000~0x0808000F 和0x08080FF0~0x08080FFF 填入一些数据,以供测试。

5. 然后选择菜单“File→Save As”,将其保存为.hex 文件,比如EEPROM.hex,这样完成预置数据的
Hex 文件。
6. 为了确认文件可用,我们先将 STVP 关闭。
7. 我们再打开 STVP,确认配置没有问题后,在数据窗口区选择DATA MEMORY,然后选择菜单“File→
Open”打开刚才保存的EEPROM.hex,可以看到我们预置的数据显示在了DATA MEMORY 窗口数据区。
8. 这个时候,我们选择“Program→Current tab”或者选择工具栏上的“Program current tab or
active sectors”按钮进行编程下载:
9. 编程完成后,我们可以在下方的信息输出区看到如此信息:
10. 不放心,决定关掉 STVP,再重新打开,在数据窗口区选择DATA MEMORY,选择“Read→Current
tab”,读取完成后,我们可以看到从芯片中读回的数据,确实没错。结论:
STVP 软件工具可以用来实现对STM32L1 系列的EEPROM 的数据进行预置。
处理:
当客户的工程师进行研发的时候,可以使用步骤1~5 来实现对预置的数据生成.hex 文件,并交予负责
烧录的人员。负责烧录的人员在进行烧录的时候,只需要按照步骤7~9 就可以实现对EEPROM 进行数据
预置了。
建议:
在制作过程中,在进行数据的操作时,要特别注意选择 DATA MEMORY,不要搞错。另外,当需要对
PROGRAM MEMORY 和DATA MEMORY 同时进行烧写的时候,可以先制作EEPROM 数据的.hex 文件,然后在
DATA MEMORY 区打开此EEPROM 数据.hex 文件,然后再在PROGRAM MEMORY 区再打开用户程序代码.hex
文件,在OPTION BYTE 区设置好Option Byte,使用“Program→All tabs”对芯片进行烧录。

返回顶部


2013-2015 星光电子技术 All Rights Reserved.
如有任何问题和建议请联系:498187676@qq.com

深圳市星光芯电子有限公司 版权所有

电话:0755-83987315 QQ: 498187676 地址:深圳市龙岗区南湾街道平吉大道1号建昇大厦B栋1618(李朗软件园对面)
手机:13713820066 联系人:周工

 


站点地图

粤ICP备12084176号