发新帖本帖赏金 1.00元(功能说明)我要提问
12下一页
返回列表
打印

lpc4357的sdram调试问题

[复制链接]
4357|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
赵小伟神|  楼主 | 2015-11-3 10:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教下各位大神,用的是lpc4357的M芯片,因为内部ram的空间不够用,需要外扩sdram,选用的是MT48LC8M16A2,测试sdram的读写已经通过了,用的ide是keil mdk,小弟想问一下,如何将代码运行的环境放到sdram中,



因为代码是下到flash中的,但是必须要有一段初始化emc的代码,我的这段代码是放到本地ram中去搞的,然后b出来,把堆栈环境移到sdram中,代码可以不用搬到sdram中,这个过程应该怎么搞呢。类似一个boot的操作。谢谢啦。描述的不够清楚

相关帖子

沙发
阿南| | 2015-11-3 11:36 | 只看该作者
直接找LPC4357的bootloader,应该有现成的,其实也就是启动、复制,再引导的过程。

使用特权

评论回复
板凳
赵小伟神|  楼主 | 2015-11-3 13:56 | 只看该作者
阿南 发表于 2015-11-3 11:36
直接找LPC4357的bootloader,应该有现成的,其实也就是启动、复制,再引导的过程。 ...

去哪里找?百度?

使用特权

评论回复
地板
huangxz| | 2015-11-3 14:38 | 只看该作者
这个汇编写一段就可以了,
在c环境之前初始化好SDRAM就没有问题了.

使用特权

评论回复
5
赵小伟神|  楼主 | 2015-11-3 14:46 | 只看该作者
huangxz 发表于 2015-11-3 14:38
这个汇编写一段就可以了,
在c环境之前初始化好SDRAM就没有问题了.

应该从哪里入手呢,有参考的代码么

使用特权

评论回复
6
赵小伟神|  楼主 | 2015-11-3 18:45 | 只看该作者
汇编已经搞完了,可是貌似还是不行,感觉keil的配置还有点问题。。

使用特权

评论回复
7
walnutcy| | 2015-11-4 00:01 | 只看该作者
赵小伟神 发表于 2015-11-3 18:45
汇编已经搞完了,可是貌似还是不行,感觉keil的配置还有点问题。。

确认SDRAM初始化是否OK,你现在应该只是想用外围的SDRAM当RAM用吧? CODE还在FLASH上

使用特权

评论回复
8
阿南| | 2015-11-4 10:24 | 只看该作者

lpc4357应该有开发板的,或是从官网上找,周立功那里有没有,或者联系代理商

使用特权

评论回复
9
赵小伟神|  楼主 | 2015-11-4 11:04 | 只看该作者
walnutcy 发表于 2015-11-4 00:01
确认SDRAM初始化是否OK,你现在应该只是想用外围的SDRAM当RAM用吧? CODE还在FLASH上 ...

是的,就是想要这样代码还是放到flash上就行,然后sdram当ram用,又弄了弄,貌似在debug的情况下,不带实时小系统的情况下代码可以跑起来,但是非debug或者是在debug下带着小系统还是不行,会出现硬件错误的中断,感觉是小系统的那个切任务的systick没有起来呢,这边已经开始问fae了,看看行不行

使用特权

评论回复
10
赵小伟神|  楼主 | 2015-11-4 11:05 | 只看该作者
阿南 发表于 2015-11-4 10:24
lpc4357应该有开发板的,或是从官网上找,周立功那里有没有,或者联系代理商 ...

用的就是评估板,官网上似乎没有相关的boot信息啊

使用特权

评论回复
11
阿南| | 2015-11-4 14:02 | 只看该作者
评估板是从代理那里买的吗?问他们FAE试试

使用特权

评论回复
12
阿南| | 2015-11-4 14:02 | 只看该作者
因为没玩过lpc的,所以对lpc4357的开发包不了解

使用特权

评论回复
13
赵小伟神|  楼主 | 2015-11-4 18:34 | 只看该作者
经过一天多的捣鼓,通过加在keil的ini文件来debug已经可以跑起来了

使用特权

评论回复
14
赵小伟神|  楼主 | 2015-11-4 18:38 | 只看该作者
后面的设想,是代码在flash里面跑起来后,用汇编去初始化emc和clock,然后编译的时候直接编到sdram,最后把整个的c环境直接搭到sdram中区,放弃片上ram,再调调看

使用特权

评论回复
15
赵小伟神|  楼主 | 2015-11-5 11:14 | 只看该作者
汇编搞上去了,但是还是需要在debug时候,先复位一下,然后再开始跑才能跑起来,什么回事啊,脱机跑步起来啊

使用特权

评论回复
16
阿南| | 2015-11-5 13:48 | 只看该作者
脱机的时候,程序是在芯片初始位置开始运行,而初始位置和你debug装载的位置不一定相同,然后再到SDRAM的

使用特权

评论回复
17
赵小伟神|  楼主 | 2015-11-12 23:01 | 只看该作者
自己的帖子自己结吧,搞了一周,终于搞定了,整个流程代码起来后从内部flash跑,汇编初始化内核时钟和emc相关配置,变量以及堆栈全部配置在外部sdram中,
总结一下:nxp的技术支持太坑爹,手册也很坑,本来能提早一天结束的,由于用的是16位的sdram和开发板不一样,配置的过程居然要读一个寄存器,而且寄存器地址居然和手册给的计算方法不一样,害的硬生生从nxp给的固件库中,把这个地址给勾出来,技术支持什么有用的建议都没有,就说一些大大的边缘话题,截止此整个4357的片上资源基本全部开发了,双核对我们来说确实有点用,刚好M4在sdram跑,M0在内部ram跑,外设虽然丰富,但是感觉比意法半导体的要差,主频204M,各个外设的速度却不快,spi两个控制器,没一个好用的。bootloader也没有提供,网上资料少得可怜,花了些时间自己做好了,各个引脚复用功能看似强大,却在使用过程中发现了,用了这个控制器,那个控制器就用不了了,不知道设计时怎么考虑的。移植了lwip接下来就搞网口了希望顺利。

使用特权

评论回复

打赏榜单

凉风习习 打赏了 1.00 元 2015-12-29

18
阿南| | 2015-11-13 09:59 | 只看该作者
不错,恭喜楼主

使用特权

评论回复
19
凉风习习| | 2015-12-29 09:44 | 只看该作者
赵小伟神 发表于 2015-11-12 23:01
自己的帖子自己结吧,搞了一周,终于搞定了,整个流程代码起来后从内部flash跑,汇编初始化内核时钟和emc相 ...

请问4357要使用外部SDRAM一定要用汇编来初始化吗?小弟也在弄LPC4357米尔科技的开发板,RAM不够用想把外部SDRAM当作RAM来用。可以发一份源程序参考一下吗? 万分感谢

使用特权

评论回复
20
赵小伟神|  楼主 | 2015-12-29 11:20 | 只看该作者
凉风习习 发表于 2015-12-29 09:44
请问4357要使用外部SDRAM一定要用汇编来初始化吗?小弟也在弄LPC4357米尔科技的开发板,RAM不够用想把外 ...

这个要看你怎么搞了,如果代码一跑起来,就在外部ram中的话,也就相当于你是一个没有c环境的(无堆栈),所以肯定要用汇编去搞,但是比如说,你一上来代码是在内部ram中去跑,那么就可以用c语言,去初始化外部ram了,然后,只要把栈指针搬过去就行了。

使用特权

评论回复
发新帖 本帖赏金 1.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

64

帖子

3

粉丝