ARM 花屏

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:07:04
我用的ARM9是S3C2440,裸奔的情况下写了一个LCD显示图片的程序,要显示的图片分辨率是480*640的,数据是16位的,用S3C2440的LCD控制器,由于是裸机,图片只能转换成8位的16进制数据,相当于汉字的取字模的方式,因此这幅图片的整个数据量很大,有600多KB,这些都需要放在程序中,整个程序生成的BIN文件就有600多KB了。
我在ADS上调试没有问题,图片显示正常。然后把生成的BIN文件烧写到NAND FLASH中后,就只显示图的前1/3部分,后面的模糊不清,我的ADS上ARM LINKER那里,ro设的是0x30000000,rw为没填为空,SDRAM起始地址是0x30000000,按道理ro和rw空间大小都够,就是不知道问题出在哪?

首先看你的屏是不是480*640的,如果不是,你的图片要改成跟你屏幕一样大小的,再转成.C文件,或再取模,

如果不是这样,那是因为你烧到NAND FLASH里面,程序是在NANDFLASH运行的,他里面的速度很慢,会出现花屏,你在ADS上设0x30000000,还不行,你要在你的程序里面有一段程序,这段程序的功能是把你NANDFLASH的程序拷贝到你的内存里面运行,也就是0x30000000地址开始的地方,这样你的程序运行才正常,很有可能就是这个问题,你需要写段代码搬移的程序