文件名称:
USB DFU IAP例程移植的两个话题.pdf
开发工具:
文件大小: 272kb
下载次数: 0
上传时间: 2019-09-14
详细说明:USB DFU IAP例程移植的两个话题life. augmented
#define USBD DFU APP END ADD
0X0802FF80/* Start address of latest
flash page: ADDR FLASH PAGE- 1535 *
和
定义了用户代码空间的开始页和结東页。从这可以看出,
用户代码是从
开始的,也就是第页,而结束于第页
从第页到第页共
页,每页
。客户使用的是
,总共才页。显然,这里对
的定义并不对,需要修改为第页的地址。
3.问题解决
将
中的
修改为第页的地址
tdefine USBD DFU APP END ADD
0x0801FF80/* Start address of latest
flash page: ADDR FLASH PAGE 1023 */
问题解决,
可以下载代码了。可是别急,这样就已经修改好了吗?再来看第二个话题。
问题二
在问题的解决过程中,有没有注意到
界面中显示
?这明显不对,来看看怎么修改。
调研
1.了解问题
在
界面中,双击“
”,可以看到
的详细管息,如下:
Mapping
ecto
tar凸ddre
R
Erasable
1150x]E0039
FF
128b
cor1150]E0030p0037F
128b
Sector 117 Ox JE003480 Ox08003AFF 128 b
tor 1
T128b
Sector 119
0x]E003B8
BEFF 128 b
hector 120 OKJ2003C00 0x08003C7F
128b
n AnnAN
Ik卫E03D
128b
0]E003
Note for Type: [RleadaDle [Writeable, E]rasatle
2.问题分析
从上图可以了解到,实际上这里所定义的
的大小为
也就是
的
所以这里的
定义
的参考手册定义的
是不一样的,不要造成误解。在
中,每
为个
才是个
。所以不要误会就行了。在这个
窗口中,也可以看到地址
之前的空间为
,也就是
所处的空间为只读,以避免对这部分代码的重写。而后面的空间,也就是用户代码所处的空间为
这些信息是从哪里来的呢?其实它来自于
里边定义的描述符
,如下:
lefine FlASH DESC str
" Interna1F1ash/0×8000000/120*128a,1416*128g"
来解释下这个描述符的内容
life. augmented
为起始地址。“”代表的是
“”代表
也就是说
所指明的区域为
的空间,“”所指明的区别为用户代码空间。大小由前面的数字决定,乘号“*”前面的为的个数,后面
的为
的大小,这里的意思就是从
开始,前面个
(每个
为字节)为
后
面个
(每个
为字节)为
举另外一个例子,在
下的
是这样定义的
tdefine FLASH DESC str
Internal Flash /0x08000000/28 *01Ka, 36*01Kg
它的意思就是前面个
(每个
为)为
,后面个
(每个
。因为在这个例子中,用户代码起始地址为
在
的界面中,你也将看到只有
个
,双击打开后能看到每个
搞明白这个事,就知道如何去修改这个描述符
让它符合
的大小了
3.问题解决
有页,每页宇节,所以需要修改描述符
定义如下
#define FLASH DESC STR
Internal Flash /0x08000000/120*128Ba,904* 128Bg
附加话题
如果用户代码空间的定义还是这样的
+de fine USBD DEU APP DEFAULT ADD
0x08003C00/* Start user code address
ADDR FLASH PAGE 120 +
#define USBD DFU ApP ENd add
0x0801FF80/ Start address of latest
flash page: ADDR FLASH PAGE 1023 */
但是描述符
的定义修改为
#define FLASH DESC STR
Internal Flash /0x08000000/28*01Ka, 100*01Kg
那会发生什么情况呢?
将
程序编译后烧写到
中,然后使用接口进行连接,打开
。首先,可以看到界面中
显示的就是
,双击打开,每个
大小为
life. augmented
FusE Derro(v3,0
Aydilalle dfU devey
STM
Manifestation tolerant verda? or
DF凵Mace
□ ccelerated Upload(ST) Procuct ID
ProcuctID:DF11
F Can Detach
Version 0200
Enter D=U mode /HID detach Leave [FU m3c
Select Target分
Target Id Name
ailable sectors (Double Click. lor more)
Internal Fla
4128c:78
Mapping
start Addres上 d addre
torm0×gmrm
x08000EFF 1Kb
JHuuu40 UxUbUUU/hH『1kb
Sector 002 0x08000800 0x08000EFF1 Kb
x OB000I
Ox0B000FFF 1 Kb
01FF1
00800140008080017FF1Kb
ector 006 0x08001800 0xD8001EFF1Nb
ON0s012000
nx08007-FF
Note for Type: []eadable, []rateable. [Cjrasatle
接下来,来烧写一个用户代码,从
地址开始的。在时,就会弹出错误的对话框
Dfu edEma
Malchiny nut youd FirsL DiffeieniLe dl addre== 0x0800=C00
File byte is
Read byte is 0x00.
OK
验证在
的地址就已经发生了错误:烧录文件该地址的数据为,但是读回来的是
这就是因为我们把
描述符
错误地定义成了前面
为
,也就是从
开始才是可读可写可擦除的。
所以,在
之前的空间是不可擦除和与入的,也就导致了这样的情况
这个附加话题也只是为了强调这个描述符
的重要性
结论
使用
参考例程进行移植的时候,
的空间以及用户代码的空间的定义全部都需要根据具体的
型号进行修改。
life. augmented
重要通知-请仔细阅读
意法半导体公司及其子公司(“ST”)保留随时对ST产品和/或本文档进行变更、更正、增强、修改和改进的权利,恕不另行通知。买方在
订货之前应获取关于ST产品的最新信息。ST产品的销售依照订单确认时的相关S?销售条款。
买方自行负责对ST产品的选择和使用,ST概不意担与应用协助或买方产品设计相关的任何责任
不对任何知识产权进行任何明示或默示的授权或许可
转售的ST产品如有不同于此处提供的信息的规定,将导致ST针对该产品授予的任何保证失效
ST和ST徽标是ST的商标。所有其他产品或服务名称均为其各自所有者的财产。
木文档中的信息取代本文档所有早期版木中提供的信息
g2015 STM croelectronics-保留所有权利
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.