之前我的板子已经可以运行Linux4.2,但是那时还没有STM32 ADC和DAC的linux驱动。后来通过查看linux主线源码发现4.1x版本里
已经有这个驱动了,于是我有了升级linux kernel的想法。整个过程总的来说还算比较顺利,kernel编译,busybox文件系统制作,
rootfs 映像制作都是按照网上搜索的方法加上自己的总结做的。然后下载映像到板子上启动,OK。
一、检查ADC、DAC驱动设备文件,linux系统将这两类设备都归为IIO设备,可以在/sys/bus/iio/devices目录下找到,我创建了两
个设备iio0 adc, iio1 dac
二、测试ADC,linux通过读取adc设备文件获得采集到的ad值(STM32F429的ADC是12位的,对应量程0-4095),由于引脚悬空,所以
读取的值是浮动的。
三、测试DAC,linux可以通过echo命令写dac设备文件来改变da输出值(STM32F429的DAC是12位的,对应量程0-4095)。
最后,我短接了PA5和PF10引脚,来个ADC测量DAC。从下图可以看到DAC输出4000,ADC测得3999;DAC 2000,ADC 2015;DAC 1000,
ADC 1001;马马虎虎还算比较准确吧 :)
|