欢迎来到天天文库
浏览记录
ID:1773328
大小:42.00 KB
页数:5页
时间:2017-11-13
《linux-2.6.32.2内核在mini2440上的移植(十二)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux-2.6.32.2内核在mini2440上的移植(十二)---移植I2CEEPROM驱动移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS5.5,1G内存。2,集成开发环境:ElipseIDE3,编译编译环境:arm-linux-gccv4.4.3,arm-none-linux-gnueabi-gccv4.5.1。4,开发板:mini2440,2Mnorflash,128Mnandflash。5,u-boot版本:u-boot-2009.086,linux版本:lin
2、ux-2.6.32.27,参考文章:嵌入式linux应用开发完全手册,韦东山,编著。Mini2440之Linux移植开发实战指南【1】在内核中配置I2C驱动Linux-2.6.32.2对S2C2440的I2C接口提供了完善的驱动,因此我们只需在内核中配置一下即可使用。提示:其实Linux-2.6.32.2内核缺省的mini2440_defconfig就已经配置好了I2C驱动,我们只不过在此打开看看具体的配置路径。在内核源代码目录执行:makemenuconfig,进入内核配置主菜单,依次选择进入如下子菜单:DeviceDriv
3、ers---><*>I2Csupport--->I2CHardwareBussupport---><*>S3C2410I2CDriver我们看到这里已经选择好了“<*>S3C2410I2CDriver”,这里的S3C2410也可以适用于S3C2440,因为它们的I2C端口及寄存器定义都是完全相同的。以上配置所对应的驱动源代码为:linux-2.6.32.2/drivers/i2c/busses/i2c-s3c2410.c。确认以上配置后,退出并保存。【2】编译测试重新编译后,将uImage复制到/nfsboot/kernel,
4、然后重启开发板,在控制台终端可以看到如下启动信息:......SCSIsubsysteminitializedusbcore:registerednewinterfacedriverusbfsusbcore:registerednewinterfacedriverhubusbcore:registerednewdevicedriverusbs3c-i2cs3c2440-i2c:slaveaddress0x10s3c-i2cs3c2440-i2c:busfrequencysetto98KHzs3c-i2cs3c2440-i2c:
5、i2c-0:S3CI2CadapterNET:Registeredprotocolfamily2......Mini2440为了方便用户测试,基于I2C总线挂接了一个EEPROM芯片,它是AT24C08,通过写入和读取该芯片,我们就可以测试I2C总线驱动了。这里友善官方提供了一个命令行测试程序,名为“i2c”,它是基于开源的eeprog软件修改而来的,eeprog软件的下载地址是:http://codesink.org/eeprog.html。I2c的测试代码位于光盘/linux示例代码/examples/i2c,将其复制li
6、nux主机/root/linux-test/codetest目录下,然后进入该目录执行makeMakefile,可生成测试程序可执行代码;[root@localhosti2c]#makearm-linux-gcc-Wall-O2-c-oeeprog.oeeprog.carm-linux-gcc-Wall-O2-c-o24cXX.o24cXX.carm-linux-gcc-Wall-O2-oi2ceeprog.o24cXX.o[root@localhosti2c]#然后将生成的i2c复制到/nfsboot/nfs[root@lo
7、calhosti2c]#cpi2c/nfsboot/nfs然后再到串口终端中执行命令i2c–w可以向板子的24C08器件中写入数据(0x00-0xff):[root@mini2440sdcard]#cd../nfs[root@mini2440nfs]#lsadc_testbacklight_testi2ctstest[root@mini2440nfs]#./i2c-wOpen/dev/i2c/0with8bitmodeErroreeprom_open:NosuchfileordirectoryErroratline90:una
8、bletoopeneepromdevicefile(checkthatthefileexistsandthatit'sreadable)sysmsg:Nosuchfileordirectory出现错误,没有I2c/0这个文件。[root@mini2440nfs]#ls/dev
此文档下载收益归作者所有