查看: 2112|回复: 11

[求助] 程序从codewarrior迁移到keil提示错误

[复制链接]

该用户从未签到

16

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
404
最后登录
2022-6-10
发表于 2020-7-4 16:28:18 | 显示全部楼层 |阅读模式
本帖最后由 yaomeng0725 于 2020-7-7 10:57 编辑

因为程序超过64K所以使用codewarrior不能进行debug,所以想着把程序迁移至keil
编译后出现以下提示:
.\Objects\smartairfilter.axf: Error: L6218E: Undefined symbol __initial_sp (referred from vectors.o).

请各位查看相关附件,不胜感激


  1. #ifndef __VECTORS_H
  2. #define __VECTORS_H     1

  3. // function prototype for default_isr in vectors.c
  4. void default_isr(void);
  5. void abort_isr(void);


  6. void hard_fault_handler_c(unsigned int * hardfault_args);

  7. /* Interrupt Vector Table Function Pointers */
  8. typedef void pointer(void);

  9. extern void __startup(void);
  10. extern unsigned long __BOOT_STACK_ADDRESS[];
  11. extern unsigned long __initial_sp[];
  12. extern void Reset_Handler( void );


  13. #define VECTOR_000      (pointer*) __initial_sp        //          ARM core        Initial Supervisor SP

  14. #define VECTOR_001      Reset_Handler                                        // 0x0000_0004 1 -          ARM core        Initial Program Counter

  15. #define VECTOR_002      default_isr     // 0x0000_0008 2 -          ARM core        Non-maskable Interrupt (NMI)
  16. #define VECTOR_003      default_isr     // 0x0000_000C 3 -          ARM core        Hard Fault
  17. #define VECTOR_004      default_isr     // 0x0000_0010 4 -
  18. #define VECTOR_005      default_isr     // 0x0000_0014 5 -          ARM core         Bus Fault
  19. #define VECTOR_006      default_isr     // 0x0000_0018 6 -          ARM core         Usage Fault
  20. #define VECTOR_007      default_isr     // 0x0000_001C 7 -                           
  21. #define VECTOR_008      default_isr     // 0x0000_0020 8 -                           
  22. #define VECTOR_009      default_isr     // 0x0000_0024 9 -
  23. #define VECTOR_010      default_isr     // 0x0000_0028 10 -
  24. #define VECTOR_011      default_isr     // 0x0000_002C 11 -         ARM core         Supervisor call (SVCall)
  25. #define VECTOR_012      default_isr     // 0x0000_0030 12 -         ARM core         Debug Monitor
  26. #define VECTOR_013      default_isr     // 0x0000_0034 13 -                          
  27. #define VECTOR_014      default_isr     // 0x0000_0038 14 -         ARM core         Pendable request for system service (PendableSrvReq)
  28. #define VECTOR_015      default_isr     // 0x0000_003C 15 -         ARM core         System tick timer (SysTick)
  29. #define VECTOR_016      default_isr     // 0x0000_0040 16     0     Reserved DMA     DMA Channel 0 transfer complete
  30. #define VECTOR_017      default_isr     // 0x0000_0044 17     1     Reserved DMA     DMA Channel 1 transfer complete
  31. #define VECTOR_018      default_isr     // 0x0000_0048 18     2     Reserved DMA     DMA Channel 2 transfer complete
  32. #define VECTOR_019      default_isr     // 0x0000_004C 19     3     Reserved DMA     DMA Channel 3 transfer complete
  33. #define VECTOR_020      default_isr     // 0x0000_0050 20     4     Reserved MCM     MCM
  34. #define VECTOR_021      default_isr     // 0x0000_0054 21     5     NVM              FTMRH flash memory command complete,ECC fault
  35. #define VECTOR_022      default_isr     // 0x0000_0058 22     6     PMC              LVD,LVW interrupt
  36. #define VECTOR_023      default_isr     // 0x0000_005C 23     7     LLWU             LLWU/IRQ
  37. #define VECTOR_024      default_isr     // 0x0000_0060 24     8     I2C0             I2C
  38. #define VECTOR_025      default_isr     // 0x0000_0064 25     9     -             --
  39. #define VECTOR_026      default_isr     // 0x0000_0068 26    10     SPI0             SPI0
  40. #define VECTOR_027      default_isr     // 0x0000_006C 27    11     SPI1             SPI1
  41. #define VECTOR_028      default_isr     // 0x0000_0070 28    12     SCI0             UART0
  42. #define VECTOR_029      default_isr     // 0x0000_0074 29    13     SCI1             UART1
  43. #define VECTOR_030      default_isr     // 0x0000_0078 30    14     SCI2             UART2
  44. #define VECTOR_031      default_isr     // 0x0000_007C 31    15     ADC0             ADC conversion complete
  45. #define VECTOR_032      default_isr     // 0x0000_0080 32    16     ACMP0            ACMP0
  46. #define VECTOR_033      default_isr     // 0x0000_0084 33    17     FTM0             FlexTimer0
  47. #define VECTOR_034      default_isr     // 0x0000_0088 34    18     FTM1             FlexTimer1
  48. #define VECTOR_035      default_isr     // 0x0000_008C 35    19     FTM2             FlexTimer2
  49. #define VECTOR_036      default_isr     // 0x0000_0090 36    20     RTC              RTC overflow
  50. #define VECTOR_037      default_isr     // 0x0000_0094 37    21     ACMP1            ACMP1
  51. #define VECTOR_038      default_isr     // 0x0000_0098 38    22     PIT_CH0          PIT_CH0 overflow
  52. #define VECTOR_039      default_isr     // 0x0000_009C 39    23            PIT_CH1          PIT_CH1 overflow
  53. #define VECTOR_040      default_isr     // 0x0000_00A0 40    24     KBI0             Keyboard0 interrupt
  54. #define VECTOR_041      default_isr     // 0x0000_00A4 41    25     KBI1             Keyboard1 interrupt
  55. #define VECTOR_042      default_isr     // 0x0000_00A8 42    26     Reserved         ---
  56. #define VECTOR_043      default_isr     // 0x0000_00AC 43    27     ICS              ICS loss of lock
  57. #define VECTOR_044      default_isr     // 0x0000_00B0 44    28     WDOG             Watchdog timeout
  58. #define VECTOR_045      default_isr     // 0x0000_00B4 45    29     Reserved         
  59. #define VECTOR_046      default_isr     // 0x0000_00B8 46    30     Reserved         
  60. #define VECTOR_047      default_isr     // 0x0000_00BC 47    31     Reserved         // END of real vector table
  61. /********************************************************************************************************************/
  62. #define VECTOR_048      default_isr     // 0x0000_00C0 48    32     Reserved        
  63. #define VECTOR_049      default_isr     // 0x0000_00C4 49    33     Reserved        
  64. #define VECTOR_050      default_isr     // 0x0000_00C8 50    34     Reserved           
  65. #define VECTOR_051      default_isr     // 0x0000_00CC 51    35     Reserved         
  66. #define VECTOR_052      default_isr     // 0x0000_00D0 52    36     Reserved         
  67. #define VECTOR_053      default_isr     // 0x0000_00D4 53    37     Reserved         
  68. #define VECTOR_054      default_isr     // 0x0000_00D8 54    38     Reserved        
  69. #define VECTOR_055      default_isr     // 0x0000_00DC 55    39     Reserved            
  70. #define VECTOR_056      default_isr     // 0x0000_00E0 56    40     Reserved         
  71. #define VECTOR_057      default_isr     // 0x0000_00E4 57    41     Reserved         
  72. #define VECTOR_058      default_isr     // 0x0000_00E8 58    42     Reserved        
  73. #define VECTOR_059      default_isr     // 0x0000_00EC 59    43     Reserved        
  74. #define VECTOR_060      default_isr     // 0x0000_00F0 60    44     Reserved            
  75. #define VECTOR_061      default_isr     // 0x0000_00F4 61    45     Reserved            Single interrupt vector for SCI status sources
  76. #define VECTOR_062      default_isr     // 0x0000_00F8 62    46     Reserved            Single interrupt vector for SCI error sources
  77. #define VECTOR_063      default_isr     // 0x0000_00FC 63    47     Reserved            Single interrupt vector for SCI status sources
  78. #define VECTOR_064      default_isr     // 0x0000_0100 64    48     Reserved            Single interrupt vector for SCI error sources
  79. #define VECTOR_065      default_isr     // 0x0000_0104 65    49     Reserved            Single interrupt vector for SCI status sources
  80. #define VECTOR_066      default_isr     // 0x0000_0108 66    50     Reserved            Single interrupt vector for SCI error sources
  81. #define VECTOR_067      default_isr     // 0x0000_010C 67    51     Reserved            Single interrupt vector for SCI status sources
  82. #define VECTOR_068      default_isr     // 0x0000_0110 68    52     Reserved            Single interrupt vector for SCI error sources
  83. #define VECTOR_069      default_isr     // 0x0000_0114 69    53     Reserved            Single interrupt vector for SCI status sources
  84. #define VECTOR_070      default_isr     // 0x0000_0118 70    54     Reserved            Single interrupt vector for SCI error sources
  85. #define VECTOR_071      default_isr     // 0x0000_011C 71    55     Reserved            Single interrupt vector for SCI status sources
  86. #define VECTOR_072      default_isr     // 0x0000_0120 72    56     Reserved            Single interrupt vector for SCI error sources
  87. #define VECTOR_073      default_isr     // 0x0000_0124 73    57     Reserved
  88. #define VECTOR_074      default_isr     // 0x0000_0128 74    58     Reserved
  89. #define VECTOR_075      default_isr     // 0x0000_012C 75    59     Reserved            
  90. #define VECTOR_076      default_isr     // 0x0000_0130 76    60     Reserved
  91. #define VECTOR_077      default_isr     // 0x0000_0134 77    61     Reserved
  92. #define VECTOR_078      default_isr     // 0x0000_0138 78    62     Reserved                          Single interrupt vector for all sources
  93. #define VECTOR_079      default_isr     // 0x0000_013C 79    63     Reserved                          Single interrupt vector for all sources
  94. #define VECTOR_080      default_isr     // 0x0000_0140 80    64     Reserved                          Single interrupt vector for all sources
  95. #define VECTOR_081      default_isr     // 0x0000_0144 81    65     Reserved
  96. #define VECTOR_082      default_isr     // 0x0000_0148 82    66     Reserved
  97. #define VECTOR_083      default_isr     // 0x0000_014C 83    67
  98. #define VECTOR_084      default_isr     // 0x0000_0150 84    68      
  99. #define VECTOR_085      default_isr     // 0x0000_0154 85    69      
  100. #define VECTOR_086      default_isr     // 0x0000_0158 86    70      
  101. #define VECTOR_087      default_isr     // 0x0000_015C 87    71     
  102. #define VECTOR_088      default_isr     // 0x0000_0160 88    72     
  103. #define VECTOR_089      default_isr     // 0x0000_0164 89    73      
  104. #define VECTOR_090      default_isr     // 0x0000_0168 90    74     
  105. #define VECTOR_091      default_isr     // 0x0000_016C 91    75                                                         
  106. #define VECTOR_092      default_isr     // 0x0000_0170 92    76                                         
  107. #define VECTOR_093      default_isr     // 0x0000_0174 93    77                                       
  108. #define VECTOR_094      default_isr     // 0x0000_0178 94    78                                         
  109. #define VECTOR_095      default_isr     // 0x0000_017C 95    79     
  110. #define VECTOR_096      default_isr     // 0x0000_0180 96    80     
  111. #define VECTOR_097      default_isr     // 0x0000_0184 97    81     
  112. #define VECTOR_098      default_isr     // 0x0000_0188 98    82     
  113. #define VECTOR_099      default_isr     // 0x0000_018C 99    83                              

  114. #ifdef USE_BOOTLOADER
  115. #else
  116. #define CONFIG_1                0xffffffff
  117. #define CONFIG_2                0xffffffff
  118. #define CONFIG_3                0xffffffff
  119. #define CONFIG_4                0xfffeffff
  120. #endif
  121. #endif /*__VECTORS_H*/

  122. /* End of "vectors.h" */
