我使用SDK6.0,按照文档:
www.deyisupport.com/.../52381.aspx
的说明修改了支持nand烧写。
在自己做的板子上通过uniflash下载后,识别不了nandflash(nand型号为MT29F1G08),使用示波器
测量不到片选信号,而不下apl和uboot时能测量到片选信号(应该是ROM中的程序在读nand)。
我在打了uboot补丁后修改了eeprom、nand引脚复用。
请问还有什么地方需要修改?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我使用SDK6.0,按照文档:
www.deyisupport.com/.../52381.aspx
的说明修改了支持nand烧写。
在自己做的板子上通过uniflash下载后,识别不了nandflash(nand型号为MT29F1G08),使用示波器
测量不到片选信号,而不下apl和uboot时能测量到片选信号(应该是ROM中的程序在读nand)。
我在打了uboot补丁后修改了eeprom、nand引脚复用。
请问还有什么地方需要修改?
我应该没说清楚。
我现在的问题是:uboot-restore识别不了nand,而且没有片选信号输出。(有读信号)
@Jian Zhou:
能不能给我一个能正常识别nand的spl和u-boot的restore版本,我看看是否我的修改问题?
谢谢!
请问下,eeprom的修改是如何进行的?
我是根据BBB板修改如下:
static int read_eeprom(void)
{
char buf[12] = {0x33, 0x30, 0x31, 0x36, 0x42, 0x42, 0x42, 0x4b, 0x32, 0x31, 0x45, 0x45};
int i;
header.magic = 0xEE3355AA;
strncpy(header.name, "A335BNLT", 8);
header.version[0] = 0x30;
header.version[1] = 0x30;
header.version[2] = 0x43;
header.version[3] = 0x30;
for(i = 0; i < 12; i++)
{
header.serial[i] = buf[i];
}
printf("jqk sizeof(mac_addr) = %d\n", sizeof(header.mac_addr));
memset(header.config, 0xff, sizeof(header.config));
memset(header.mac_addr, 0xff, sizeof(header.mac_addr));
return 0;
片选问题已经解决,发现是因为识别出的型号为"A335BNLT",后面进行了emm1的引脚复用初始化。
但现在还是不能正确读出数据。
你可以参考:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/p/68813/163930.aspx#163930
感觉就是没有裁剪干净,把那些板级依赖文件都去掉。
Jian Zhou:
按照你给的文档,修改之后,还是找不到nand。用示波器测量,发现gpmc_ad0-gpmc_ad7
线上没有数据。(在ROM运行时测量是有数据的)
应该是哪里还有没改到的地方?
@Jian Zhou
可以识别到nand了。原因是硬件上把be1n当成be0n引出来用了。
谢谢!
@Jian Zhou:
可以识别到nand了。原因是硬件上把be1n当成be0n使用。
谢谢!
@Jian Zhou:
uboot可以识别到nand了,原因是硬件把be1n当成be0n用了。
谢谢!
@Jian Zhou:
uboot可以识别到nand了,原因是硬件把be1n当成be0n使用了。
谢谢!