[Kinetis] Kinetis Bootloader V2.0升级MK22FN512程序跳不进应用程序

[复制链接]
 楼主| csandyhere 发表于 2016-10-27 09:09 | 显示全部楼层 |阅读模式
救助:我用Kinetis Bootloader V2.0的freedom_bootloader工程生成的boot程序,想通过串品升级MK22FN512的应用程序,pc端用KinetisFlashTool.exe. 使用中可以正确连接并正确写入应用程序,也提示写入成功了(通过仿真器的读回与写入文件比较,确实是一样的,说明写入已没的问题),但就是跳不进应用程序!我的相关配置如下:应用程序的入口地址设置(ProcessorExpert.ld):
  1. /* Entry Point */
  2. ENTRY(__thumb_startup)

  3. /* Highest address of the user mode stack */
  4. _estack = 0x20010000;    /* end of m_data */
  5. __SP_INIT = _estack;
  6. __stack = _estack;

  7. /* Generate a link error if heap and stack don't fit into RAM */
  8. __heap_size = 0x00;                    /* required amount of heap  */
  9. __stack_size = 0x0400;                 /* required amount of stack */

  10. MEMORY {
  11.   m_interrupts (RX) : ORIGIN = 0x0000A000, LENGTH = 0x00000198
  12.   m_text      (RX) : ORIGIN = 0x0000A410, LENGTH = 0x00075BF0
  13.   m_data      (RW) : ORIGIN = 0x1FFF0000, LENGTH = 0x00020000
  14.   m_cfmprotrom  (RX) : ORIGIN = 0x0000A400, LENGTH = 0x00000010
  15. }
  1. .interrupts     0x0000a000      0x198
  2.                 0x0000a000                __vector_table = .
  3.                 0x0000a000                . = ALIGN (0x4)
  4. *(.vectortable)
  5. .vectortable   0x0000a000      0x198 ./Static_Code/System/Vectors.o
  6.                 0x0000a000                __vect_table
  7.                 0x0000a198                . = ALIGN (0x4)

  8. .cfmprotect     0x0000a400       0x10
  9.                 0x0000a400                . = ALIGN (0x4)
  10. *(.cfmconfig)
  11. .cfmconfig     0x0000a400       0x10 ./Static_Code/System/CPU_Init.o
  12.                 0x0000a400                _cfm
  13.                 0x0000a410                . = ALIGN (0x4)

  14. .text           0x0000a410     0x128c
  15.                 0x0000a410                . = ALIGN (0x4)
上面是生成的.map文件部分

通过对boot 的仿真,也确实执行到了跳转到应用程序位置:
  1. // In the case of the typical peripheral timeout, jump to the user application.
  2.                     jump_to_application(applicationAddress, stackPointer);
applicationAddress=0xa004;
stackPointer=0xa000;
执行到这里后,就不停在跳转,但就是没能进应用程序
求大侠指点下!

写入成功界面

写入成功界面
update2.jpg
update4.jpg
 楼主| csandyhere 发表于 2016-10-28 08:44 | 显示全部楼层
没人了,自已顶!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部