1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
各位高手,大家好:
我用的是am335x evm板子的内核源码,我现在自己做了一块板,想外接两个8位的nand flash芯片,原理图如下: ,现在CS0控制的第一块8位的nand flash已经通了,我是通过修改初始化代码以后就通了,我想请教那位高手CS1控制的第二块8位的nand flash如何调试,还有就是上面的原理图这样设计有问题吗?主要是想知道能否通过调用第一块8位的nand flash所用的函数来实现,还请各位大侠赐教,谢谢 |
|
相关推荐
10个回答
|
|
除了片选外,都是共用的,只是地址不同而已,所以可以共用那些函数
|
|
|
|
|
|
|
|
各位,再请教一下,如果我用cs1控制另一个nand flash,我是不是需要再写一个设备文件,mux_pin初始化,能否直接用下面的初始化: 因为这两片nandflash的AD线和信号线都是共用的,能否加我QQ***),进行讨论一下,谢谢。 |
|
|
|
bbslsk 发表于 2018-6-21 16:59 static void evm_nand_init(int evm_id, int profile) [ struct omap_nand_platform_data *pdata; struct gpmc_devices_info gpmc_device[2] = [ [ NULL, 0 ], [ NULL, 0 ], ]; setup_pin_mux(nand_pin_mux); pdata = omap_nand_init(am335x_nand_partitions, ARRAY_SIZE(am335x_nand_partitions), 0, 0, &am335x_nand_timings); if (!pdata) return; pdata->ecc_opt =OMAP_ECC_BCH8_CODE_HW; pdata->elm_used = true; gpmc_device[0].pdata = pdata; gpmc_device[0].flag = GPMC_DEVICE_NAND; omap_init_gpmc(gpmc_device, sizeof(gpmc_device)); omap_init_elm(); ] 参考这个函数,它只添加了CS0,你可以把CS1也添加进去 |
|
|
|
wanglinhua2627 发表于 2018-6-21 17:09 Jian Feng1,你好, 你的意思是说直接加到这个函数(evm_nand_init)中,还是在重写一个新函数,还有我上面的nand_pin_mux那样初始化有问题吗?因为除了CS0与CS1不共用,其它的都是共用,应该不能单独对这两个nandflash进行初始化,如果这样就会重复初始化的。能否帮我把CS0和CS1在nand_pin_mux和evm_nand_init()简单写一下,我可以参考一下,谢谢 |
|
|
|
bbslsk 发表于 2018-6-21 17:28 nand_pin_mux 只是初始化了管脚 evm_nand_init中最后会调用omap_init_gpmc 往Platform-bus上添加一个omap-nand 的设备,这样这个nand才能真正的初始化 研究一下evm_nand_init这个函数时怎么工作的就明白了 |
|
|
|
wanglinhua2627 发表于 2018-6-21 17:45 您 好, 我最近研究过,omap_init_gpmc 主要进入gpmc.c这个文件,对gpmc进行初始化,但是一直不太明白是怎么把CS0传进去的,还请帮忙看一下如何把CS1传进行,谢谢。 |
|
|
|
wanglinhua2627 发表于 2018-6-21 17:45 标红色的地方写错了,omap_init_gpmc是添加了一个omap-gpmc的设备,gpmc函数最后 for (p = gpmc_device->pdata; p; gpmc_device++, p = gpmc_device->pdata) if (gpmc_device->flag & GPMC_DEVICE_NAND) gpmc_nand_init((struct omap_nand_platform_data *) p); 这里依次判断cs的类型是否为nand,是的话就调用gpmc_nand_init完成nand的初始化,并注册omap-nand设备 改动就比较简单了,我手上没有两块nand的板子,你试一下 board-flash.c #define MAX_NAND_NUM 2 static struct omap_nand_platform_data omap_nand_data[MAX_NAND_NUM] = [ //.gpmc_t = &nand_default_timings, ]; struct omap_nand_platform_data * __init omap_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs, int nand_type, struct gpmc_timings *gpmc_t) [ if( cs >= MAX_NAND_NUM) return NULL; omap_nand_data[cs].cs = cs; omap_nand_data[cs].parts = nand_parts; omap_nand_data[cs].nr_parts = nr_parts; omap_nand_data[cs].devsize = nand_type; omap_nand_data[cs].gpmc_t = gpmc_t; return &omap_nand_data[cs]; ] board-am335xevm.c static void evm_nand_init(int evm_id, int profile) [ struct omap_nand_platform_data *pdata; struct gpmc_devices_info gpmc_device[2] = [ [ NULL, 0 ], [ NULL, 0 ], ]; int i; setup_pin_mux(nand_pin_mux); for(i=0;i<2;i++)[ pdata = omap_nand_init(am335x_nand_partitions, ARRAY_SIZE(am335x_nand_partitions), i, 0, &am335x_nand_timings); if (!pdata) return; pdata->ecc_opt =OMAP_ECC_BCH8_CODE_HW; pdata->elm_used = true; gpmc_device.pdata = pdata; gpmc_device.flag = GPMC_DEVICE_NAND; ] omap_init_gpmc(gpmc_device, sizeof(gpmc_device)); omap_init_elm(); |
|
|
|
wanglinhua2627 发表于 2018-6-21 18:12 Jian Feng1,您好, 根据你给的提示,现在CS1也加进去了,还有 #define MAX_NAND_NUM 2 static struct omap_nand_platform_data omap_nand_data[MAX_NAND_NUM] = [ //.gpmc_t = &nand_default_timings, ]; 是需要注释掉吗? |
|
|
|
此帖最佳答案可以参考http://e2e.ti.com/support/arm/sitara_arm/f/791/t/246997.aspx这个网址,从调试到实现,上面写的很清楚。 |
|
|
|
只有小组成员才能发言,加入小组>>
332 浏览 1 评论
528 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
772 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
649 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1124 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
54浏览 29评论
90浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
248浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
196浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
54浏览 13评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 20:00 , Processed in 1.068181 second(s), Total 95, Slave 79 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号