主题 : mini2451 从nandflash重定位到sdram 白屏问题 复制链接 | 浏览器收藏 | 打印
go go go
级别: 新手上路
UID: 134358
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2017-08-27
最后登录: 2017-09-05
楼主  发表于: 2017-08-30 18:02

 mini2451 从nandflash重定位到sdram 白屏问题

开发环境:MDK

目        的:实现代码重定位(从nandflash重定位到sdram的0x3000,0000)

思        路:根据s3c2451的特性,上电时执行IROM中的启动代码,将nandflash中的前8k内容拷贝到stepping stone中执行,
                    如果生成的bin文件小于8k,并不能说明代码从nandflash重定位到内存成功,所以我在工程中加入图片数据,并
                    让lcd显示,最后生成的bin文件大小为159K

遇到问题:使用minitools将bin文件下载到内存0x3000,0000地址,lcd可以正常初始化并显示图片(成功率100%),但是将bin
                    下载到nandflash,只有偶尔可以正常初始化,大部分情况下上电后直接白屏(背光可以正常点亮)

问题分析:①可能是代码拷贝不成功
                     排除方法:下载到nandflash并从nandflash启动,用串口将从0x3000,0000的160k数据全部读出来
                     下载到sdram运行,用串口将从0x3000,0000的160k数据全部读出来
                     对比这两个数据,完全一样,说明代码拷贝成功
                    ②可能是superboot做了某些操作,我的代码里面没有做
                     排除方法:下载到sdram中后屏可以正常显示,说明寄存器配置正确,将所有与lcd相关的寄存器读出来
                     从nandflash启动,读出所有寄存器,两种情况下,寄存器读出的值相同

代码地址:http://pan.baidu.com/s/1i5qZWvr
[ 此帖被zhangcheng23在2017-08-30 18:07重新编辑 ]