查看: 11410|回复: 20

[分享] kea128 bootloader 我做完了,有一些经验之谈在这里跟各位分享

[复制链接]

该用户从未签到

13

主题

64

帖子

0

注册会员

Rank: 2

积分
189
最后登录
2019-5-21
发表于 2017-8-22 23:27:28 | 显示全部楼层 |阅读模式
kea128 从开始做BootLoader 花了大概4天左右,从查资料再到调试,每一点我都有做笔记在这里跟各位做一个分享记录吧!

回复

使用道具 举报

该用户从未签到

13

主题

64

帖子

0

注册会员

Rank: 2

积分
189
最后登录
2019-5-21
 楼主| 发表于 2017-8-22 23:32:28 | 显示全部楼层
第一点  boot和app ld文件设置
我直接放2张图 相信各位应该就知道是怎么回事了

a .应用程序ld文件(flash配置 可以不需要  在vecor.c文件里面屏蔽掉
app ld文件.png     2017-08-22_233117.png

b  boot ld文件设置
2017-08-22_233209.png
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

64

帖子

0

注册会员

Rank: 2

积分
189
最后登录
2019-5-21
 楼主| 发表于 2017-8-22 23:34:41 | 显示全部楼层
第二点   
a、boot跳转到app函数


  1.                         appStack = *(uint32_t*)0x5000;
  2.                         appEntry = *(uint32_t*)(0x5000 + 4);

  3.                         JumpToUserApplication(*((unsigned long*)0x5000), *((unsigned long*)(0x5000+4)));


  4. void JumpToUserApplication( unsigned int userSP,  unsigned int userStartup)
  5. {
  6.   volatile  unsigned int avoid_optimization;
  7.   avoid_optimization = userSP;       //In order to avoid optimization issue when -Os
  8.   avoid_optimization = userStartup;  //In order to avoid optimization issue when -Os

  9.         // set up stack pointer
  10.   __asm("msr msp, r0");
  11.   __asm("msr psp, r0");

  12.   // Jump to PC (r1)
  13.   __asm("mov pc, r1");
  14. }
复制代码

b、app里面 复位进入boot

  1.         __DSB();                                                      
  2.                         SCB->AIRCR=((0x5FA << SCB_AIRCR_VECTKEYSTAT_Pos)|SCB_AIRCR_SYSRESETREQ_Msk);
  3.                         __DSB();                                                
  4.                         while(1);
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

64

帖子

0

注册会员

Rank: 2

积分
189
最后登录
2019-5-21
 楼主| 发表于 2017-8-22 23:36:06 | 显示全部楼层
yangganglone 发表于 2017-8-22 23:32
第一点  boot和app ld文件设置
我直接放2张图 相信各位应该就知道是怎么回事了

其实这里  我忘记说了  有一个很关键的东西就是  0x5000   这个地址尽量大

因为我当时调试的时候设置的是0x4000  但是我的boot程序就有0x3e00

后来用上位机 烧录的时候  总是出现 跑飞的情况,后来改成0x5000就ok了!
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

64

帖子

0

注册会员

Rank: 2

积分
189
最后登录
2019-5-21
 楼主| 发表于 2017-8-22 23:37:41 | 显示全部楼层
  先这样,明天继续更,对了,大家对cw工程配置 有什么疑问的话,我可以提供一个文档!

见附件!

KEA_Driver_Lib_V1.zip

748.23 KB, 下载次数: 167, 下载积分: 威望 1

回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7879
    最后登录
    2025-4-11
    发表于 2017-8-23 08:45:11 | 显示全部楼层
    我是过来点赞得
    来根华子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-13 14:18
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    88

    帖子

    1

    高级会员

    Rank: 4

    积分
    927
    最后登录
    2025-7-3
    发表于 2017-8-23 08:48:44 | 显示全部楼层
    帮顶!
    今天天气不错!签到!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-11 11:14
  • 签到天数: 345 天

    连续签到: 1 天

    [LV.8]以坛为家I

    18

    主题

    1317

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    3265
    最后登录
    2023-3-16
    发表于 2017-8-23 08:48:53 | 显示全部楼层
    很赞,谢谢分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-1-19 16:32
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    23

    主题

    113

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1267
    最后登录
    2022-3-31
    发表于 2017-8-23 08:49:38 | 显示全部楼层
    大佬是自行寫庫啊
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

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

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9281
    最后登录
    2022-5-12
    发表于 2017-8-23 08:50:45 | 显示全部楼层
    谢谢分享
    好好
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 00:24 , Processed in 0.106546 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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