19842|24

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

如何跳转到stm32f的bootloader初探: [复制链接]

  1FFFF000  0200      LSLS         R0, R0#0x8
  1FFFF002  2000      MOVS         R0#0x0
  1FFFF004  F7491FFF  SBFX         PC, R9, #7, #32 ;Warning, UNPREDICTABLE instr
  1FFFF008  F01F1FFF  TST          PC, #0xFF00FF ;Warning, UNPREDICTABLE instr
  1FFFF00C  F0211FFF  BIC          PC, R1, #0xFF00FF ;Warning, UNPREDICTABLE instr
以上是手上芯片的BootLoader部分disassembler代码。
可以看出,0x1ffff000处就是一个小中断向量表。包含堆栈、主程序入口,NMI和HardFault的中断向量。
因此,以下代码就可以跳转到Bootloader:
  void (*pbootloaderEntry)(void) ;
  pbootloaderEntry=(void (*)(void)) (*((u32 *) 0x1ffff004));
  pbootloaderEntry();
当然,应该先初始化一下堆栈为0x1ffff000的值。最好用汇编来写。
测试过我的芯片,跳到0x1ffff748开始运行了。
此帖出自stm32/stm8论坛

最新回复

感谢楼主分享  详情 回复 发表于 2018-4-8 17:52
点赞 关注
 

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