复制代码



我知道答案 目前已有11人回答

Desktop.rar

5.34 KB, 下载次数: 3, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20015
最后登录
2024-4-25
发表于 2020-7-6 11:10:20 | 显示全部楼层
__initial_sp定义在了哪里?
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
404
最后登录
2022-6-10
 楼主| 发表于 2020-7-6 21:39:16 | 显示全部楼层
本帖最后由 yaomeng0725 于 2020-7-6 21:58 编辑
小恩GG 发表于 2020-7-6 11:10
__initial_sp定义在了哪里?

没有定义,在startup_SKEAZ1284.s出现过。
原工程用的是#define VECTOR_000      (pointer*)&_estack;搜索全局没有_estack的定义,在SKEAZ128_FLASH.LD文件中出现了/* Highest address of the user mode stack */
_estack = 0x20003000;    /* end of SRAM */
__SP_INIT = _estack;
的定义。


keil没有SKEAZ128_FLASH.LD文件吧?
__initial_sp 我该怎么定义?在哪里定义?直接定义
#define VECTOR_000      (pointer*)0x20003000        么?
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20015
最后登录
2024-4-25
发表于 2020-7-7 09:06:49 | 显示全部楼层
yaomeng0725 发表于 2020-7-6 21:39
没有定义,在startup_SKEAZ1284.s出现过。
原工程用的是#define VECTOR_000      (pointer*)&_estack;搜索 ...

