在Flash烧写算法库中有对应Flash芯片的烧写算法, 但是烧写时出现超时错误.
问题类别:ARM软件工具 > Keil MDK | 浏览次数:6543 |
发布日期:2012/4/23 17:41:05 | 文章来源:完美体育·(中国)手机网页版科技 |
回复日期:2020/12/20 9:35:46 |
环境说明
Realview MDK中国版3.05以上分析描述
在Flash烧写算法库中有对应Flash芯片的烧写算法, 但是烧写时出现超时错误.问题解答
问题分析:
这种情况一般是没有对总线等内部控制寄存器进行配置,客户可以写一个初始化文件对总线等内部控制寄存器进行配置。
问题解答:
例如下面是针对S3C2410芯片和AM29160DB的Flash芯片进行配置的初始化文件:
FUNC void Init_Board(void)
{
_WWORD (0x53000000 ,0x00000000);
_WWORD (0x4A000008 ,0xFFFFFFFF);
_WWORD (0x4A00001C ,0x000007FF);
_WWORD (0x4C000014 ,0x3);
_WWORD (0x4C000004 ,0x0005c042);
_WWORD (0x56000070 ,0x00280000);
_WWORD (0x56000078 ,0x00000000);
_WWORD (0x48000000 ,0x22111110);
_WWORD (0x48000004 ,0x00000700);
_WWORD (0x48000008 ,0x00000700);
_WWORD (0x4800000C ,0x00000700);
_WWORD (0x48000010 ,0x00000700);
_WWORD (0x48000014 ,0x00000700);
_WWORD (0x48000018 ,0x00000700);
_WWORD (0x4800001c ,0x00018005);
_WWORD (0x48000020 ,0x00000700);
_WWORD (0x48000024 ,0x008e0459);
_WWORD (0x48000028 ,0x000000B2);
_WWORD (0x4800002c ,0x00000030);
_WWORD (0x48000030 ,0x00000030);
_WWORD (0x56000014 ,0x1);
_WWORD (0x56000020 ,0xaaaa55aa);
_WWORD (0x56000028 ,0xffff);
_WWORD (0x56000024 ,0x0);
}
Init_Board();
一般来说,在烧写时,都应该有这样的一个初始化文件。