打印
[STM32F4]

STM32F429启动Linux4.14成功(附ADC DAC测试)

[复制链接]
2845|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
之前我的板子已经可以运行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;马马虎虎还算比较准确吧 :)


沙发
wahahaheihei| | 2017-12-25 20:59 | 只看该作者
牛X,这个芯片放的下这个系统吗

使用特权

评论回复
板凳
不爱说话|  楼主 | 2017-12-26 10:45 | 只看该作者
wahahaheihei 发表于 2017-12-25 20:59
牛X,这个芯片放的下这个系统吗

调试的时候我是用网络下载到外扩的SDRAM里运行。
正常使用的时候我会把linux映像烧录到外扩的大容量SPI FLASH里面,上电的时候从SPI FLASH里加载到SDRAM。

使用特权

评论回复
地板
tomzbj| | 2017-12-26 15:10 | 只看该作者
不爱说话 发表于 2017-12-26 10:45
调试的时候我是用网络下载到外扩的SDRAM里运行。
正常使用的时候我会把linux映像烧录到外扩的大容量SPI F ...

zan
ram/rom需求分别多少呢?

使用特权

评论回复
5
heisexingqisi| | 2017-12-26 15:27 | 只看该作者
厉害了,有教程没,学习学习

使用特权

评论回复
6
不爱说话|  楼主 | 2017-12-26 15:30 | 只看该作者
tomzbj 发表于 2017-12-26 15:10
zan
ram/rom需求分别多少呢?

ram/rom最好都是8MByte以上,太小了限制太多。

使用特权

评论回复
7
不爱说话|  楼主 | 2017-12-26 16:41 | 只看该作者
heisexingqisi 发表于 2017-12-26 15:27
厉害了,有教程没,学习学习

对于我来说,能弄出来就费了不少劲,linux大神很多不太敢班门弄斧写教程。

使用特权

评论回复
8
Leeone| | 2017-12-26 19:47 | 只看该作者
开源????

使用特权

评论回复
9
aizaixiyuanqian| | 2017-12-26 20:20 | 只看该作者
厉害了,学习下。

使用特权

评论回复
10
不爱说话|  楼主 | 2017-12-26 23:36 | 只看该作者
Leeone 发表于 2017-12-26 19:47
开源????

这些linux源码在网上都有,不用我开源。

使用特权

评论回复
11
sdggg| | 2017-12-27 09:59 | 只看该作者
楼主的Linux是什么版本?是uc还是其他?

使用特权

评论回复
12
不爱说话|  楼主 | 2017-12-27 10:06 | 只看该作者
sdggg 发表于 2017-12-27 09:59
楼主的Linux是什么版本?是uc还是其他?

这是正式的Linux主线版本,从Linux作者Linus Torvalds的Github软件仓库下载的源码。
现在已经不需要从uClinux网站下载特殊的linux版本了,Linux主线内核已经支持no-MMU的处理器(也就是像Cortex-M单片机这样的CPU)。

使用特权

评论回复
评论
sdggg 2017-12-28 09:50 回复TA
@不爱说话 :虚拟地址就是靠硬件MMU单元实现的,这样才能把应用彻底隔离,没有虚拟系统根本管理不了应用,应用想干什么干什么,你懂的 
不爱说话 2017-12-28 09:35 回复TA
@sdggg :没太关注过这方面,主要精力做系统移植了。你可以上网搜搜。 
sdggg 2017-12-28 09:07 回复TA
@不爱说话 :我想知道的是还能实现虚拟地址? 
不爱说话 2017-12-27 21:11 回复TA
@sdggg :no-MMU不等于操作系统不管理内存,只是没有了硬件内存管理单元需要软件去管理而已。写应用就向PC上的linux一样,写c代码用GCC编译就可以了。 
sdggg 2017-12-27 17:58 回复TA
不用内存管理?那应用程序呢? 
13
@若水| | 2017-12-28 11:12 | 只看该作者
不爱说话 发表于 2017-12-26 23:36
这些linux源码在网上都有,不用我开源。

大家是想要移植后的代码,楼主可以录制一个移植的视频教程放到公开课上,可以收点辛苦费

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:飞翼电子工作室 http://shop68798667.taobao.com/

115

主题

886

帖子

34

粉丝