2019-04-17

【小记】

  APP的IAR工程中的中断向量表偏移是在系统库中的 __iar_program_start 处实现的

  启动代码 stm32f769xx.s

 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 2 ;;
 3 ;; Default interrupt handlers.
 4 ;;
 5         THUMB
 6         PUBWEAK Reset_Handler
 7         SECTION .text:CODE:NOROOT:REORDER(2)
 8 Reset_Handler
 9
10         LDR     R0, =SystemInit
11         BLX     R0
12         LDR     R0, =__iar_program_start
13         BX      R0
14
15         PUBWEAK NMI_Handler
16         SECTION .text:CODE:NOROOT:REORDER(1)

  经调试看到 __iar_program_start 的反汇编

 1 Reset_Handler:
 2     0x80385d0: 0x4801         LDR.N     R0, [PC, #0x4]          ; SystemInit
 3         BLX     R0
 4     0x80385d2: 0x4780         BLX       R0
 5         LDR     R0, =__iar_program_start
 6     0x80385d4: 0x4801         LDR.N     R0, [PC, #0x4]          ; __iar_program_start
 7         BX      R0
 8     0x80385d6: 0x4700         BX        R0
 9         SECTION .text:CODE:NOROOT:REORDER(1)
10     0x80385d8: 0x0802586d     DC32      SystemInit
11         SECTION .text:CODE:NOROOT:REORDER(1)
12     0x80385dc: 0x080385f9     DC32      __iar_program_start
13     0x80385e0: 0x70636573     DC32      0x70636573 (1885562227)
14     0x80385e4: 0x72363532     DC32      0x72363532 (1916155186)
15     0x80385e8: 0x00000031     DC32      0x31 (49)
16     0x80385ec: 0x72617453     DC32      0x72617453 (1918989395)
17     0x80385f0: 0x00000074     DC32      0x74 (116)
18     0x80385f4: 0x00544f49     DC32      0x544f49 (5525321)
19 __iar_program_start:
20     0x80385f8: 0xf3af 0x8000  NOP.W
21     0x80385fc: 0xf7ff 0xff90  BL        __iar_init_vfp          ; 0x8038520
22     0x8038600: 0xf7ff 0xffb0  BL        ?main                   ; 0x8038564
23 APBPrescTable:
24     0x8038604: 0x00000000     DC32      0x0 (0)
25     0x8038608: 0x04030201     DC32      0x4030201 (67305985)
26     0x803860c: 0x002e0000     DC32      0x2e0000 (3014656)
27     0x8038610: 0x0043         DC16      67                      ; 'C.'
28         B WWDG_IRQHandler

 1 __iar_init_vfp:
 2     0x8038520: 0xf64e 0x5188  MOVW      R1, #60808              ; 0xed88
 3     0x8038524: 0xf2ce 0x0100  MOVT      R1, #57344              ; 0xe000
 4     0x8038528: 0x6808         LDR       R0, [R1]
 5     0x803852a: 0xf440 0x0070  ORR.W     R0, R0, #15728640       ; 0xf00000
 6     0x803852e: 0x6008         STR       R0, [R1]
 7     0x8038530: 0xf3bf 0x8f4f  DSB
 8     0x8038534: 0xf3bf 0x8f6f  ISB
 9     0x8038538: 0xf04f 0x7000  MOV.W     R0, #33554432           ; 0x2000000
10     0x803853c: 0xeee1 0x0a10  VMSR      FPSCR, R0
11     0x8038540: 0x4770         BX        LR
12     0x8038542: 0x0000         MOVS      R0, R0
13 Region$$Table$$Base:
14     0x8038544: 0xfffdb3e7     DC32      0xfffdb3e7 (-150553)
15     0x8038548: 0x000220dc     DC32      0x220dc (139484)
16     0x803854c: 0x20000204     DC32      xStart
17     0x8038550: 0x00000000     DC32      0x0 (0)
18     0x8038554: 0xfffdb2b7     DC32      0xfffdb2b7 (-150857)
19     0x8038558: 0x00000262     DC32      0x262 (610)
20     0x803855c: 0x000001a2     DC32      0x1a2 (418)
21     0x8038560: 0x20000000     DC32      global_hooks
22 ?main:
23 Region$$Table$$Limit:
24 __cmain:
25     0x8038564: 0xf000 0xf80d  BL        __low_level_init        ; 0x8038582
26     0x8038568: 0x2800         CMP       R0, #0
27     0x803856a: 0xd001         BEQ.N     _call_main              ; 0x8038570
28     0x803856c: 0xf7ff 0xffb2  BL        __iar_data_init3        ; 0x80384d4

转载于:https://www.cnblogs.com/skullboyer/p/10724151.html

学习STM32F769DK-OTA例程之APP中断向量表重映射相关推荐

  1. STM32F0芯片IAP实现之中断向量表重映射(没有中断向量表偏移寄存器SCB->VTOR的应对方法)

    问题背景 项目使用STM32F030,需要通过IAP进行固件升级,在FLASH里面要烧录两份代码:一个Boot loader,一个用户应用程序APP.在开发应用程序APP时,外设中断不能正确响应进到对 ...

  2. OpenCV学习笔记(十四):重映射:remap( )

    OpenCV学习笔记(十四):重映射:remap( ) 图像的坐标映射是通过原图像与目标图像之间建立一种映射关系,这种映射关系有两种,一种是计算原图像任意像素在映射后图像的坐标位置,另一种是计算变换后 ...

  3. 《OpenCV3编程入门》学习笔记7 图像变换(三 )重映射

    7.3 重映射 7.3.1 概念 1.重映射是把图像中某位置的像素放置到另一图片指定位置的过程,通过重映射表达像素位置:                    g(x,y)=f(h(x,y))     ...

  4. 痞子衡嵌入式:利用i.MXRT1060,1010上新增的FlexSPI地址重映射(Remap)功能可安全OTA...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT部分型号上新增的FlexSPI Remap功能. OTA升级设计几乎是每个量产客户都绕不开的话题,产品发布后免不了要做固件( ...

  5. for根据ID去重_汽车ECU参数标定之配置Overlay RAM实现Qorivva MPC57xx系列MCU参数在线标定和代码重映射原理和方法详解...

    内容提要 引言 1. MPC5744P的Overlay RAM工作原理介绍 2 MPC5744P的Flash Overlay配置详解 2.1 平台Flash标定区域描述字寄存器配置字0--PFLASH ...

  6. Pr 时间重映射卡点

    哈喽,各位小伙伴!今天我们来学习一下如何通过用Pr时间重映射做出卡点的效果~ 卡点音乐 一首适合卡点(群青为例)的音乐可以帮助我们更好的掌握视频的节奏,卡点可以采用手动卡点,方法可以通过在峰值最高处标 ...

  7. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.5 Adding a raster layer...

    MapServer Tutorial--MapServer7.2.1教程学习--第一节用例实践:Example1.5 Adding a  raster layer 一.前言 MapServer不仅支持 ...

  8. [OpenCV] cv.remap() 重映射学习笔记/map1 map2易混点

    文章目录 一.背景 二.Notes (一)更新几个小例子方面理解remap 1. 利用remap 进行 copy 2.进行翻转 学习remap的时候发现map1和map2的参数跟我的直观理解略有差别, ...

  9. 微信小程序学习:(二)app.js及index.js详解

    微信小程序学习:(二)app.js及index.js详解 项目地址:https://github.com/leoricding/- 在用ide创建小程序项目时,系统默认为我们创建了一个hellowor ...

  10. stm32学习日记--重映射

    目录 前言 重映射 操作方法 代码 总结 前言 今天学习了重映射,故输出一篇学习日记去增强理解. 重映射 优点 1:把一个管脚的功能转移到另一个管脚上面,布线更简单. 优点 2:无缘无故增加了功能的数 ...

最新文章

  1. mysql-mybatis 8.0版本配置====解决could not create connection to database server.
  2. ASP.NET WebApi OWIN 实现 OAuth 2.0
  3. numpy库中的extend()函数使用
  4. Citrix WebInterface 配置向导
  5. SQL Server Management Studio清除历史登陆记录
  6. Java快速入门学习笔记3 | Java语言中的表达式与操作符
  7. php mysql_fetch_array 不要0_1_php – mysql_fetch_array不适用于1行查询结果
  8. lwip netbuf_ref: invalid buf“
  9. JavaSE: SuppressWarnings[转]
  10. 扫描枪取消回车二维码_如何使条码扫描枪录入完不自动回车呢-百度经验
  11. 汇编语言:协处理器浮点指令:FILD
  12. C语言计算抛硬币问题
  13. web应用防火墙的部署方式
  14. Java算法_优先队列和PriorityQueue——HDU 1873:看病要排队
  15. 同事间一些搞笑的事情
  16. Charles4.6.2版本手机抓包设置,抓包失败的解决方法详解
  17. 清理android桌面
  18. opencv中cvtcolor()函数用法总结(07)
  19. 1391 B(a).Fix You(规律+构造)
  20. 更新后的Hbuilder X 报错 error: cannot find module ‘open‘

热门文章

  1. “IT男等级”对照表|找找你在哪?
  2. R语言空间插值的几种方法及案例应用
  3. bzoj3714 [PA2014]Kuglarz
  4. JavaSE_集合_Deque
  5. sql server 日期时间操作
  6. 【Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏...
  7. 代码生成工具系列-----代码生成工具(CodeEasy)介绍
  8. 从输入URL到页面加载的全过程
  9. 输错密码?这个 sudo 会“嘲讽”你
  10. 绝对经典的滑轮新闻显示(javascript+css)