查看: 12680|回复: 16

[MPC] MPC5634的codewarrior2.6怎么把程序划分空间

[复制链接]

该用户从未签到

5

主题

25

帖子

0

新手上路

Rank: 1

积分
63
最后登录
1970-1-1
发表于 2011-11-3 16:00:43 | 显示全部楼层 |阅读模式
 
                                    我最近在做MPC5634通过CAN接口刷新flash,就是不下载器将可执行文件“.MOT”文件下载到处理器去执行。在此与到一个一个问题,就是我的在线升级程序要占用flash低地址空间即(0-4000)block0段,而更新应用程序也占用此空间,怎么将更新应用程序向上移,本来codewarrior5.0来开发S12系列在线升级可以修改系统.prm文件就可以完成,而codewarrior2.6没有此文件,而.lcf文件改怎么使用?跪求高手解答指教!!!
             谢谢,可以与大家公共交流,加我扣扣:30458129
            
            
            
我知道答案 目前已有16人回答
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-11-3 17:10:15 | 显示全部楼层

    RE:MPC5634的codewarrior2.6怎么把程序划分空间

    在你的工程文件下面有个lcf文件夹,里面是flash和ram空间的配置文件。
    /* 5500_flash.lcf - Simple minimal MPC5500 link file using 32 KB SRAM */
    /* Sept 20 2007 SM, DF initial version */
    /* May 09 208 SM: Put stack in it's own 1KB (0x400) memory segment */
    MEMORY
    {
        boot_flash:           org = 0x00000000,   len = 0x00010000
        interrupts_flash:     org = 0x00010000,   len = 0x00010000
        internal_flash:       org = 0x00020000,   len = 0x00060000
        internal_ram:         org = 0x40000000,   len = 0x00007C00
        stack_ram:            org = 0x40007C00,   len = 0x0400
    }
    该会员没有填写今日想说内容.

    该用户从未签到

    5

    主题

    25

    帖子

    0

    新手上路

    Rank: 1

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2011-12-12 20:47:23 | 显示全部楼层

    回复:MPC5634的codewarrior2.6怎么把程序划分空间

    回复第 2 楼 于2011-11-03 09:10:15发表:
    在你的工程文件下面有个lcf文件夹,里面是flash和ram空间的配置文件。
    /* 5500_flash.lcf - Simple minimal MPC5500 link file using 32 KB SRAM */
    /* Sept 20 2007 SM, DF initial version */
    /* May 09 208 SM: Put stack in it's own 1KB (0x400) memory segment */
    MEMORY
    {
    boot_flash:           org = 0x00000000,   len = 0x00010000
    interrupts_flash:     org = 0x00010000,   len = 0x00010000
    internal_flash:       org = 0x00020000,   len = 0x00060000
    internal_ram:         org = 0x40000000,   len = 0x00007C00
    stack_ram:            org = 0x40007C00,   len = 0x0400
    }
    您好,能给我你的联系方式,我们交流下可以不?谢谢
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    25

    帖子

    0

    新手上路

    Rank: 1

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2011-12-12 20:48:08 | 显示全部楼层

    回复:MPC5634的codewarrior2.6怎么把程序划分空间

    回复第 2 楼 于2011-11-03 09:10:15发表:
    在你的工程文件下面有个lcf文件夹,里面是flash和ram空间的配置文件。
    /* 5500_flash.lcf - Simple minimal MPC5500 link file using 32 KB SRAM */
    /* Sept 20 2007 SM, DF initial version */
    /* May 09 208 SM: Put stack in it's own 1KB (0x400) memory segment */
    MEMORY
    {
    boot_flash:           org = 0x00000000,   len = 0x00010000
    interrupts_flash:     org = 0x00010000,   len = 0x00010000
    internal_flash:       org = 0x00020000,   len = 0x00060000
    internal_ram:         org = 0x40000000,   len = 0x00007C00
    stack_ram:            org = 0x40007C00,   len = 0x0400
    }
     
     
    留个联系方式,交流下可以不?谢谢
     
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-13 09:57:36 | 显示全部楼层

    RE:MPC5634的codewarrior2.6怎么把程序划分空间

    你好。如果有问题,请留贴,我第一时间回复你。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    25

    帖子

    0

    新手上路

    Rank: 1

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2011-12-19 16:20:15 | 显示全部楼层

    回复:MPC5634的codewarrior2.6怎么把程序划分空间

    我修改了内存配置,将:MEMORY
    {
        resetvector:           org = 0x00080000,   len = 0x00000008
        init:                           org = 0x00080020,   len = 0x00000FE0       
        exception_handlers:    org = 0x00081000,   len = 0x00001000
        internal_flash:        org = 0x00082000,   len = 0x0017E000
     
       internal_ram:          org = 0x40000000,   len = 0x00014000
        heap  :                org = 0x40014000,   len = 0x00002000 
        stack :                org = 0x40016000,   len = 0x00001800 
    但是程序下载进去找补到main函数,用gotil main指令就跑飞了,我认真看过汇编程序单步运行到__asm void usr_init()函数中的 bl      INIT_Derivative  时就飞了,请问这怎么解决?
         还有一个问题就是 internal_ram对应的真实地址在0x2000,如何映射到高地址上去。
    }
     
     
    回复第 5 楼 于2011-12-13 01:57:36发表:
    你好。如果有问题,请留贴,我第一时间回复你。
     
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-20 15:02:56 | 显示全部楼层

    RE:MPC5634的codewarrior2.6怎么把程序划分空间

    你用的5634的RAM大小是多少?这个里面RAM定义的是81K的。你定义RAM空间的时候应不能超出RAM的范围。
    下面的代码进行定义RAM空间起始地址,及范围。
    internal_ram:          org = 0x40002000,   len = 0x....
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    25

    帖子

    0

    新手上路

    Rank: 1

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2011-12-23 16:33:43 | 显示全部楼层

    回复:MPC5634的codewarrior2.6怎么把程序划分空间

    非常感谢,您能及时回复!!
        我现在有个疑惑,就是internal_ram这段空间是不是在什么地方要进行修改,默认情况下他会映射到地址0x2000,如何修改这段地址。
        还有是对MOT文件的理解,S7段是对应程序启动地址,那我把PC指针直接跳到这个地址程序就飞了。
     
    回复第 7 楼 于2011-12-20 07:02:56发表:
    你用的5634的RAM大小是多少?这个里面RAM定义的是81K的。你定义RAM空间的时候应不能超出RAM的范围。
    下面的代码进行定义RAM空间起始地址,及范围。
    internal_ram:          org = 0x40002000,   len = 0x....
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    25

    帖子

    0

    新手上路

    Rank: 1

    积分
    63
    最后登录
    1970-1-1
     楼主| 发表于 2011-12-28 14:36:10 | 显示全部楼层

    回复:MPC5634的codewarrior2.6怎么把程序划分空间

    怎么不回复了?
     
     
    回复第 7 楼 于2011-12-20 07:02:56发表:
    你用的5634的RAM大小是多少?这个里面RAM定义的是81K的。你定义RAM空间的时候应不能超出RAM的范围。
    下面的代码进行定义RAM空间起始地址,及范围。
    internal_ram:          org = 0x40002000,   len = 0x....
     
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-28 15:06:43 | 显示全部楼层

    RE:MPC5634的codewarrior2.6怎么把程序划分空间

    程序启动地址里面放的是启动地址,而不是跳到这个地方,这个地址里面包含的数据内容是需要跳转的实际地址。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-13 11:26 , Processed in 0.112667 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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