.s 文件看一下,__initial_sp应该在.s文件导出符号,看起来应该是.s的文件问题
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
404
最后登录
2022-6-10
 楼主| 发表于 2020-7-7 09:33:50 | 显示全部楼层
小恩GG 发表于 2020-7-7 09:06
.s 文件看一下,__initial_sp应该在.s文件导出符号,看起来应该是.s的文件问题 ...
  1. ;/*****************************************************************************
  2. ; * @file:    startup_SKEAZ1284.s
  3. ; * @purpose: CMSIS Cortex-M0plus Core Device Startup File for the
  4. ; *           SKEAZ1284
  5. ; * @version: 1.2
  6. ; * @date:    2014-1-10
  7. ; *
  8. ; * Copyright: 1997 - 2014 Freescale Semiconductor, Inc. All Rights Reserved.
  9. ;*
  10. ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
  11. ; *
  12. ; *****************************************************************************/


  13. ; <h> Stack Configuration
  14. ;   <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  15. ; </h>

  16. Stack_Size      EQU     0x00000100

  17.                 AREA    STACK, NOINIT, READWRITE, ALIGN=3
  18. Stack_Mem       SPACE   Stack_Size
  19. __initial_sp


  20. ; <h> Heap Configuration
  21. ;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
  22. ; </h>

  23. Heap_Size       EQU     0x00000000

  24.                 AREA    HEAP, NOINIT, READWRITE, ALIGN=3
  25. __heap_base
  26. Heap_Mem        SPACE   Heap_Size
  27. __heap_limit


  28.                 PRESERVE8
  29.                 THUMB


  30. ; Vector Table Mapped to Address 0 at Reset

  31.                 AREA    RESET, DATA, READONLY
  32.                 EXPORT  __Vectors
  33.                 EXPORT  __Vectors_End
  34.                 EXPORT  __Vectors_Size

  35. __Vectors       DCD     __initial_sp  ; Top of Stack
  36.                 DCD     Reset_Handler  ; Reset Handler
  37.                 DCD     NMI_Handler  ; NMI Handler
  38.                 DCD     HardFault_Handler  ; Hard Fault Handler
  39.                 DCD     0  ; Reserved
  40.                 DCD     0  ; Reserved
  41.                 DCD     0  ; Reserved
  42.                 DCD     0  ; Reserved
  43.                 DCD     0  ; Reserved
  44.                 DCD     0  ; Reserved
  45.                 DCD     0  ; Reserved
  46.                 DCD     SVC_Handler  ; SVCall Handler
  47.                 DCD     0  ; Reserved
  48.                 DCD     0  ; Reserved
  49.                 DCD     PendSV_Handler  ; PendSV Handler
  50.                 DCD     SysTick_Handler  ; SysTick Handler

  51.                 ; External Interrupts
  52.                 DCD     Reserved16_IRQHandler  ; Reserved interrupt
  53.                 DCD     Reserved17_IRQHandler  ; Reserved interrupt
  54.                 DCD     Reserved18_IRQHandler  ; Reserved interrupt
  55.                 DCD     Reserved19_IRQHandler  ; Reserved interrupt
  56.                 DCD     Reserved20_IRQHandler  ; Reserved interrupt
  57.                 DCD     FTMRE_IRQHandler  ; Command complete and read collision
  58.                 DCD     PMC_IRQHandler  ; Low-voltage detect, low-voltage warning
  59.                 DCD     IRQ_IRQHandler  ; External Interrupt
  60.                 DCD     I2C0_IRQHandler  ; I2C0 interrupt
  61.                 DCD     I2C1_IRQHandler  ; I2C1 interrupt
  62.                 DCD     SPI0_IRQHandler  ; SPI0 single interrupt vector for all sources
  63.                 DCD     SPI1_IRQHandler  ; SPI1 single interrupt vector for all sources
  64.                 DCD     UART0_IRQHandler  ; UART0 status and error
  65.                 DCD     UART1_IRQHandler  ; UART1 status and error
  66.                 DCD     UART2_IRQHandler  ; UART2 status and error
  67.                 DCD     ADC_IRQHandler  ; ADC interrupt
  68.                 DCD     ACMP0_IRQHandler  ; ACMP0 interrupt
  69.                 DCD     FTM0_IRQHandler  ; FTM0 single interrupt vector for all sources
  70.                 DCD     FTM1_IRQHandler  ; FTM1 single interrupt vector for all sources
  71.                 DCD     FTM2_IRQHandler  ; FTM2 single interrupt vector for all sources
  72.                 DCD     RTC_IRQHandler  ; RTC overflow
  73.                 DCD     ACMP1_IRQHandler  ; ACMP1 interrupt
  74.                 DCD     PIT_CH0_IRQHandler  ; PIT CH0 overflow
  75.                 DCD     PIT_CH1_IRQHandler  ; PIT CH1 overflow
  76.                 DCD     KBI0_IRQHandler  ; Keyboard interrupt0(32bit)
  77.                 DCD     KBI1_IRQHandler  ; Keyboard interrupt1(32bit)
  78.                 DCD     Reserved42_IRQHandler  ; Reserved interrupt
  79.                 DCD     ICS_IRQHandler  ; ICS interrupt
  80.                 DCD     WDOG_IRQHandler  ; Watchdog timeout
  81.                 DCD     PWT_IRQHandler  ; PWT interrupt
  82.                 DCD     MSCAN_RX_IRQHandler  ; MSCAN Rx Interrupt
  83.                 DCD     MSCAN_TX_IRQHandler  ; MSCAN Tx, Err and Wake-up interrupt
  84. __Vectors_End

  85. __Vectors_Size         EQU     __Vectors_End - __Vectors

  86. ; <h> Flash Configuration
  87. ;   <i> 16-byte flash configuration field that stores default protection settings (loaded on reset)
  88. ;   <i> and security information that allows the MCU to restrict acces to the FTFL module.
  89. ;   <h> Backdoor Comparison Key
  90. ;     <o0>  Backdoor Key 0  <0x0-0xFF:2>
  91. ;     <o1>  Backdoor Key 1  <0x0-0xFF:2>
  92. ;     <o2>  Backdoor Key 2  <0x0-0xFF:2>
  93. ;     <o3>  Backdoor Key 3  <0x0-0xFF:2>
  94. ;     <o4>  Backdoor Key 4  <0x0-0xFF:2>
  95. ;     <o5>  Backdoor Key 5  <0x0-0xFF:2>
  96. ;     <o6>  Backdoor Key 6  <0x0-0xFF:2>
  97. ;     <o7>  Backdoor Key 7  <0x0-0xFF:2>
  98. BackDoorK0      EQU     0xFF
  99. BackDoorK1      EQU     0xFF
  100. BackDoorK2      EQU     0xFF
  101. BackDoorK3      EQU     0xFF
  102. BackDoorK4      EQU     0xFF
  103. BackDoorK5      EQU     0xFF
  104. BackDoorK6      EQU     0xFF
  105. BackDoorK7      EQU     0xFF
  106. ;   </h>
  107. ;     <h> FPROT
  108. ;       <i> P-Flash Protection Register
  109. ;       <o.7> FPOPEN
  110. ;         <0=> FPHDIS and FPLDIS bits define unprotected address ranges as specified by the corresponding FPHS and FPLS bits FPROT1.1
  111. ;         <1=> FPHDIS and FPLDIS bits enable protection for the address range specified by the corresponding FPHS and FPLS bits
  112. ;       <o.5> FPHDIS
  113. ;         <0=> Protection/Unprotection enabled
  114. ;         <1=> Protection/Unprotection disabled
  115. ;       <o.3..4> FPHS
  116. ;         <0=> Address range: 0x00_7C00-0x00_7FFF; protected size: 1 KB
  117. ;         <1=> Address range: 0x00_7800-0x00_7FFF; protected size: 2 KB
  118. ;         <2=> Address range: 0x00_7000-0x00_7FFF; protected size: 4 KB
  119. ;         <3=> Address range: 0x00_6000-0x00_7FFF; protected size: 8 KB
  120. ;       <o.5> FPLDIS
  121. ;         <0=> Protection/Unprotection enabled
  122. ;         <1=> Protection/Unprotection disabled
  123. ;       <o.3..4> FPLS
  124. ;         <0=> Address range: 0x00_0000-0x00_07FF; protected size: 2 KB
  125. ;         <1=> Address range: 0x00_0000-0x00_0FFF; protected size: 4 KB
  126. ;         <2=> Address range: 0x00_0000-0x00_1FFF; protected size: 8 KB
  127. ;         <3=> Address range: 0x00_0000-0x00_3FFF; protected size: 16 KB
  128. FPROT         EQU     0xFF
  129. ;     </h>
  130. ;   </h>
  131. ;   <h> Flash security byte (FSEC)
  132. ;     <i> WARNING: If SEC field is configured as "MCU security status is secure" and MEEN field is configured as "Mass erase is disabled",
  133. ;     <i> MCU's security status cannot be set back to unsecure state since Mass erase via the debugger is blocked !!!
  134. ;     <o.0..1> SEC
  135. ;       <2=> MCU security status is unsecure
  136. ;       <3=> MCU security status is secure
  137. ;         <i> Flash Security
  138. ;         <i> This bits define the security state of the MCU.
  139. ;     <o.6..7> KEYEN
  140. ;       <2=> Backdoor key access enabled
  141. ;       <3=> Backdoor key access disabled
  142. ;         <i> Backdoor key Security Enable
  143. ;         <i> These bits enable and disable backdoor key access to the FTFL module.
  144. FSEC            EQU     0xFE
  145. ;   </h>
  146. ;   <h> Flash Option Register (FOPT)
  147. FOPT            EQU     0xFE
  148. ;   </h>
  149.                 IF      :LNOT::DEF:RAM_TARGET
  150.                 AREA    |.ARM.__at_0x400|, CODE, READONLY
  151.                 DCB     BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3
  152.                 DCB     BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7
  153.                 DCB     0xFF,       0xFF,       0xFF,       0xFF
  154.                 DCB     0xFF,       FPROT,      FSEC,       FOPT
  155.                 ENDIF

  156.                 AREA    |.text|, CODE, READONLY

  157. ;init_data_bss
  158. ;     User defined function for data and bs memory segment initialization.
  159. ;      Weak definition to be replaced by user code.

  160. init_data_bss   PROC
  161.                 EXPORT  init_data_bss             [WEAK]
  162.                 BX      R14
  163.                 ENDP

  164. ; Reset Handler

  165. Reset_Handler   PROC
  166.                 EXPORT  Reset_Handler             [WEAK]
  167.                 IMPORT  SystemInit
  168.                 IMPORT  __main
  169.                 LDR     R0, =SystemInit
  170.                 BLX     R0
  171.                 LDR     R0, =init_data_bss
  172.                 BLX     R0
  173.                 LDR     R0, =__main
  174.                 BX      R0
  175.                 ENDP


  176. ; Dummy Exception Handlers (infinite loops which can be modified)

  177. NMI_Handler     PROC
  178.                 EXPORT  NMI_Handler               [WEAK]
  179.                 B       .
  180.                 ENDP
  181. HardFault_Handler\
  182.                 PROC
  183.                 EXPORT  HardFault_Handler         [WEAK]
  184.                 B       .
  185.                 ENDP
  186. SVC_Handler     PROC
  187.                 EXPORT  SVC_Handler               [WEAK]
  188.                 B       .
  189.                 ENDP
  190. PendSV_Handler  PROC
  191.                 EXPORT  PendSV_Handler            [WEAK]
  192.                 B       .
  193.                 ENDP
  194. SysTick_Handler PROC
  195.                 EXPORT  SysTick_Handler           [WEAK]
  196.                 B       .
  197.                 ENDP

  198. Default_Handler PROC
  199.                 EXPORT  Reserved16_IRQHandler     [WEAK]
  200.                 EXPORT  Reserved17_IRQHandler     [WEAK]
  201.                 EXPORT  Reserved18_IRQHandler     [WEAK]
  202.                 EXPORT  Reserved19_IRQHandler     [WEAK]
  203.                 EXPORT  Reserved20_IRQHandler     [WEAK]
  204.                 EXPORT  FTMRE_IRQHandler     [WEAK]
  205.                 EXPORT  PMC_IRQHandler     [WEAK]
  206.                 EXPORT  IRQ_IRQHandler     [WEAK]
  207.                 EXPORT  I2C0_IRQHandler     [WEAK]
  208.                 EXPORT  I2C1_IRQHandler     [WEAK]
  209.                 EXPORT  SPI0_IRQHandler     [WEAK]
  210.                 EXPORT  SPI1_IRQHandler     [WEAK]
  211.                 EXPORT  UART0_IRQHandler     [WEAK]
  212.                 EXPORT  UART1_IRQHandler     [WEAK]
  213.                 EXPORT  UART2_IRQHandler     [WEAK]
  214.                 EXPORT  ADC_IRQHandler     [WEAK]
  215.                 EXPORT  ACMP0_IRQHandler     [WEAK]
  216.                 EXPORT  FTM0_IRQHandler     [WEAK]
  217.                 EXPORT  FTM1_IRQHandler     [WEAK]
  218.                 EXPORT  FTM2_IRQHandler     [WEAK]
  219.                 EXPORT  RTC_IRQHandler     [WEAK]
  220.                 EXPORT  ACMP1_IRQHandler     [WEAK]
  221.                 EXPORT  PIT_CH0_IRQHandler     [WEAK]
  222.                 EXPORT  PIT_CH1_IRQHandler     [WEAK]
  223.                 EXPORT  KBI0_IRQHandler     [WEAK]
  224.                 EXPORT  KBI1_IRQHandler     [WEAK]
  225.                 EXPORT  Reserved42_IRQHandler     [WEAK]
  226.                 EXPORT  ICS_IRQHandler     [WEAK]
  227.                 EXPORT  WDOG_IRQHandler     [WEAK]
  228.                 EXPORT  PWT_IRQHandler     [WEAK]
  229.                 EXPORT  MSCAN_RX_IRQHandler     [WEAK]
  230.                 EXPORT  MSCAN_TX_IRQHandler     [WEAK]
  231.                 EXPORT  DefaultISR                      [WEAK]

  232. Reserved16_IRQHandler
  233. Reserved17_IRQHandler
  234. Reserved18_IRQHandler
  235. Reserved19_IRQHandler
  236. Reserved20_IRQHandler
  237. FTMRE_IRQHandler
  238. PMC_IRQHandler
  239. IRQ_IRQHandler
  240. I2C0_IRQHandler
  241. I2C1_IRQHandler
  242. SPI0_IRQHandler
  243. SPI1_IRQHandler
  244. UART0_IRQHandler
  245. UART1_IRQHandler
  246. UART2_IRQHandler
  247. ADC_IRQHandler
  248. ACMP0_IRQHandler
  249. FTM0_IRQHandler
  250. FTM1_IRQHandler
  251. FTM2_IRQHandler
  252. RTC_IRQHandler
  253. ACMP1_IRQHandler
  254. PIT_CH0_IRQHandler
  255. PIT_CH1_IRQHandler
  256. KBI0_IRQHandler
  257. KBI1_IRQHandler
  258. Reserved42_IRQHandler
  259. ICS_IRQHandler
  260. WDOG_IRQHandler
  261. PWT_IRQHandler
  262. MSCAN_RX_IRQHandler
  263. MSCAN_TX_IRQHandler
  264. DefaultISR

  265.                 B       .

  266.                 ENDP


  267.                 ALIGN


  268. ; User Initial Stack & Heap

  269.                 IF      :DEF:__MICROLIB

  270.                 EXPORT  __initial_sp
  271.                 EXPORT  __heap_base
  272.                 EXPORT  __heap_limit

  273.                 ELSE

  274.                 IMPORT  __use_two_region_memory
  275.                 EXPORT  __user_initial_stackheap
  276. __user_initial_stackheap

  277.                 LDR     R0, =  Heap_Mem
  278.                 LDR     R1, =(Stack_Mem + Stack_Size)
  279.                 LDR     R2, = (Heap_Mem +  Heap_Size)
  280.                 LDR     R3, = Stack_Mem
  281.                 BX      LR

  282.                 ALIGN

  283.                 ENDIF


  284.                 END
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20015
最后登录
2024-4-25
发表于 2020-7-7 10:10:01 | 显示全部楼层

