查看: 5075|回复: 11

[求助] KL03下载之后再断电,设备无法运行

[复制链接]
  • TA的每日心情
    开心
    2017-4-27 08:44
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    26

    主题

    577

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1703
    最后登录
    1970-1-1
    发表于 2016-1-13 11:05:33 | 显示全部楼层 |阅读模式
    如题,KL03设备,使用IAR开发的,debug下载之后,单步可以正常运行;关闭IAR 单步,也可以运行;但是只要一断电重启,设备就不正常运行了,量相应管脚电平也没有预期的拉高。请问这是怎么回事?卡在这里很久了,也不知道怎样解决,求助,急急急!!!!
    之前是用KL02的,现在换到KL03上开发了,之前KL02的汇编start文件很简单,而KL03的变得较为复杂了,不懂汇编,请问这里有区别吗?
    1.         MODULE  ?cstartup

    2.         ;; Forward declaration of sections.
    3.         SECTION CSTACK:DATA:NOROOT(3)

    4.         SECTION .intvec:CODE:NOROOT(2)

    5.         EXTERN  __iar_program_start
    6.         EXTERN  SystemInit
    7.         EXTERN  init_data_bss
    8.         PUBLIC  __vector_table
    9.         PUBLIC  __vector_table_0x1c
    10.         PUBLIC  __Vectors
    11.         PUBLIC  __Vectors_End
    12.         PUBLIC  __Vectors_Size

    13.         DATA

    14. __vector_table
    15.         DCD     sfe(CSTACK)
    16.         DCD     Reset_Handler

    17.         DCD     NMI_Handler                                   ;NMI Handler
    18.         DCD     HardFault_Handler                             ;Hard Fault Handler
    19.         DCD     0                                             ;Reserved
    20.         DCD     0                                             ;Reserved
    21.         DCD     0                                             ;Reserved
    22. __vector_table_0x1c
    23.         DCD     0                                             ;Reserved
    24.         DCD     0                                             ;Reserved
    25.         DCD     0                                             ;Reserved
    26.         DCD     0                                             ;Reserved
    27.         DCD     SVC_Handler                                   ;SVCall Handler
    28.         DCD     0                                             ;Reserved
    29.         DCD     0                                             ;Reserved
    30.         DCD     PendSV_Handler                                ;PendSV Handler
    31.         DCD     SysTick_Handler                               ;SysTick Handler

    32.                                                               ;External Interrupts
    33.         DCD     Reserved16_IRQHandler                         ;Reserved interrupt
    34.         DCD     Reserved17_IRQHandler                         ;Reserved interrupt
    35.         DCD     Reserved18_IRQHandler                         ;Reserved interrupt
    36.         DCD     Reserved19_IRQHandler                         ;Reserved interrupt
    37.         DCD     Reserved20_IRQHandler                         ;Reserved interrupt
    38.         DCD     FTFA_IRQHandler                               ;Command complete and read collision
    39.         DCD     PMC_IRQHandler                                ;Low-voltage detect, low-voltage warning
    40.         DCD     LLWU_IRQHandler                               ;Low leakage wakeup
    41.         DCD     I2C0_IRQHandler                               ;I2C0 interrupt
    42.         DCD     Reserved25_IRQHandler                         ;Reserved interrupt
    43.         DCD     SPI0_IRQHandler                               ;SPI0 single interrupt vector for all sources
    44.         DCD     Reserved27_IRQHandler                         ;Reserved interrupt
    45.         DCD     LPUART0_IRQHandler                            ;LPUART0 status and error
    46.         DCD     Reserved29_IRQHandler                         ;Reserved interrupt
    47.         DCD     Reserved30_IRQHandler                         ;Reserved interrupt
    48.         DCD     ADC0_IRQHandler                               ;ADC0 interrupt
    49.         DCD     CMP0_IRQHandler                               ;CMP0 interrupt
    50.         DCD     TPM0_IRQHandler                               ;TPM0 single interrupt vector for all sources
    51.         DCD     TPM1_IRQHandler                               ;TPM1 single interrupt vector for all sources
    52.         DCD     Reserved35_IRQHandler                         ;Reserved interrupt
    53.         DCD     RTC_IRQHandler                                ;RTC alarm
    54.         DCD     RTC_Seconds_IRQHandler                        ;RTC seconds
    55.         DCD     Reserved38_IRQHandler                         ;Reserved interrupt
    56.         DCD     Reserved39_IRQHandler                         ;Reserved interrupt
    57.         DCD     Reserved40_IRQHandler                         ;Reserved interrupt
    58.         DCD     Reserved41_IRQHandler                         ;Reserved interrupt
    59.         DCD     Reserved42_IRQHandler                         ;Reserved interrupt
    60.         DCD     Reserved43_IRQHandler                         ;Reserved interrupt
    61.         DCD     LPTMR0_IRQHandler                             ;LPTMR0 interrupt
    62.         DCD     Reserved45_IRQHandler                         ;Reserved interrupt
    63.         DCD     PORTA_IRQHandler                              ;PORTA Pin detect
    64.         DCD     PORTB_IRQHandler                              ;PORTB Pin detect
    65. __Vectors_End

    66.         SECTION FlashConfig:CODE
    67. __FlashConfig
    68.               DCD        0xFFFFFFFF
    69.               DCD        0xFFFFFFFF
    70.               DCD        0xFFFFFFFF
    71.               DCD        0xFFFF3DFE
    72. __FlashConfig_End

    73. __Vectors       EQU   __vector_table
    74. __Vectors_Size         EQU   __Vectors_End - __Vectors


    75. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    76. ;;
    77. ;; Default interrupt handlers.
    78. ;;
    79.         THUMB

    80.         PUBWEAK Reset_Handler
    81.         SECTION .text:CODE:REORDER:NOROOT(2)
    82. Reset_Handler
    83.         CPSID   I               ; Mask interrupts
    84.         LDR     R0, =SystemInit
    85.         BLX     R0
    86.         LDR     R0, =init_data_bss
    87.         BLX     R0
    88.         CPSIE   I               ; Unmask interrupts
    89.         LDR     R0, =__iar_program_start
    90.         BX      R0

    91.         PUBWEAK NMI_Handler
    92.         SECTION .text:CODE:REORDER:NOROOT(1)
    93. NMI_Handler
    94.         B .

    95.         PUBWEAK HardFault_Handler
    96.         SECTION .text:CODE:REORDER:NOROOT(1)
    97. HardFault_Handler
    98.         B .

    99.         PUBWEAK SVC_Handler
    100.         SECTION .text:CODE:REORDER:NOROOT(1)
    101. SVC_Handler
    102.         B .

    103.         PUBWEAK PendSV_Handler
    104.         SECTION .text:CODE:REORDER:NOROOT(1)
    105. PendSV_Handler
    106.         B .

    107.         PUBWEAK SysTick_Handler
    108.         SECTION .text:CODE:REORDER:NOROOT(1)
    109. SysTick_Handler
    110.         B .

    111.         PUBWEAK Reserved16_IRQHandler
    112.         PUBWEAK Reserved17_IRQHandler
    113.         PUBWEAK Reserved18_IRQHandler
    114.         PUBWEAK Reserved19_IRQHandler
    115.         PUBWEAK Reserved20_IRQHandler
    116.         PUBWEAK FTFA_IRQHandler
    117.         PUBWEAK PMC_IRQHandler
    118.         PUBWEAK LLWU_IRQHandler
    119.         PUBWEAK I2C0_IRQHandler
    120.         PUBWEAK Reserved25_IRQHandler
    121.         PUBWEAK SPI0_IRQHandler
    122.         PUBWEAK Reserved27_IRQHandler
    123.         PUBWEAK LPUART0_IRQHandler
    124.         PUBWEAK Reserved29_IRQHandler
    125.         PUBWEAK Reserved30_IRQHandler
    126.         PUBWEAK ADC0_IRQHandler
    127.         PUBWEAK CMP0_IRQHandler
    128.         PUBWEAK TPM0_IRQHandler
    129.         PUBWEAK TPM1_IRQHandler
    130.         PUBWEAK Reserved35_IRQHandler
    131.         PUBWEAK RTC_IRQHandler
    132.         PUBWEAK RTC_Seconds_IRQHandler
    133.         PUBWEAK Reserved38_IRQHandler
    134.         PUBWEAK Reserved39_IRQHandler
    135.         PUBWEAK Reserved40_IRQHandler
    136.         PUBWEAK Reserved41_IRQHandler
    137.         PUBWEAK Reserved42_IRQHandler
    138.         PUBWEAK Reserved43_IRQHandler
    139.         PUBWEAK LPTMR0_IRQHandler
    140.         PUBWEAK Reserved45_IRQHandler
    141.         PUBWEAK PORTA_IRQHandler
    142.         PUBWEAK PORTB_IRQHandler
    143.         PUBWEAK DefaultISR
    144.         SECTION .text:CODE:REORDER:NOROOT(2)
    145. Reserved16_IRQHandler
    146. Reserved17_IRQHandler
    147. Reserved18_IRQHandler
    148. Reserved19_IRQHandler
    149. Reserved20_IRQHandler
    150. FTFA_IRQHandler
    151. PMC_IRQHandler
    152. LLWU_IRQHandler
    153. I2C0_IRQHandler
    154. Reserved25_IRQHandler
    155. SPI0_IRQHandler
    156. Reserved27_IRQHandler
    157. LPUART0_IRQHandler
    158. Reserved29_IRQHandler
    159. Reserved30_IRQHandler
    160. ADC0_IRQHandler
    161. CMP0_IRQHandler
    162. TPM0_IRQHandler
    163. TPM1_IRQHandler
    164. Reserved35_IRQHandler
    165. RTC_IRQHandler
    166. RTC_Seconds_IRQHandler
    167. Reserved38_IRQHandler
    168. Reserved39_IRQHandler
    169. Reserved40_IRQHandler
    170. Reserved41_IRQHandler
    171. Reserved42_IRQHandler
    172. Reserved43_IRQHandler
    173. LPTMR0_IRQHandler
    174. Reserved45_IRQHandler
    175. PORTA_IRQHandler
    176. PORTB_IRQHandler
    177. DefaultISR
    178.         LDR R0, =DefaultISR
    179.         BX R0

    180.         END
    复制代码
    这是KL03的


    1.   SECTION .noinit : CODE

    2.         EXPORT  __startup
    3. __startup
    4.     LDR     r0,=0                   ; Initialize the GPRs
    5.         LDR     r1,=0
    6.         LDR     r2,=0
    7.         LDR     r3,=0
    8.         LDR     r4,=0
    9.         LDR     r5,=0
    10.         LDR     r6,=0
    11.         LDR     r7,=0

    12.         CPSIE   i                       ; Unmask interrupts
    13.         import start
    14.         BL      start               ; call the C code
    15. __done
    16.         B       __done

    17.         END
    复制代码
    这是KL02的,明显KL02要比KL03简洁的多,请问KL03能直接用KL02的这个文件吗?
    我知道答案 目前已有11人回答
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2016-1-13 11:19:44 | 显示全部楼层
    建议用KL03的,如果启动不正常,可以考虑一下频率设置是否有问题,在总线错误中断中加调试语句。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-4-27 08:44
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    26

    主题

    577

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1703
    最后登录
    1970-1-1
     楼主| 发表于 2016-1-13 11:21:14 | 显示全部楼层
    安 发表于 2016-1-13 11:19
    建议用KL03的,如果启动不正常,可以考虑一下频率设置是否有问题,在总线错误中断中加调试语句。 ...

    设备没有用到uart,所以最好的调试只能借助单步调试,但是单步的时候又是正常的、。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2016-1-13 13:31:02 | 显示全部楼层
    两点:量一下reset引脚的电平,用示波器;重clk_out脚输出core clock时钟看看时钟配置是否正确
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-4-27 08:44
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    26

    主题

    577

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1703
    最后登录
    1970-1-1
     楼主| 发表于 2016-1-13 13:48:20 | 显示全部楼层
    FSL_TICS_ZP 发表于 2016-1-13 13:31
    两点:量一下reset引脚的电平,用示波器;重clk_out脚输出core clock时钟看看时钟配置是否正确 ...

    第一点是量PTA1管脚电平吧?
    第二点没看懂,这个要具体怎样做?谢谢。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-4-27 08:44
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    26

    主题

    577

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1703
    最后登录
    1970-1-1
     楼主| 发表于 2016-1-13 14:17:19 | 显示全部楼层
    第一点测了下,下载后正常运行时,PTA1是高电平,重启只会运行不正常,此时PTA1也还是高电平。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-4-27 08:44
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    26

    主题

    577

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1703
    最后登录
    1970-1-1
     楼主| 发表于 2016-1-13 15:04:44 | 显示全部楼层
    又重新量了下,断电后其实是可以跑起来的,但是IIC通信不正常。量了IIC波形,单步调试下载时,是正常的,可以进中断,收到的数据正确。但是断电重启之后,IIC波形就不对了,SDA前后对比明显不对,请问这是怎么回事呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2016-1-13 16:22:16 | 显示全部楼层
    adarly 发表于 2016-1-13 15:04
    又重新量了下,断电后其实是可以跑起来的,但是IIC通信不正常。量了IIC波形,单步调试下载时,是正常的,可 ...

    建议检查一下时钟配置是否正确,Kinetis 芯片都有个pin脚可以输出core clock/bus clock时钟的,这样可以方便检查配置的时钟频率是否正确,详情参考手册有介绍
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2016-1-13 19:10:28 | 显示全部楼层
    开启看门狗试试。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-4-27 08:44
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    26

    主题

    577

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1703
    最后登录
    1970-1-1
     楼主| 发表于 2016-1-15 15:23:02 | 显示全部楼层
    安 发表于 2016-1-13 19:10
    开启看门狗试试。

    看门狗开了又关,也还是不行。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-23 04:56 , Processed in 0.104642 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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