查看: 4974|回复: 5

[S12] 关于mc9s12XEP100 BootLoader几个疑惑

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
27
最后登录
2019-4-15
发表于 2019-3-28 15:12:47 | 显示全部楼层 |阅读模式
目前已经完成了prm文件中的RAM FLASH区域分段,boot程序启动并接收PC通过can发来的经过解析以后的S19文件,把S19文件放到0xC000开始的空间内(app解析以后的S19文件大小不到1k),直接用jmp指令跳转到0xc000后APP也能正常运行,但还有几个疑惑,请牛人指点!!!
1.目前演示APP比较小,不到1k,真实APP得有300k,还从0xC000空间开始写的话,肯定会用到分页区,应该怎么处理,我使用的演示APPS19文件没有用它的地址,全部是有效代码,要不要按照S19文件内的地址严格写入?
2.boot程序只是使用了CAN的接收中断,演示APP没使用中断,真实APP肯定会使用中断,这种中断冲突应该如何处理?
我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24915
最后登录
2025-7-23
发表于 2019-3-29 10:21:58 | 显示全部楼层
1. 存储在Flash内的内容是跟bin文件一样的,纯代码,没有地址信息内容,我的理解是如果你的flash能放心300K的application,应该是没有问题的
2. 所以你需要注意中断向量表的指向调整,确保发生中断时,中断向量指向正确的中断函数
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

0

主题

12

帖子

1

注册会员

Rank: 2

积分
119
最后登录
2022-3-22
发表于 2019-3-29 14:58:14 | 显示全部楼层
1. 只要bootloader中的program函数支持分页(这是肯定的),就不会有问题
    s19文件包含地址,如果你是一条条依次发送,那就按照地址依次写入;
2. app使用的是重定向的中断向量表,不会存在冲突问题
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2020-6-18 08:45
  • 签到天数: 812 天

    连续签到: 1 天

    [LV.10]以坛为家III

    66

    主题

    4899

    帖子

    64

    金牌会员

    Rank: 6Rank: 6

    积分
    6321
    最后登录
    2025-7-15
    发表于 2019-3-29 15:11:00 | 显示全部楼层
    参考这个:参考pdf
    开心
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    27
    最后登录
    2019-4-15
     楼主| 发表于 2019-4-1 09:06:23 | 显示全部楼层
    谢谢大家的经验分享,我在琢磨验证一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    16
    最后登录
    2020-12-11
    发表于 2020-12-11 17:38:59 | 显示全部楼层
    正在研究这个,学习一下
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-23 17:17 , Processed in 0.091038 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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