板凳也坐了...

  1FFFF400  490F      LDR          R1, [PC,#0x03C]          ; [0x1FFFF440] =IWDG_KR (0x40003000)
  1FFFF402  F64A20AA  MOVW         R0, #0xAAAA
  1FFFF406  6008      STR          R0, [R1, #0]
  1FFFF408  F7FFFEEA  BL           0x1FFFF1E0
  1FFFF40C  4604      MOV          R4, R0
  1FFFF40E  F7FFFEE7  BL           0x1FFFF1E0
  1FFFF412  4060      EORS         R0, R0, R4
  1FFFF414  28FF      CMP          R0, #255
  1FFFF416  D000      BEQ          0x1FFFF41A
  1FFFF418  2455      MOVS         R4#0x55
  1FFFF41A  2C31      CMP          R4, #49
  1FFFF41C  D06F      BEQ          0x1FFFF4FE
  1FFFF41E  DC3E      BGT          0x1FFFF49E
  1FFFF420  2C02      CMP          R4, #2
  1FFFF422  E027      B            0x1FFFF474
  1FFFF424  3000      ADDS         R0, R0, #0x0
  1FFFF426  4001      ANDS         R1, R1, R0
  1FFFF428  0004      MOVS         R4, R0
  1FFFF42A  05FA      LSLS         R2, R7#0x17
  1FFFF42C  ED0CE000  UNDEFINED INSTRUCTION
  1FFFF430  2000      MOVS         R0#0x0
  1FFFF432  4002      ANDS         R2, R2, R0
  1FFFF434  0123      LSLS         R3, R4#0x4
  1FFFF436  4567      CMP          R7, R12
  1FFFF438  89AB      LDRH         R3, [R5, #12]
  1FFFF43A  CDEF      LDMIA        R5!, {R0,R1,R2,R3,R5,R6,R7}
  1FFFF43C  F8021FFF  STRB         R1, [R2, #0xFF]!
  1FFFF440  3000      ADDS         R0, R0, #0x0
  1FFFF442  4000      ANDS         R0, R0, R0
  1FFFF444  0800      LSRS         R0, R0#0x0
  1FFFF446  E000      B            0x1FFFF44A
  1FFFF448  1000      ASRS         R0, R0#0x0
  1FFFF44A  E000      B            0x1FFFF44E
  1FFFF44C  0B79      LSRS         R1, R7#0xD
  1FFFF44E  0020      MOVS         R0, R4
  1FFFF450  0201      LSLS         R1, R0#0x8
  1FFFF452  2111      MOVS         R1#0x11
  1FFFF454  4331      ORRS         R1, R1, R6
  1FFFF456  7363      STRB         R3, [R4, #13]
  1FFFF458  9282      STR          R2, [SP, #520]
  1FFFF45A  0079      LSLS         R1, R7#0x1
  1FFFF45C  1000      ASRS         R0, R0#0x0
  1FFFF45E  4002      ANDS         R2, R2, R0
  1FFFF460  0000      MOVS         R0, R0
  1FFFF464  0002      MOVS         R2, R0
  1FFFF466  0010      MOVS         R0, R2
  1FFFF468  44B4      ADD          R12, R12, R6
  1FFFF46A  4444      ADD          R4, R4, R8
  1FFFF46C  0000      MOVS         R0, R0
  1FFFF46E  4001      ANDS         R1, R1, R0
  1FFFF470  3804      SUBS         R0, R0, #0x4
  1FFFF472  4001      ANDS         R1, R1, R0
  1FFFF474  D02D      BEQ          0x1FFFF4D2
  1FFFF476  DC0D      BGT          0x1FFFF494
  1FFFF478  B314      CBZ          R4, 0x1FFFF4C0
  1FFFF47A  2C01      CMP          R4, #1
  1FFFF47C  D15F      BNE          0x1FFFF53E
  1FFFF47E  2079      MOVS         R0#0x79
  1FFFF480  F7FFFDD0  BL           0x1FFFF024
  1FFFF484  2020      MOVS         R0#0x20
  1FFFF486  F7FFFDCD  BL           0x1FFFF024
  1FFFF48A  2000      MOVS         R0#0x0
  1FFFF48C  F7FFFDCA  BL           0x1FFFF024
  1FFFF490  2000      MOVS         R0#0x0
  1FFFF492  E02E      B            0x1FFFF4F2
  1FFFF494  2C11      CMP          R4, #17
  1FFFF496  D033      BEQ          0x1FFFF500
  1FFFF498  2C21      CMP          R4, #33
  1FFFF49A  D052      BEQ          0x1FFFF542
  1FFFF49C  E04F      B            0x1FFFF53E
  1FFFF49E  2C73      CMP          R4, #115
  1FFFF4A0  D06F      BEQ          0x1FFFF582
  1FFFF4A2  DC08      BGT          0x1FFFF4B6
  1FFFF4A4  2C43      CMP          R4, #67
  1FFFF4A6  D06D      BEQ          0x1FFFF584
  1FFFF4A8  2C63      CMP          R4, #99
  1FFFF4AA  D148      BNE          0x1FFFF53E
  1FFFF4AC  F7FFFE40  BL           0x1FFFF130
  1FFFF4B0  2801      CMP          R0, #1
  1FFFF4B2  D168      BNE          0x1FFFF586
  1FFFF4B4  E043      B            0x1FFFF53E
  1FFFF4B6  2C82      CMP          R4, #130
  1FFFF4B8  D07E      BEQ          0x1FFFF5B8
  1FFFF4BA  2C92      CMP          R4, #146
  1FFFF4BC  D07D      BEQ          0x1FFFF5BA
  1FFFF4BE  E03E      B            0x1FFFF53E
  1FFFF4C0  2200      MOVS         R2#0x0
  1FFFF4C2  AB01      ADD          R3, SP, #0x4
  1FFFF4C4  5C98      LDRB         R0, [R3, R2]
  1FFFF4C6  F7FFFDAD  BL           0x1FFFF024
  1FFFF4CA  1C52      ADDS         R2, R2, #0x1
  1FFFF4CC  2A0F      CMP          R2, #15
  1FFFF4CE  D3F9      BCC          0x1FFFF4C4
  1FFFF4D0  E796      B            0x1FFFF400
  1FFFF4D2  2079      MOVS         R0#0x79
  1FFFF4D4  F7FFFDA6  BL           0x1FFFF024
  1FFFF4D8  2003      MOVS         R0#0x3
  1FFFF4DA  F7FFFDA3  BL           0x1FFFF024
  1FFFF4DE  2006      MOVS         R0#0x6
  1FFFF4E0  F7FFFDA0  BL           0x1FFFF024
  1FFFF4E4  2041      MOVS         R0#0x41
  1FFFF4E6  F7FFFD9D  BL           0x1FFFF024
  1FFFF4EA  2000      MOVS         R0#0x0
  1FFFF4EC  F7FFFD9A  BL           0x1FFFF024
  1FFFF4F0  2041      MOVS         R0#0x41
  1FFFF4F2  F7FFFD97  BL           0x1FFFF024
  1FFFF4F6  E0E1      B            0x1FFFF6BC
  1FFFF4F8  F7FFFD94  BL           0x1FFFF024
  1FFFF4FC  E780      B            0x1FFFF400
  1FFFF4FE  E043      B            0x1FFFF588
  1FFFF500  F7FFFEFB  BL           0x1FFFF2FA
  1FFFF504  4684      MOV          R12, R0
  1FFFF506  F7FFFED9  BL           0x1FFFF2BC
  1FFFF50A  B2C0      UXTB         R0,R0
  1FFFF50C  2801      CMP          R0, #1
  1FFFF50E  D0DF      BEQ          0x1FFFF4D0
  1FFFF510  F7FFFE66  BL           0x1FFFF1E0
  1FFFF514  4604      MOV          R4, R0
  1FFFF516  43C0      MVNS         R0, R0
  1FFFF518  B2C5      UXTB         R5,R0
  1FFFF51A  F7FFFE61  BL           0x1FFFF1E0
  1FFFF51E  42A8      CMP          R0, R5
  1FFFF520  D10D      BNE          0x1FFFF53E
  1FFFF522  2079      MOVS         R0#0x79
  1FFFF524  F7FFFD7E  BL           0x1FFFF024
  1FFFF528  1C64      ADDS         R4, R4, #0x1
  1FFFF52A  D0D1      BEQ          0x1FFFF4D0
  1FFFF52C  4665      MOV          R5, R12
  1FFFF52E  F10C0C01  ADD          R12, R12, #0x1
  1FFFF532  7828      LDRB         R0, [R5, #0]
  1FFFF534  F7FFFD76  BL           0x1FFFF024
  1FFFF538  1E64      SUBS         R4, R4, #0x1
  1FFFF53A  D1F7      BNE          0x1FFFF52C
  1FFFF53C  E760      B            0x1FFFF400
  1FFFF53E  201F      MOVS         R0#0x1F
  1FFFF540  E7DA      B            0x1FFFF4F8
  1FFFF542  F7FFFEDA  BL           0x1FFFF2FA
  1FFFF546  4604      MOV          R4, R0
  1FFFF548  F7FFFEB8  BL           0x1FFFF2BC
  1FFFF54C  B2C0      UXTB         R0,R0
  1FFFF54E  2801      CMP          R0, #1
  1FFFF550  D0BE      BEQ          0x1FFFF4D0
  1FFFF552  4878      LDR          R0, [PC,#0x1E0]          ; [0x1FFFF734] =RCC_CR (0x40021000)
  1FFFF554  6841      LDR          R1, [R0, #4]
  1FFFF556  4A78      LDR          R2, [PC,#0x1E0]          ; [0x1FFFF738] =0xF8FF0000
  1FFFF558  4011      ANDS         R1, R1, R2
  1FFFF55A  6041      STR          R1, [R0, #4]
  1FFFF55C  6801      LDR          R1, [R0, #0]
  1FFFF55E  4A77      LDR          R2, [PC,#0x1DC]          ; [0x1FFFF73C] =0xFEF6FFFF
  1FFFF560  4011      ANDS         R1, R1, R2
  1FFFF562  6001      STR          R1, [R0, #0]
  1FFFF564  6801      LDR          R1, [R0, #0]
  1FFFF564  6801      LDR          R1, [R0, #0]
  1FFFF566  F4212180  BIC          R1, R1, #0x40000
  1FFFF56A  6001      STR          R1, [R0, #0]
  1FFFF56C  6841      LDR          R1, [R0, #4]
  1FFFF56E  F42101FE  BIC          R1, R1, #0x7F0000
  1FFFF572  6041      STR          R1, [R0, #4]
  1FFFF574  2000      MOVS         R0#0x0
  1FFFF576  6130      STR          R0, [R6, #16]
  1FFFF578  F000F900  BL           0x1FFFF77C
  1FFFF57C  6860      LDR          R0, [R4, #4]
  1FFFF57E  4780      BLX          R0
  1FFFF580  E73E      B            0x1FFFF400
  1FFFF582  E0C2      B            0x1FFFF70A
  1FFFF584  E075      B            0x1FFFF672
  1FFFF586  E09B      B            0x1FFFF6C0
  1FFFF588  F7FFFEB7  BL           0x1FFFF2FA
  1FFFF58C  4680      MOV          R8, R0
  1FFFF58E  F7FFFE95  BL           0x1FFFF2BC
  1FFFF592  F0000CFF  AND          R12, R0, #0xFF
  1FFFF596  F1BC0F01  CMP          R12, #0x1
  1FFFF59A  D099      BEQ          0x1FFFF4D0
  1FFFF59C  F7FFFE20  BL           0x1FFFF1E0
  1FFFF5A0  F10D0914  ADD          R9, SP, #0x14
  1FFFF5A4  1C44      ADDS         R4, R0, #0x1
  1FFFF5A6  4649      MOV          R1, R9
  1FFFF5A8  F7FFFE28  BL           0x1FFFF1FC
  1FFFF5AC  28AA      CMP          R0, #170
  1FFFF5AE  D18F      BNE          0x1FFFF4D0
  1FFFF5B0  F1BC0F02  CMP          R12, #0x2
  1FFFF5B4  D119      BNE          0x1FFFF5EA
  1FFFF5B6  E001      B            0x1FFFF5BC
  1FFFF5B8  E0B0      B            0x1FFFF71C
  1FFFF5BA  E0AA      B            0x1FFFF712
  1FFFF5BC  07A0      LSLS         R0, R4#0x1E
  1FFFF5BE  D002      BEQ          0x1FFFF5C6
  1FFFF5C0  F00404FC  AND          R4, R4, #0xFC
  1FFFF5C4  1D24      ADDS         R4, R4, #0x4
  1FFFF5C6  F7FFFD45  BL           0x1FFFF054
  1FFFF5CA  0025      MOVS         R5, R4
  1FFFF5CC  D076      BEQ          0x1FFFF6BC
  1FFFF5CE  EB090A04  ADD          R10, R9, R4
  1FFFF5D2  EB080B04  ADD          R11, R8, R4
  1FFFF5D6  BF00      NOP
  1FFFF5D8  EBAA0005  SUB          R0, R10, R5
  1FFFF5DC  6801      LDR          R1, [R0, #0]
  1FFFF5DE  EBAB0005  SUB          R0, R11, R5
  1FFFF5E2  F7FFFE4B  BL           0x1FFFF27C
  1FFFF5E6  1F2D      SUBS         R5, R5, #0x4
  1FFFF5E8  D1F6      BNE          0x1FFFF5D8
  1FFFF5EA  F1BC0F03  CMP          R12, #0x3
  1FFFF5EE  D110      BNE          0x1FFFF612
  1FFFF5F0  07A0      LSLS         R0, R4#0x1E
  1FFFF5F2  D002      BEQ          0x1FFFF5FA
  1FFFF5F4  F00404FC  AND          R4, R4, #0xFC
  1FFFF5F8  1D24      ADDS         R4, R4, #0x4
  1FFFF5FA  0021      MOVS         R1, R4
  1FFFF5FC  D05E      BEQ          0x1FFFF6BC
  1FFFF5FE  EB090004  ADD          R0, R9, R4
  1FFFF602  EB080204  ADD          R2, R8, R4
  1FFFF606  1A43      SUBS         R3, R0, R1
  1FFFF608  681B      LDR          R3, [R3, #0]
  1FFFF60A  1A55      SUBS         R5, R2, R1
  1FFFF60C  1F09      SUBS         R1, R1, #0x4
  1FFFF60E  602B      STR          R3, [R5, #0]
  1FFFF610  D1F9      BNE          0x1FFFF606
  1FFFF612  F1BC0F04  CMP          R12, #0x4
  1FFFF616  D151      BNE          0x1FFFF6BC
  1FFFF618  4849      LDR          R0, [PC,#0x124]          ; [0x1FFFF740] =0x1FFFF800
  1FFFF61A  4580      CMP          R8, R0
  1FFFF61C  D14E      BNE          0x1FFFF6BC
  1FFFF61E  07E0      LSLS         R0, R4#0x1F
  1FFFF620  D002      BEQ          0x1FFFF628
  1FFFF622  F00404FE  AND          R4, R4, #0xFE
  1FFFF626  1CA4      ADDS         R4, R4, #0x2
  1FFFF628  F7FFFD1A  BL           0x1FFFF060
  1FFFF62C  F7FFFD12  BL           0x1FFFF054
  1FFFF630  F7FFFD0A  BL           0x1FFFF048
  1FFFF634  4D43      LDR          R5, [PC,#0x10C]          ; [0x1FFFF744] =FLASH_ACR (0x40022000)
  1FFFF636  6928      LDR          R0, [R5, #16]
  1FFFF638  F0400010  ORR          R0, R0, #0x10
  1FFFF63C  6128      STR          R0, [R5, #16]
  1FFFF63E  F7FFFCFE  BL           0x1FFFF03E
  1FFFF642  B164      CBZ          R4, 0x1FFFF65E
  1FFFF644  EB090204  ADD          R2, R9, R4
  1FFFF648  EB080304  ADD          R3, R8, R4
  1FFFF64C  1B10      SUBS         R0, R2, R4
  1FFFF64E  8800      LDRH         R0, [R0, #0]
  1FFFF650  1B19      SUBS         R1, R3, R4
  1FFFF652  B2C0      UXTB         R0,R0
  1FFFF654  8008      STRH         R0, [R1, #0]
  1FFFF656  F7FFFCF2  BL           0x1FFFF03E
  1FFFF65A  1EA4      SUBS         R4, R4, #0x2
  1FFFF65C  D1F6      BNE          0x1FFFF64C
  1FFFF65E  6928      LDR          R0, [R5, #16]
  1FFFF660  F0200010  BIC          R0, R0, #0x10
  1FFFF664  6128      STR          R0, [R5, #16]
  1FFFF666  2079      MOVS         R0#0x79
  1FFFF668  F7FFFCDC  BL           0x1FFFF024
  1FFFF66C  F8C67D0C  STR          R7, [R6, #0xD0C]
  1FFFF670  E024      B            0x1FFFF6BC
  1FFFF672  F7FFFD5D  BL           0x1FFFF130
  1FFFF676  2801      CMP          R0, #1
  1FFFF678  F43FAF10  BEQ          0x1FFFF49C
  1FFFF67C  2079      MOVS         R0#0x79
  1FFFF67E  F7FFFCD1  BL           0x1FFFF024
  1FFFF682  F7FFFDAD  BL           0x1FFFF1E0
  1FFFF686  28FF      CMP          R0, #255
  1FFFF688  D105      BNE          0x1FFFF696
  1FFFF68A  F7FFFDA9  BL           0x1FFFF1E0
  1FFFF68E  B9A8      CBNZ         R0, 0x1FFFF6BC
  1FFFF690  F7FFFDDD  BL           0x1FFFF24E
  1FFFF694  E012      B            0x1FFFF6BC
  1FFFF696  AD05      ADD          R5, SP, #0x14
  1FFFF698  1C44      ADDS         R4, R0, #0x1
  1FFFF69A  4629      MOV          R1, R5
  1FFFF69C  F7FFFDAE  BL           0x1FFFF1FC
  1FFFF6A0  28AA      CMP          R0, #170
  1FFFF6A2  F47FAEFB  BNE          0x1FFFF49C
  1FFFF6A6  B14C      CBZ          R4, 0x1FFFF6BC
  1FFFF6A8  F04F6C00  MOV          R12, #0x8000000
  1FFFF6AC  F8150B01  LDRB         R0, [R5], #0x1
  1FFFF6B0  EB0C2080  ADD          R0, R12, R0,LSL #10
  1FFFF6B4  F7FFFDBA  BL           0x1FFFF22C
  1FFFF6B8  1E64      SUBS         R4, R4, #0x1
  1FFFF6BA  D1F7      BNE          0x1FFFF6AC
  1FFFF6BC  2079      MOVS         R0#0x79
  1FFFF6BE  E71B      B            0x1FFFF4F8
  1FFFF6C0  2079      MOVS         R0#0x79
  1FFFF6C2  F7FFFCAF  BL           0x1FFFF024
  1FFFF6C6  F7FFFD8B  BL           0x1FFFF1E0
  1FFFF6CA  AD05      ADD          R5, SP, #0x14
  1FFFF6CC  1C44      ADDS         R4, R0, #0x1
  1FFFF6CE  4629      MOV          R1, R5
  1FFFF6D0  F7FFFD94  BL           0x1FFFF1FC
  1FFFF6D4  28AA      CMP          R0, #170
  1FFFF6D6  F47FAEFB  BNE          0x1FFFF4D0
  1FFFF6DA  2200      MOVS         R2#0x0
  1FFFF6DC  B13C      CBZ          R4, 0x1FFFF6EE
  1FFFF6DE  2101      MOVS         R1#0x1
  1FFFF6E0  F8153B01  LDRB         R3, [R5], #0x1
  1FFFF6E4  FA01F003  LSL          R0, R1, R3
  1FFFF6E8  4302      ORRS         R2, R2, R0
  1FFFF6EA  1E64      SUBS         R4, R4, #0x1
  1FFFF6EC  D1F8      BNE          0x1FFFF6E0
  1FFFF6EE  F7FFFCB1  BL           0x1FFFF054
  1FFFF6F2  4814      LDR          R0, [PC,#0x050]          ; [0x1FFFF744] =FLASH_ACR (0x40022000)
  1FFFF6F4  2135      MOVS         R1#0x35
  1FFFF6F6  60C1      STR          R1, [R0, #12]
  1FFFF6F8  4610      MOV          R0, R2
  1FFFF6FA  F7FFFD20  BL           0x1FFFF13E
  1FFFF6FE  2079      MOVS         R0#0x79
  1FFFF700  F7FFFC90  BL           0x1FFFF024
  1FFFF704  F8C67D0C  STR          R7, [R6, #0xD0C]
  1FFFF708  E67A      B            0x1FFFF400
  1FFFF70A  F7FFFD11  BL           0x1FFFF130
  1FFFF70E  2801      CMP          R0, #1
  1FFFF710  D0B2      BEQ          0x1FFFF678
  1FFFF712  2079      MOVS         R0#0x79
  1FFFF714  F7FFFC86  BL           0x1FFFF024
  1FFFF718  2000      MOVS         R0#0x0
  1FFFF71A  E007      B            0x1FFFF72C
  1FFFF71C  F7FFFD08  BL           0x1FFFF130
  1FFFF720  2801      CMP          R0, #1
  1FFFF722  D0A9      BEQ          0x1FFFF678
  1FFFF724  2079      MOVS         R0#0x79
  1FFFF726  F7FFFC7D  BL           0x1FFFF024
  1FFFF72A  2001      MOVS         R0#0x1
  1FFFF72C  F7FFFCAF  BL           0x1FFFF08E
  1FFFF730  E7E5      B            0x1FFFF6FE
  1FFFF732  0000      MOVS         R0, R0
  1FFFF734  1000      ASRS         R0, R0#0x0
  1FFFF736  4002      ANDS         R2, R2, R0
  1FFFF738  0000      MOVS         R0, R0
  1FFFF73A  F8FFFFFF  LDR??        PC, [PC, #0xFFF]
  1FFFF73E  FEF6F800  UNDEFINED INSTRUCTION
  1FFFF742  1FFF      SUBS         R7, R7, #0x7
  1FFFF744  2000      MOVS         R0#0x0
  1FFFF746  4002      ANDS         R2, R2, R0
  1FFFF748  4800      LDR          R0, [PC,#0x000]          ; [0x1FFFF74C] =0x1FFFF011
  1FFFF74A  4700      BX           R0
  1FFFF74C  F0111FFF  TST          R1, #0xFF00FF
  1FFFF750  4C07      LDR          R4, [PC,#0x01C]          ; [0x1FFFF770] =0x1FFFF7A4
  1FFFF752  4D08      LDR          R5, [PC,#0x020]          ; [0x1FFFF774] =0x1FFFF7B4
  1FFFF754  E006      B            0x1FFFF764
  1FFFF756  68E0      LDR          R0, [R4, #12]
  1FFFF758  F0400301  ORR          R3, R0, #0x1
  1FFFF75C  E8940007  LDMIA.W      R4, {R0,R1,R2}
  1FFFF760  4798      BLX          R3
  1FFFF762  3410      ADDS         R4, R4, #0x10
  1FFFF764  42AC      CMP          R4, R5
  1FFFF766  D3F6      BCC          0x1FFFF756
  1FFFF768  4803      LDR          R0, [PC,#0x00C]          ; [0x1FFFF778] =0x1FFFF34F
  1FFFF76A  F7FFFC57  BL           0x1FFFF01C
  1FFFF76E  0000      MOVS         R0, R0
  1FFFF770  F7A41FFF  USAT         PC, #31, R4,ASR #7 ;Warning, UNPREDICTABLE instr
  1FFFF774  F7B41FFF  UNDEFINED INSTRUCTION
  1FFFF778  F34F1FFF  SBFX         PC, PC, #7, #32 ;Warning, UNPREDICTABLE instr
  1FFFF77C  B662      CPSID        i
  1FFFF77E  4770      BX           LR
  1FFFF780  B672      CPSIE        i
  1FFFF782  4770      BX           LR
  1FFFF784  E002      B            0x1FFFF78C
  1FFFF786  C808      LDMIA        R0!, {R3}
  1FFFF788  1F12      SUBS         R2, R2, #0x4
  1FFFF78A  C108      STMIA        R1!, {R3}
  1FFFF78C  2A00      CMP          R2, #0
  1FFFF78E  D1FA      BNE          0x1FFFF786
  1FFFF790  4770      BX           LR
  1FFFF792  4770      BX           LR
  1FFFF794  2000      MOVS         R0#0x0
  1FFFF796  E001      B            0x1FFFF79C
  1FFFF798  C101      STMIA        R1!, {R0}
  1FFFF79A  1F12      SUBS         R2, R2, #0x4
  1FFFF79C  2A00      CMP          R2, #0
  1FFFF79E  D1FB      BNE          0x1FFFF798
  1FFFF7A0  4770      BX           LR
  1FFFF7A2  0000      MOVS         R0, R0
  1FFFF7A4  F7B41FFF  UNDEFINED INSTRUCTION
  1FFFF7A8  0000      MOVS         R0, R0
  1FFFF7AA  2000      MOVS         R0#0x0
  1FFFF7AC  0200      LSLS         R0, R0#0x8
  1FFFF7AE  0000      MOVS         R0, R0
  1FFFF7B0  F7941FFF  UNDEFINED INSTRUCTION
  1FFFF7B4  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7B8  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7BC  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7C0  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7C4  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7C8  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7CC  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7D0  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7D4  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7D8  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7DC  FFFFFFFF  UNDEFINED INSTRUCTION
  1FFFF7E0  0080      LSLS         R0, R0#0x2
  1FFFF7E2  0014      MOVS         R4, R2
  1FFFF7E4  0680      LSLS         R0, R0#0x1A
  1FFFF7E6  0637      LSLS         R7, R6#0x18
  1FFFF7E8  FF37FFFF  UNDEFINED INSTRUCTION
  1FFFF7EC  3836      SUBS         R0, R0, #0x36
  1FFFF7EE  3138      ADDS         R1, R1, #0x38
  1FFFF7F0  4444      ADD          R4, R4, R8
  1FFFF7F2  4316      ORRS         R6, R6, R2
  1FFFF7F4  F0FFFFFC  BL           0x200FF7F0
  1FFFF7F8  9768      STR          R7, [SP, #416]
  1FFFF7FA  00FF      LSLS         R7, R7#0x3
  1FFFF7FC  BC43      POP          {R0,R1,R6}
  1FFFF7FE  3FC0      SUBS         R7, R7, #0xC0
  1FFFF800  5AA5      LDRH         R5, [R4, R2]
  1FFFF802  00FF      LSLS         R7, R7#0x3
  1FFFF804  00FF      LSLS         R7, R7#0x3
  1FFFF806  00FF      LSLS         R7, R7#0x3
  1FFFF808  00FF      LSLS         R7, R7#0x3
  1FFFF80A  00FF      LSLS         R7, R7#0x3
  1FFFF80C  00FF      LSLS         R7, R7#0x3
  1FFFF80E  00FF      LSLS         R7, R7#0x3
此帖出自stm32/stm8论坛
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

反向工程?

                                  
此帖出自stm32/stm8论坛
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 

呵呵,不犯法吧?!

                                 研究研究应该是Ok的。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 

哈哈,看一看不犯法

                                 但如果以后你使用你的研究成果,对ST的利益造成了损失,可需要自己承担后果啦,哈哈~~~~~~~~~
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

6
 

呵呵,ST的保护机制不会依赖这个吧?

如果看了这个反汇编就会“对ST的利益造成损失”,未免脆弱了点。。。
谁还敢用呀!

这个也没有用非法手段获取,IAR连接manley开发板就可以读出来了。

有个想法,就是不需要用Boot0和Boot1也可以使用Boot loader了。只要在用户程序的开始加一个判断,比如检测一个IO被拉低,或串口收到特殊字符序列,就进入BootLoader。
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 

楼主的反汇编过程不感兴趣,对楼主目的很感兴趣

不用Boot0和Boot1,而是靠JMP到达BOOT程序
其实不用IO口电平了,用PC发一个命令就好了,那不成IAP了吗,哈哈


ISP经过楼主一折腾,成了IAP,高
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

8
 

楼主理解错了,我并没有说反汇编之后会对ST造成损失

我是说“如果以后你使用你的研究成果,对ST的利益造成了损失”,比如你拷贝了这个Bootloader的代码挪做它用,或用在了ST竞争对手的产品上,将有可能对ST的利益造成损失。

如果只是自己做研究,那就随便吧,正如你所说,ST的产品没有那么脆弱,哈哈~~~~~~~~~~~
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 

这个找证据也挺难的啊,哈哈

“拷贝了这个Bootloader的代码挪做它用,或用在了ST竞争对手的产品上”

哈哈哈,建议楼主也挂给牌子,整出个免责声明,如此写到:
根据二○○二年一月一曰《计算机软件保护条例》第二章十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。
鉴于此,希望大家按此说明研究软件!谢谢
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

10
 

貌似这个也没法挪作它用吧?竞争对手就更谈不上,哈哈。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 路过留个脚印……
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

12
 
                                 MARK
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

禁止访问

13
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 
MP我对你表示郑重抗议和警告!!!
这句难听的话你已经讲2次了!!!
请做个有素质的人。
此帖出自stm32/stm8论坛
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

15
 
                                 挖坟也没什么,好东西就是要经常挖一挖,说不定里面就有啥宝贝、古董、古尸、匠人...
此帖出自stm32/stm8论坛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

16
 
呵呵,针对帖子说挖坟是Ok的。
联系下面这个帖子,可以看出这个“挖坟”应该是针对我的老ID"pheavecn"。
https://bbs.eeworld.com.cn/viewthread.php?tid=110823&page=1#pid854056
MP是不是对我有意见?
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

17
 
觉得STM32还是有重映射机制, 这个ARM的传统内存映射机制。
复位就跳到BOOTROOM区了,当哪里的代码发现I/O是低电平,再初始化就跳到用户那程序去了~

NXP的ARM7就是这样啦。
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

18
 
BOOTROOM的代码是可以调用的,或者说跳到哪里去运行。
这个以前的皮包公司 流氓卖蕊 的CM3就是这样啊。
TI的IQMATH 也是这样。

BOOTROOM的函数是公开的,函数地址(指针)和参数,功能等等。
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

19
 
呵呵,针对帖子说挖坟是Ok的。
联系下面这个帖子,可以看出这个“挖坟”应该是针对我的老ID"pheavecn"。
https://bbs.eeworld.com.cn/viewthread.php?tid=110823&page=1#pid854056
MP是不是对我有意见? ...
无语了,本来是个中性的网语,你非整个帽子扣自己头上。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

20
 


可以让大家看看,你回的贴没有任何技术意义。
21ic这么多翻新贴,难道每个帖子你都有跟上“挖坟”一词?
只有我老ID的贴上来,你才跟上这两个字?
既然你轻松说这个词是中性的,那建议你多挖自己的坟,呵呵,要不我帮你挖。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表