5171|2

6892

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

KEIL下 LM3S9B92 将程序搬到SDRAM中运行 有人玩过没 [复制链接]

有没有人试过,我现在.SCT中修改链接地址

LR_IROM 0x60000000 0x00030000
{
    ;
    ; Specify the Execution Address of the code and the size.
    ;
    ER_IROM 0x60000000 0x00030000
    {
        *.o (RESET, +First)
        * (InRoot$$Sections, +RO)
    }

    ;
    ; Specify the Execution Address of the data area.
    ;
    RW_IRAM 0x20000000 0x00018000
    {
        ;
        ; Uncomment the following line in order to use IntRegister().
        ;
        ;* (vtable, +First)
        * (+RW, +ZI)
    }
}
先将这个bin存在了SD卡中 然后由另外一个程序Load到了SDRAM里面 0x60000000是SDRAM基地址
然后从那个程序跳过来 我是使用LDR PC,=0x60000004 进行跳转的
跳到0x60000004后 执行该条指令 程序竟然跑 0x1E100去了 有时是其他地址
0x60000004处反汇编为 

0x60000004 011D      LSLS     r5,r3,#4 ; 
跳过来之前R5 R3 存有其他的值 导致程序乱跑
可能跟编译选项有关 暂时还不知道该咋改
我想在SDRAM中运行 中断向量表可能应该放置到SRAM中了 否则中断就会受影响这个倒可以容后考虑
目前在SDRAM中程序无法正确执行则是最大的问题 
看来在SDRAM中直接执行是没戏了 我写了段汇编 开头都是NOP 连执行NOP指令都直接飞掉
我想可能通常的CPU都是把SDRAM中的内容Load到Cache中来运行的吧 直接运行是不行了 郁闷死了~~

最新回复

IAR中修改ICF文件,很容易就把代码下载RAM中调试,一直都这么玩的。keil中倒是没玩过。  详情 回复 发表于 2010-7-16 16:35
 
点赞 关注
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!

回复
举报

2641

帖子

0

TA的资源

五彩晶圆(中级)

沙发
 
没玩过,学习一下思路
 
 

回复

24

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
IAR中修改ICF文件,很容易就把代码下载RAM中调试,一直都这么玩的。keil中倒是没玩过。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表