你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F072是否可以通过USB 接口更新程序

[复制链接]
aatt05 提问时间:2016-4-6 14:07 /
阅读主题, 点击返回1楼
收藏 评论16 发布时间:2016-4-6 14:07
16个回答
xmshao 回答时间:2016-4-9 16:05:40
STM32F0根其它系列在中断矢量表这个地方不一样

在你用户程序开始的地方先做矢量拷贝:
int main(void)
{
  uint32_t i = 0;

/* Relocate by software the vector table to the internal SRAM at 0x20000000 ***/  

  /* Copy the vector table from the Flash (mapped at the base of the application
     load address 0x08003000) to the base address of the SRAM at 0x20000000. */
  for(i = 0; i < 48; i++)
  {
    VectorTable = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2));
  }

  /* Enable the SYSCFG peripheral clock*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
  /* Remap SRAM at 0x00000000 */
  SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM);
xmshao 回答时间:2016-4-9 16:06:39
再就是APP代码的FLASH和SRAM的起始地址配置
aatt05 回答时间:2016-4-11 12:49:29
矢量拷贝的都有,因为我跑的是STM32F0x2_USB-FS-Device_Lib V1.0.0里面的DFU里面的demo code,但我现在是keil 5 重新配置了keil.布知道是否配置正确,还是说有什么地方还要配置的. 我的配置是下面图

DFU 代码配置

DFU 代码配置

DFU 代码配置

DFU 代码配置

DFU 代码配置

DFU 代码配置
aatt05 回答时间:2016-4-11 12:50:52
我app程序配置.

app配置

app配置

app配置

app配置

app配置

app配置
aatt05 回答时间:2016-4-11 12:55:33
app 空间配置那里irom size写0xd000也不行.我先是使用jlink下载DFU的usbd_dfu.uvprojx工程,然后再使用jlink在线调试binary_template.uvprojx.进入debug后,程序都会跑飞. 真不清楚是我配置问题还是我操作流程不对?DFU不是这样使用的? 这个问题困扰我好几天了...
7.png
aatt05 回答时间:2016-4-11 13:37:35
我试了下上电时通过boot0 pin进入boot区的DFU,然后下载用户程序可以.难道那个DFU的程序是应该烧录进system 的boot区域,而不是用户区域?也不对呀,那这样我用户区代码也没有加矢量也可以从system的boot DFU下载退出后也正常呀
GodMode 回答时间:2018-2-1 13:43:15
楼主,你的问题解决了吗?请问是如何解决的。我现在用的STM32F072,本身程序已经开发了USB CDC功能,即虚拟串口。请问如何在不影响缘由USB应用的基础上开发DFU的?
12

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版