查看: 7761|回复: 12

[CodeWarrior] 如何产生在RAM执行的程序?在CW10.3中怎么设置?(已解决)

[复制链接]
  • TA的每日心情
    开心
    2018-9-14 09:26
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    70

    主题

    329

    帖子

    0

    高级会员

    Rank: 4

    积分
    952
    最后登录
    2021-1-4
    发表于 2013-3-29 10:50:25 | 显示全部楼层 |阅读模式
    如何产生在RAM执行的程序?在CW10.3中怎么设置?
    我想整个项目的code都放在RAM中,怎么设置程序?
     
    我知道答案 目前已有12人回答
    回复

    使用道具 举报

    该用户从未签到

    8

    主题

    299

    帖子

    0

    高级会员

    Rank: 4

    积分
    653
    最后登录
    2018-12-14
    发表于 2013-3-29 11:34:26 | 显示全部楼层

    RE:如何产生在RAM执行的程序?在CW10.3中怎么设置?

    你用什么芯片????
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    508

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2167
    最后登录
    1970-1-1
    发表于 2013-3-29 12:52:45 | 显示全部楼层

    RE:如何产生在RAM执行的程序?在CW10.3中怎么设置?

    你可以使用CodeWarrior新项目向导,其中提供RAM和Flash目标项目选项。使用新项目向导很方便产生在RAM中运行的项目。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-14 09:26
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    70

    主题

    329

    帖子

    0

    高级会员

    Rank: 4

    积分
    952
    最后登录
    2021-1-4
     楼主| 发表于 2013-3-29 13:16:21 | 显示全部楼层

    RE:如何产生在RAM执行的程序?在CW10.3中怎么设置?

    我就是用的向导,但是没有让我选RAM 还是FLASH的地方,以前我用K53就可以,现在我用的是DSC 32BIT的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    178

    帖子

    0

    高级会员

    Rank: 4

    积分
    825
    最后登录
    1970-1-1
    发表于 2013-3-29 14:23:08 | 显示全部楼层

    RE:如何产生在RAM执行的程序?在CW10.3中怎么设置?

    使用新项目生成的时候会自动生成SRAM和FLASH两个目标项目,然后你可以在SRAM和FLASH中选择要编译的对象。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    178

    帖子

    0

    高级会员

    Rank: 4

    积分
    825
    最后登录
    1970-1-1
    发表于 2013-3-29 14:27:58 | 显示全部楼层

    回复:如何产生在RAM执行的程序?在CW10.3中怎么设置?

    回复第 5 楼 于2013-03-29 14:23:08发表:
    使用新项目生成的时候会自动生成SRA
    M和FLASH两个目标项目,然后你可以在SRAM和FLA snapshot_1.JPG
    SH中选择要编译的对象。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-14 09:26
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    70

    主题

    329

    帖子

    0

    高级会员

    Rank: 4

    积分
    952
    最后登录
    2021-1-4
     楼主| 发表于 2013-4-1 18:51:07 | 显示全部楼层

    RE:如何产生在RAM执行的程序?在CW10.3中怎么设置?(已解决)

    谁写的已解决?
    我用的是MC56F系列的32BIT DSC,试试用向导产生个项目试试?
    根本不是和Kinetis一样
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    43

    帖子

    0

    注册会员

    Rank: 2

    积分
    159
    最后登录
    1970-1-1
    发表于 2013-4-2 15:59:17 | 显示全部楼层

    回复:如何产生在RAM执行的程序?在CW10.3中怎么设置?(已解决)

    回复第 7 楼 于2013-04-01 18:51:07发表:
    谁写的已解决?
    我用的是MC56F系列的32BIT DSC,试试用向导产生个项目试试?
    根本不是和Kinetis一样 

    flash_write_pe.zip

    310.75 KB, 下载次数: 17

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    43

    帖子

    0

    注册会员

    Rank: 2

    积分
    159
    最后登录
    1970-1-1
    发表于 2013-4-2 16:00:04 | 显示全部楼层

    回复:如何产生在RAM执行的程序?在CW10.3中怎么设置?(已解决)

    Hi
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    43

    帖子

    0

    注册会员

    Rank: 2

    积分
    159
    最后登录
    1970-1-1
    发表于 2013-4-2 16:20:43 | 显示全部楼层

    回复:如何产生在RAM执行的程序?在CW10.3中怎么设置?(正解)

    回复第 9 楼 于2013-04-02 16:00:04发表:
    Hi
     

    一般来讲,我们推荐客户将代码放在program flash而不是RAM中,在flash中执行和在RAM中之行一样快。但是,当客户需要在代码将变量或常数写入program flash中,就需要将写program flash的一小段代码从program flash拷贝到RAM中,且在RAM中执行。
    请看附件,其中有如何写program flash. 而且,要看MC56F84789_Internal_PFlash_LDM.cmd
     
    #pragma define_section RAW_PROG_FLASH_section ".RAW_PROG_FLASH" RX
    #pragma section RAW_PROG_FLASH_section begin
    /*lint -save  -e586 Disable MISRA rule (2.1) checking. */
    static asm void Run_and_wait_in_prog_flash(void)
    {
      move.l #0x0001C780,R0
      move.w #0x80,A
      move.bp A1,XR0)                    /* Launch the command */
    wait:
      move.l #0x0001C780,R0
      moveu.bp XR0),A
      zxt.b A,A
      bftstl #0x80,A1
      bcs wait                             /* Wait to command complete */
      nop
      nop
      rts
    }
    /*lint -restore Enable MISRA rule (2.1) checking. */
    #pragma section RAW_PROG_FLASH_section end
    /*
    ** ===================================================================
    **     Method      :  Run_and_wait_in_RAM (component IntFLASH)
    **
    **     Description :
    **         This method runs programming or erasing process end waits
    **         until it ends. This routine is placed in RAM.
    **         This method is internal. It is used by Processor Expert only.
    ** ===================================================================
    */
    #pragma define_section RAW_RAM_section ".RAW_RAM" RWX
    #pragma section RAW_RAM_section begin
    /*lint -save  -e586 Disable MISRA rule (2.1) checking. */
    static asm void Run_and_wait_in_RAM(void)
    {
      move.l #0x0001C780,R0
      move.w #0x80,A
      move.bp A1,XR0)                    /* Launch the command */
    wait:
      move.l #0x0001C780,R0
      moveu.bp XR0),A
      zxt.b A,A
      bftstl #0x80,A1
      bcs wait                             /* Wait to command complete */
      nop
      nop
      rts
    }
    /*lint -restore Enable MISRA rule (2.1) checking. */
    #pragma section RAW_RAM_section end
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 10:24 , Processed in 0.111040 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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