完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
@weidongshan 老师您好, 我正在看您的视频, 我是从头开始看的, 您的视频里一开始是讲的 2440/2410, 不过我之前买过一块 OK6410 的开发板, 所以我在实践的时候发现 2440 里的很多程序不能适用于 6410.
比如 2440 sdram 初始化并跳到 sdram 那块, 就不能用同样的步骤操作 6410 ddr. 所以我是看完 2440 sdram 的视频后又跳到 6410 ddr 的视频看的. 在这之间我发现有那么几个小区别: 1. 我发现在 6410 ddr 的例子中, start.S 这个文件的最后一行是跳转到 main 函数中:
在这之前没有设置栈指针(在调用 sdram_init 之前有一次, 是 ldr sp, =8*1024), 但是在 2440 sdram 的例子中, 是有设置栈指针这一步的:
请问下为什么在 6410 的例子中不需要设置栈指针呢? 如果不设的话, sp 不是还是指向 8192 这个地址吗? 2. 第二个问题是, 在 2440 sdram 的例子中, 好像没有事先初始化时钟, 但是程序可以从 steppingstone 拷到 sdram 里执行. 但是在 6410 ddr 的例子中, 如果不初始化时钟的话, 程序似乎就无法从 steppingstone 拷到 sdram 里执行, 我试过, 只有调用了您代码中的 clock_init 过程, 这个例子才能跑通. 请问这个是 2440 和 6410 的区别吗? 谢谢东山老师 ^_^ |
|
相关推荐
1个回答
|
|
自己默默的顶下....望得到回答...
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
1628 浏览 1 评论
1425 浏览 0 评论
2067 浏览 0 评论
2017 浏览 2 评论
1118 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-19 18:25 , Processed in 0.589394 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号