把vectors.c文件移除,再编译看看
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
404
最后登录
2022-6-10
 楼主| 发表于 2020-7-7 10:36:27 | 显示全部楼层
小恩GG 发表于 2020-7-7 10:10
把vectors.c文件移除,再编译看看

不行,程序运行不起来。电流值是原来的一半。我还有段这个程序
  1. /******************************************************************************
  2. *
  3. * Freescale Semiconductor Inc.
  4. * (c) Copyright 2013 Freescale Semiconductor, Inc.
  5. * ALL RIGHTS RESERVED.
  6. *
  7. ***************************************************************************
  8. *
  9. * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR
  10. * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  11. * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  12. * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  13. * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  14. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  15. * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  16. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  17. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
  18. * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  19. * THE POSSIBILITY OF SUCH DAMAGE.
  20. *
  21. ***************************************************************************//*!
  22. *
  23. * @file isr.h
  24. *
  25. * @author Freescale
  26. *
  27. * @version 0.0.1
  28. *
  29. * @date Jun. 25, 2013
  30. *
  31. * @brief define interrupt service routines referenced by the vector table.
  32. *
  33. * Note: Only "vectors.c" should include this header file.
  34. *
  35. *******************************************************************************
  36. ******************************************************************************/

  37. #ifndef __ISR_H
  38. #define __ISR_H


  39. /* Example */
  40. /*
  41. #undef  VECTOR_036
  42. #define VECTOR_036 RTC_Isr

  43. // ISR(s) are defined in your project directory.
  44. extern void RTC_Isr(void);
  45. */

  46. /*!
  47. * @brief define interrupt service routine for different vectors.
  48. *
  49. */



  50. /*
  51. #undef  VECTOR_023
  52. #define VECTOR_023      IRQ_Isr
  53. */

  54.          





  55. #undef  VECTOR_036
  56. #define VECTOR_036      RTC_Isr

  57. #undef  VECTOR_041
  58. #define VECTOR_041      KBI1_Isr

  59. #undef  VECTOR_046
  60. #define VECTOR_046      MSCAN_RxIsr          /*!< Vector 36 points to RTC interrupt service routine */

  61. //#undef  VECTOR_047
  62. //#define VECTOR_047      MSCAN_TxIsr          /*!< Vector 36 points to RTC interrupt service routine */


  63. extern void KBI1_Isr(void);
  64. extern void RTC_Isr(void);
  65. //extern void IRQ_Isr(void);
  66. extern void MSCAN_RxIsr( void );

  67. //extern void MSCAN_TxIsr( void );
  68. #endif  //__ISR_H

  69. /* End of "isr.h" */

复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
404
最后登录
2022-6-10
 楼主| 发表于 2020-7-7 12:17:56 | 显示全部楼层
小恩GG 发表于 2020-7-7 10:10
把vectors.c文件移除,再编译看看

#define VECTOR_000      (pointer*)0x20003000       

这样修改后,看门狗的动作不起作用,程序会自动重启。CAN接收中断正常工作。RTC正常工作,
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20015
最后登录
2024-4-25
发表于 2020-7-7 13:08:18 | 显示全部楼层
yaomeng0725 发表于 2020-7-7 12:17
#define VECTOR_000      (pointer*)0x20003000       

这样修改后,看门狗的动作不起作用,程序会自动重启。C ...

11.PNG
勾选这个再试试,我用这个编译过去了
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
404
最后登录
2022-6-10
 楼主| 发表于 2020-7-7 13:20:32 | 显示全部楼层
小恩GG 发表于 2020-7-7 13:08
勾选这个再试试,我用这个编译过去了

看门狗的喂狗动作不起作用,程序会自动重启。原程序是好的。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-26 00:21 , Processed in 0.165363 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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