查看: 4728|回复: 10

[已解决] 问个K64 bootlader

[复制链接]
  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9281
    最后登录
    2022-5-12
    发表于 2017-4-19 11:08:26 | 显示全部楼层 |阅读模式
    将FLASH空间分为两个部分,一部分用于存储bootloader代码;另一部分用于存储用户应用程序代码。
    在上电初始化时,首先执行bootloader程序,待其执行结束后再跳转到应用程序执行。
    由于应用代码的基址不再为0x0000,在切换过程中需要修改SCB_VTOR,来实现中断向量表的重映射。

    关于这个有没有细节描述的文档






    APP  代码怎么修改,KDS在哪里设置?


    最佳答案

    楼主你好! 请参考官方的KBOOT2.0代码,里面有关于K64的bootloader 代码。 下载链接: http://www.nxp.com/webapp/Downlo ... se&amp
    好好
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24888
    最后登录
    2025-7-20
    发表于 2017-6-8 16:01:47 | 显示全部楼层
    anshuping1121 发表于 2017-6-8 13:57
    楼主,我也遇到了相同的问题,请问SCB_VTOR怎么修改啊

    static void jump_to_application(uint32_t applicationAddress, uint32_t stackPointer)
    {
    #if BL_FEATURE_OTFAD_MODULE
        quadspi_cache_clear();
        oftfad_resume_as_needed();
    #endif

        shutdown_cleanup(kShutdownType_Shutdown);

        // Create the function call to the user application.
        // Static variables are needed since changed the stack pointer out from under the compiler
        // we need to ensure the values we are using are not stored on the previous stack
        static uint32_t s_stackPointer = 0;
        s_stackPointer = stackPointer;
        static void (*farewellBootloader)(void) = 0;
        farewellBootloader = (void (*)(void))applicationAddress;

        // Set the VTOR to the application vector table address.
        SCB->VTOR = (uint32_t)APP_VECTOR_TABLE;

        // Set stack pointers to the application stack pointer.
        __set_MSP(s_stackPointer);
        __set_PSP(s_stackPointer);

        // Jump to the application.
        farewellBootloader();
        // Dummy fcuntion call, should never go to this fcuntion call
        shutdown_cleanup(kShutdownType_Shutdown);
    }
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24888
    最后登录
    2025-7-20
    发表于 2017-4-19 13:21:40 | 显示全部楼层
    楼主你好!
    请参考官方的KBOOT2.0代码,里面有关于K64的bootloader 代码。
    下载链接:
    http://www.nxp.com/webapp/Downlo ... nt_pageType=product

    下载之后,K64的代码路径:
    NXP_Kinetis_Bootloader_2_0_0\targets\MK64F12
    关于相关文档,请查看:NXP_Kinetis_Bootloader_2_0_0\doc
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9281
    最后登录
    2022-5-12
     楼主| 发表于 2017-4-20 10:59:42 | 显示全部楼层
    小恩GG 发表于 2017-4-19 13:21
    楼主你好!
    请参考官方的KBOOT2.0代码,里面有关于K64的bootloader 代码。
    下载链接:

    好的,我研究下,谢谢
    好好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24888
    最后登录
    2025-7-20
    发表于 2017-4-20 13:35:48 | 显示全部楼层
    小马哥-1650185 发表于 2017-4-20 10:59
    好的,我研究下,谢谢

    嗯,后续有不懂的地方,继续跟帖交流。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16

    主题

    62

    帖子

    0

    注册会员

    Rank: 2

    积分
    159
    最后登录
    2021-8-31
    发表于 2017-6-8 13:57:09 | 显示全部楼层
    楼主,我也遇到了相同的问题,请问SCB_VTOR怎么修改啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9281
    最后登录
    2022-5-12
     楼主| 发表于 2017-6-16 08:41:20 | 显示全部楼层
    小恩GG 发表于 2017-4-19 13:21
    楼主你好!
    请参考官方的KBOOT2.0代码,里面有关于K64的bootloader 代码。
    下载链接:

    QQ截图20170616083959.jpg
    这几个bootloader  有什么区别
    好好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24888
    最后登录
    2025-7-20
    发表于 2017-6-16 09:53:54 | 显示全部楼层
    小马哥-1650185 发表于 2017-6-16 08:41
    这几个bootloader  有什么区别

    看看这两个帖子,你就明白了:
    1.
    https://www.nxpic.org.cn/module/forum/thread-602454-1-1.html
    2.
    https://www.nxpic.org.cn/module/forum/thread-602572-1-1.html

    flashloader结合flashloader_loader,为一次性下载。
    freedom_bootloader是针对freedom板子。为永久性。
    tower_bootloader是针对tower板子,为永久性,前提你不要全片擦除。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9281
    最后登录
    2022-5-12
     楼主| 发表于 2017-7-25 10:59:51 | 显示全部楼层
    anshuping1121 发表于 2017-6-8 13:57
    楼主,我也遇到了相同的问题,请问SCB_VTOR怎么修改啊

    没有,不会搞
    好好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9281
    最后登录
    2022-5-12
     楼主| 发表于 2017-7-25 16:57:40 | 显示全部楼层
    小恩GG 发表于 2017-6-16 09:53
    看看这两个帖子,你就明白了:
    1.
    https://www.nxpic.org.cn/module/forum/thread-602454-1-1.html

    app  hex地址怎么修改链接文件,MQX工程里面的链接文件也找不到
    好好
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 08:55 , Processed in 0.112061 second(s), 33 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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