ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

驱动学习2:EBI总线,问题:驱动加载不上或读取iic数据失败,待解决

2021-09-23 15:07:53  阅读:195  来源: 互联网

标签:存储 optic 外部 总线 EBI 不上 驱动 控制器


EBI-----------External Bus Interface 外部总线接口

ARM手册解释:
设计外部总线接口(External Bus Interface,EBI)
是为了确保能在一些外部存储设备和ARM 内置的存储控制器之间进行正确的数据传输

静态存储,DDR,SDRAM 和 ECC 控制器都集成到 EBI 的外部存储控制器,它可以处理不
同类型的外部存储器和外设,例如 SRAM,PROM,EPROM,EEPROM,Flash,DDR2
和 SDRAM。
EBI 工作在 1.8V 或者 3.3V(VDDIOM1)的环境下。
EBI 的专用电路支持 CompactFlash 和 NAND Flash 协议,这样可以减少对外部元件的要
求。
EBI 可以处理最大 6 个外部存储设备的数据传输,每一个在嵌入存储控制器里定
义地址空间。数据可以通过 16-位或者 32-位数据总线,最大 26 位的地址总线,最大 6 个
片选(NCS[5:0])和其他一些复用引脚来对外部不同的存储器进行传输

然后在挂载到AHB上,除了(user Interface挂到APB上)

问题:arm广播通过EBI找不到外部存储设备?insmod不了设备节点或插入usb有时识别有时识别不到?

参考:https://bbs.csdn.net/topics/390832483 中用户微水的回答如下:
SDRARM本身就是挂载在EBI总线上,且在bootstrap中已经初始化好了,如果要在linux kernel中访问SDRAM,是不需要专门写一个驱动的,只要用ioremap函数将实际的物理地址映射就好了,然后操作那个映射后的地址,就可以了。

所以关于EBI设备是在bootstrap中已经初始化的。
所以需要查看电路上在bootstrap起来的过程中是否有效的初始化EBI设备

SMC设备 (静态存储控制)
fpga设备挂载EBI上的引脚
EBI_NRD_F //读使能
EBI_NWE_F //写使能
EBI_NCS2_F //片选线 --EBI_NCS2
对应arm9 上PC13/NCS2
驱动模块打印:
eeprom_read_page: i2c_read failed with error -998.
module_get_valid_info: read eeprom module info failed.
optic_init: get valid module info failed with err -998.
optic_init: optic eeprom maybe not found!
optic_init used 96004 us.

标签:存储,optic,外部,总线,EBI,不上,驱动,控制器
来源: https://blog.csdn.net/qq_44635313/article/details/120348415

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有