您好,欢迎光临本网站![请登录][注册会员]  
文件名称: USB DFU IAP例程移植的两个话题.pdf
  所属分类: 其它
  开发工具:
  文件大小: 272kb
  下载次数: 0
  上传时间: 2019-09-14
  提 供 者: weixin_********
 详细说明: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最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: