zynq-7000系列基于7015的linux下IIC->RTC的扩展使用(DS3232)
来源:互联网 发布:控制手机的软件 编辑:程序博客网 时间:2024/05/16 05:28
作者:卢浩
时间:2017.3.6
转载请注明出处
在7015上通过I2C挂在RTC(DS3232),首先我们需要在vivado工程里面确认I2C控制器已经被选中。
如下图:
我们可以看到I2C0 I2C1控制器都已经被PS端选中,我的实验中,是把DS3232挂载在I2C1控制器上。
首先了解一下原理,I2C通过读取DS3232的地址来进行通信,我们可以看一下DS3232的datasheet。
http://datasheets.maximintegrated.com/en/ds/DS3232.pdf
里面有这一句
The slaveaddress byte contains the 7-bit DS3232 address,which is 1101000,16进制0X68。
在zynq-zed.dts文件添加如下配置
aliases { ethernet0 = &gem0; i2c0 = &i2c0; i2c1 = &i2c1; serial0 = &uart1; spi0 = &qspi; mmc0 = &sdhci0; };
&i2c1 { status = "okay"; clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_default>; #address-cells = <1>; #size-cells = <0>; rtc@68 { compatible = "dallas,ds3232"; #address-cells = <1>; #size-cells = <0>; reg = <0x68>; };};
&pinctrl0 {pinctrl_i2c1_default: i2c1-default { mux { groups = "i2c1_0_grp"; function = "i2c1"; }; conf { groups = "i2c1_0_grp"; bias-pull-up; slew-rate = <0>; io-standard = <1>; }; };};在kernel的makemenuconfig里面选中关于DS3232的驱动;
<*> Dallas/Maxim DS3232/DS3234
如下图:
然后编译kernel和dts文件。上电启动,第一次使用的时候,才能会报错如下:
# hwclock
hwclock: RTC_RD_TIME: Invalid or incomplete multibyte or wide character
这里就需要把系统的时间设置到时钟芯片或主芯片自带的rtc里面去,如下
#hwclock –w
然后rtc就可以用了。
如果在调试过程中,内核启动log没有打印出关于ds3232的信息,那么就需要用示波器看一下I2C总线上的地址了,是不是0X68,然后是NCK还是ACK,判断硬件是否存在问题。
- zynq-7000系列基于7015的linux下IIC->RTC的扩展使用(DS3232)
- zynq-7000系列基于7015的linux下 I2C-bus switch的扩展使用
- zynq-7000系列基于zynq-7015的vivado初步设计之linux下控制PL扩展的光以太网(1000BASE-X)
- zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
- Zynq平台下linux的I2C驱动(RTC+EEPROM)
- Zynq平台下linux的I2C驱动(RTC+EEPROM)
- zynq-7000系列基于zynq-zed的AMP模式的实现(linux+bare-metal)
- zynq-7000系列基于zynq-zed的linux-uboot的编译
- zynq-7000系列基于zynq-zed双核ARM-Cortex-A9性能的评估测试(多核的使用)
- zynq-7000系列基于zynq-zed的vivado初步设计之使用jtag->uart(MDM)
- zynq-7000系列基于zynq-zed的MAC->MAC 的实现(fixed-link)
- linux下,qemu模拟Zynq-7000 EPP可扩展处理平台的搭建过程
- zynq-7000系列基于zynq-zed的ramdisk文件系统的修改
- zynq-7000系列基于zynq-zed的RGMII以太网控制器稳定性的问题
- Xilinx ZYNQ 7000+Vivado2015.2系列(六)创建一个基于AXI总线的GPIO IP并使用
- LINUX下的IIC驱动(一)
- LINUX下的IIC驱动(二)
- LINUX下的IIC驱动(三)
- [BZOJ]1018 堵塞的交通
- 观察者模式和事件委托和代理模式
- 各种JS模板引擎对比数据(高性能JavaScript模板引擎)
- axure rp pro入门
- CF #403 Div.2 A
- zynq-7000系列基于7015的linux下IIC->RTC的扩展使用(DS3232)
- 手机通信录扫名片识别内容技术SDK
- PB数据窗口中各项指标的获取方法
- Solr 6.3 Getting Started solrconfig.xml配置介绍
- 函数作为返回值/匿名函数/装饰器
- 在PB中动态修改SQL语句
- 分享一份专家编辑的安卓知识图谱
- 20170307找女朋友之路思考总结
- Codeforces Round #403 B. The Meeting Place Cannot Be Changed(二分)