OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5781|回复: 4

请教STM32L051做bootloader时的SCB->VTOR设置

[复制链接]

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3722
金钱
3722
注册时间
2011-5-23
在线时间
2013 小时
发表于 2017-1-11 14:46:23 | 显示全部楼层 |阅读模式
10金钱
之前了解到M0不支持通过SCB->VTOR来修改中断向量,
所以STM32L0提供了把SRAM映射到0地址的功能。

当使用bootloader功能时,把APP的中断向量复制到 0x20000000然后执行
  1.         // SYSCFG->SYSCFG_CFGR1.MEM_MODE = 11: SRAM mapped at 0x0000 0000.
  2.     memcpy((int *)0x20000000, (const int *)app_address, 256);
  3.         __HAL_RCC_SYSCFG_CLK_ENABLE();
  4.         __HAL_SYSCFG_REMAPMEMORY_SRAM();
复制代码


结果发现APP的中断还是进了bootloader中的。
无意间发现默认的 system_stm32l0xx.c 代码有配置 VTOR寄存器
于是
  1.     SCB->VTOR = 0x20000000; /* TODO: M0竟然也有VTOR? */
复制代码


然后APP的中断就正常了。

请问这是什么情况?


RT-Thread RTOS 音频,WIFI,蓝牙
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-11-5
在线时间
2 小时
发表于 2017-1-11 18:31:24 | 显示全部楼层
首先在m0是有VTOR的,再者你不跳过去怎么过去执行,它应该指的是0x80000000吧
QQ截图20170111182351.jpg
回复

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3722
金钱
3722
注册时间
2011-5-23
在线时间
2013 小时
 楼主| 发表于 2017-1-11 20:03:05 | 显示全部楼层
从arm.com下载 “Cortex™-M0 Devices Generic User Guide”
The vector table is fixed at address 0x00000000.



而 “Cortex™-M0+ Devices Generic User Guide”中有写可选VTOR,所以看来STM32L0是可以有VTOR的。
1.1.3 Cortex-M0+ processor features summary
• Thumb instruction set with Thumb-2 technology.
• High code density with 32-bit performance.
• Optional Unprivileged and Privileged mode execution.
• Tools and binary upwards compatible with Cortex-M processor family.
• Integrated ultra low-power sleep modes.
• Efficient code execution enabling slower processor clock or increased sleep time.
• Optional single-cycle 32-bit hardware multiplier.
• Zero jitter interrupt handling.
• Optional Memory Protection Unit (MPU) for safety-critical applications.
• Optional single-cycle I/O port.
• Optional Vector Table Offset Register (VTOR).
• Extensive debug capabilities.
RT-Thread RTOS 音频,WIFI,蓝牙
回复

使用道具 举报

5

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2017-10-31
在线时间
24 小时
发表于 2018-5-8 19:34:48 | 显示全部楼层
你好,我不知道能不能联系到你,看你好像SMT32用过KSZ8863,能不能给我个联系方式请教下,再弄不出来会被炒了,能不能帮帮我
回复

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3722
金钱
3722
注册时间
2011-5-23
在线时间
2013 小时
 楼主| 发表于 2018-5-8 21:01:13 | 显示全部楼层
ioremap 发表于 2018-5-8 19:34
你好,我不知道能不能联系到你,看你好像SMT32用过KSZ8863,能不能给我个联系方式请教下,再弄不出来会被炒 ...

没用过,有关注过,有问题可以公开发出来一起帮你分析下。
RT-Thread RTOS 音频,WIFI,蓝牙
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 02:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表