搜索
bottom↓
回复: 81

STM32F429运行Linux4.14,ADC/DAC驱动成功!

  [复制链接]

出0入0汤圆

发表于 2017-12-27 09:54:43 | 显示全部楼层 |阅读模式
两个月前Linux4.14已经Boot起来了 STM32F429移植Linux4.14可以boot ,后来断断续续在编译kernel时添加了STM32 ADC, DAC驱动,然后下载到板子上测试。因为是业余时间搞,进度很慢,有问题时也没有人讨论(我甚至还给STM32 ADC driver的作者发过email,但是没人理啊)还好现在成功了。在这里和大家分享一下,在Linux环境下STM32的外设是如何工作的。

一、检查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;马马虎虎还算比较准确吧 :)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2017-12-27 10:00:18 | 显示全部楼层
表示祝贺。
干的漂亮。

出0入0汤圆

发表于 2017-12-27 10:08:14 | 显示全部楼层
楼主是能成大事的人

出0入25汤圆

发表于 2017-12-27 10:13:17 | 显示全部楼层

大神厉害,,膜拜下

出0入0汤圆

发表于 2017-12-27 10:25:52 | 显示全部楼层
恭喜恭喜。

出95入8汤圆

发表于 2017-12-27 10:30:00 来自手机 | 显示全部楼层
新版linux可以不在不带mmu的处理器上跑,咨询技术问题,内存要多大?是否扩展了外部ram?  手头有407

出0入0汤圆

发表于 2017-12-27 11:07:44 | 显示全部楼层
厉害,祝贺!

出0入0汤圆

发表于 2017-12-27 11:15:33 | 显示全部楼层
429贵,sdram也贵,429如果自带sdram那就好

出0入0汤圆

 楼主| 发表于 2017-12-27 11:15:58 | 显示全部楼层
zzsczz 发表于 2017-12-27 10:30
新版linux可以不在不带mmu的处理器上跑,咨询技术问题,内存要多大?是否扩展了外部ram?  手头有407 ...

第一个问题我回答过好多遍了,这里再说一遍:
我用的是正式的Linux主线版本,从Linux作者Linus Torvalds的Github软件仓库下载的源码。
现在已经不需要从uClinux网站下载特殊的linux版本了,Linux主线内核已经支持no-MMU的处理器(也就是像Cortex-M单片机这样的CPU)。

第二个问题,内存外扩我觉得至少8MByte吧,虽然linux可裁剪,但是功能都裁掉了就没有实际意义了。407只有FSMC接口只能外扩SRAM或PSRAM,它们容量小,大容量的不好找,STM32跑linux还是从429起步吧。

出0入0汤圆

发表于 2017-12-27 11:40:59 | 显示全部楼层
666                     

出95入8汤圆

发表于 2017-12-27 11:53:49 | 显示全部楼层
本帖最后由 zzsczz 于 2017-12-27 11:57 编辑
htjgdw 发表于 2017-12-27 11:15
第一个问题我回答过好多遍了,这里再说一遍:
我用的是正式的Linux主线版本,从Linux作者Linus Torvalds ...


谢谢

出0入0汤圆

发表于 2017-12-27 11:55:11 | 显示全部楼层
我感觉小牛拉大车啊     no-mmu 在写应用程序有很多限制不? 线程之类的  

出20入186汤圆

发表于 2017-12-27 11:55:25 | 显示全部楼层
恭喜                  

出0入0汤圆

发表于 2017-12-27 12:06:36 | 显示全部楼层
有意思,stm32启动linux很快啊,以前试了一下

出0入0汤圆

发表于 2017-12-27 13:02:49 | 显示全部楼层
alpscale 发表于 2017-12-27 11:28
哇,看到这个帖子才发现,linux居然不用mmu也可以了?等下去查查资料。

哈哈,同问,有结果共享下哈。谢谢

出0入0汤圆

发表于 2017-12-27 13:31:39 | 显示全部楼层
ST_ATMEL_NXP 发表于 2017-12-27 13:02
哈哈,同问,有结果共享下哈。谢谢

楼主linux 在stm32f429已经跑起来了呀,搜搜楼主的帖子

出0入8汤圆

发表于 2017-12-27 13:36:31 | 显示全部楼层
内存在板子的底层藏着呢?

出0入0汤圆

发表于 2017-12-27 13:40:48 | 显示全部楼层
不错不错             之前楼主好像用的uclinux

出20入0汤圆

发表于 2017-12-27 13:43:05 | 显示全部楼层
  谢谢分享,喜欢这一类原创的分享。

出0入0汤圆

发表于 2017-12-27 13:44:42 | 显示全部楼层
把楼主的板子照片搬运过来
https://www.amobbs.com/thread-5667397-1-1.html




出0入0汤圆

发表于 2017-12-27 13:45:43 | 显示全部楼层
leijiayou 发表于 2017-12-27 13:40
不错不错             之前楼主好像用的uclinux

最新的4.14支持 no mmu了,所以楼主直接用最新的4.14内核了

出0入0汤圆

 楼主| 发表于 2017-12-27 14:01:09 | 显示全部楼层
mubei 发表于 2017-12-27 13:45
最新的4.14支持 no mmu了,所以楼主直接用最新的4.14内核了

其实Linux4.x就已经有STM32的代码了,不过刚开始驱动比较少。到现在还在更新,相信以后STM32的所有外设都能在linux下驱动起来。

出0入0汤圆

发表于 2017-12-27 14:11:18 | 显示全部楼层
楼主厉害啊,,,,我自己学了几个月的LINUX , 连个门都摸不到,,

出0入0汤圆

发表于 2017-12-27 14:38:16 | 显示全部楼层
htjgdw 发表于 2017-12-27 14:01
其实Linux4.x就已经有STM32的代码了,不过刚开始驱动比较少。到现在还在更新,相信以后STM32的所有外设都 ...

主要是玩不转linux,感觉入门要难多了

出0入0汤圆

 楼主| 发表于 2017-12-27 14:44:17 | 显示全部楼层
mubei 发表于 2017-12-27 14:38
主要是玩不转linux,感觉入门要难多了

先找一个可以用的linux源码,练练手,menuconfig,编译,下载调试运行都做一遍就熟了。

出0入0汤圆

发表于 2017-12-27 14:49:25 | 显示全部楼层
编译出来内核有多大啊?要多大flash

出0入0汤圆

发表于 2017-12-27 14:53:05 | 显示全部楼层
htjgdw 发表于 2017-12-27 14:44
先找一个可以用的linux源码,练练手,menuconfig,编译,下载调试运行都做一遍就熟了。 ...

主要是不理解 文件系统和linux下如何做应用

出0入0汤圆

发表于 2017-12-27 14:55:47 | 显示全部楼层
楼主强,将来创业的时候通知我,我去给你打工!

出0入0汤圆

 楼主| 发表于 2017-12-27 14:58:05 | 显示全部楼层
HearBcast 发表于 2017-12-27 14:49
编译出来内核有多大啊?要多大flash

之前Linux4.2内核带网络,串口,USB,SD卡驱动等等的镜像文件5M多。

出0入0汤圆

 楼主| 发表于 2017-12-27 14:59:15 | 显示全部楼层
javenreal 发表于 2017-12-27 14:55
楼主强,将来创业的时候通知我,我去给你打工!

我论坛积分还没你高呢,应该是你创业我给你打工吧:)

出0入0汤圆

发表于 2017-12-27 15:07:55 | 显示全部楼层
看到楼主店铺里有一个“手持式 PM2.5检测仪 温湿度计 气压计 甲醛检测”,这个用的传感器是权威的吗?

出0入59汤圆

发表于 2017-12-27 15:16:18 | 显示全部楼层
用STM32F429 的价钱不便宜吧,  为啥不用NCU972 这类芯片。38来块钱,集成64MB DDR,非BGA封装,可以直接上linux

出0入0汤圆

发表于 2017-12-27 15:21:52 | 显示全部楼层
为了表示祝贺!我特意申请并注册了账号!我也正研究这个东西,希望和你以后多多交流

出0入0汤圆

发表于 2017-12-27 15:34:11 | 显示全部楼层
429跑linux性价比不高啊

出0入0汤圆

发表于 2017-12-27 15:49:53 | 显示全部楼层
我是新人,怎么加不了好友啊!想向你请教共同让stm32可以正常运行linux

出0入0汤圆

发表于 2017-12-27 15:51:28 | 显示全部楼层
如何提高我的权限等级啊?!这个网站弄的怎么像玩游戏做任务升级一样啊。哈哈,我花钱了应该是VIP啊。为什么等级连加个好友都不行

出0入0汤圆

 楼主| 发表于 2017-12-27 16:21:20 | 显示全部楼层
本帖最后由 htjgdw 于 2017-12-27 16:23 编辑
king-arm 发表于 2017-12-27 15:49
我是新人,怎么加不了好友啊!想向你请教共同让stm32可以正常运行linux


可能是你的等级不够吧?论坛的事我就不清楚了。再说了,不只站短这一种交流方法的。。。

出0入0汤圆

发表于 2017-12-27 16:27:33 | 显示全部楼层
本帖最后由 king-arm 于 2017-12-28 09:03 编辑

新人,不知道不让在这里留qq,那就在这里进行讨论吧。我刚才在网上也买了一个stm32F429的板子,希望向你学习,一起研究研究stm32上运行linux系统,进而多了解一下linux的机制

出0入0汤圆

发表于 2017-12-27 17:07:08 | 显示全部楼层
king-arm 发表于 2017-12-27 15:51
如何提高我的权限等级啊?!这个网站弄的怎么像玩游戏做任务升级一样啊。哈哈,我花钱了应该是VIP啊。为什 ...

这是个竞技游戏,RMB玩家被吊打,很正常。

出0入0汤圆

发表于 2017-12-27 17:11:40 | 显示全部楼层
楼主您好,请问后续会有什么计划,方便透露吗?

出0入0汤圆

发表于 2017-12-27 17:11:56 | 显示全部楼层
历害!祝贺!

出0入0汤圆

发表于 2017-12-27 17:17:37 | 显示全部楼层
我想了解一下 这个写应用程序与标准的linux一样么? 还有就是目前开源的linux软件能在这上面运行么。比如做根文件用buildroot 它可以很简单的选用软件包。那些软件包可以在这上面运行么?

出0入0汤圆

发表于 2017-12-27 20:31:58 | 显示全部楼层
到现在为此,我连做LINUX系统的编译环境都不会搭。

出0入0汤圆

发表于 2017-12-27 20:41:14 | 显示全部楼层
king-arm 发表于 2017-12-27 16:27
那方便加我的qq吗?753502062.我是新人估计是等级低

新手先看版规,不然很可能被封号

出0入0汤圆

发表于 2017-12-27 20:45:22 | 显示全部楼层
这个厉害了

出0入0汤圆

 楼主| 发表于 2017-12-27 21:03:51 | 显示全部楼层
1066950103 发表于 2017-12-27 17:17
我想了解一下 这个写应用程序与标准的linux一样么? 还有就是目前开源的linux软件能在这上面运行么。比如做 ...

带GUI的肯定不行。
根文件系统我是用busybox做的initramfs,buildroot没用过。

出0入0汤圆

 楼主| 发表于 2017-12-27 21:08:02 | 显示全部楼层
liu672992381 发表于 2017-12-27 17:11
楼主您好,请问后续会有什么计划,方便透露吗?

目前有两个方向还在考虑:1、继续完善STM32F429的linux。  2、在STM32F7上移植linux。

出0入0汤圆

发表于 2017-12-27 22:37:25 来自手机 | 显示全部楼层
没mmu后,还有内存保护吗?

出0入0汤圆

发表于 2017-12-27 23:14:31 来自手机 | 显示全部楼层
king-arm 发表于 2017-12-27 16:27
那方便加我的qq吗?753502062.我是新人估计是等级低

学习版规去

出0入0汤圆

发表于 2017-12-27 23:43:54 | 显示全部楼层
楼主如果能出个 step-by-step 的教程就好了,就买块楼主的板子来捣鼓捣鼓,,,

出0入0汤圆

发表于 2017-12-28 00:01:44 | 显示全部楼层
厉害啊,对这个很感兴趣!!!!!!11

出0入0汤圆

发表于 2017-12-28 08:32:12 | 显示全部楼层
本帖最后由 king-arm 于 2017-12-28 08:59 编辑
htjgdw 发表于 2017-12-27 21:08
目前有两个方向还在考虑:1、继续完善STM32F429的linux。  2、在STM32F7上移植linux。 ...


那就先弄“继续完善STM32F429的linux”这个吧,我想参与大家一起弄,还有个讨论。

出0入0汤圆

发表于 2017-12-28 08:40:16 | 显示全部楼层
king-arm 发表于 2017-12-28 08:32
那就先弄“继续完善STM32F429的linux”这个吧,我想参与大家一起弄,还有个讨论。回头你方便的时候,加一 ...

论坛规矩是不能留扣扣之类联系方式,直接发帖讨论,即时聊天软件信息很快就抹掉了,没法留下东西给后面的人看。
让你学习新手注意事项你不听,小心被封号吧

出0入0汤圆

发表于 2017-12-28 08:48:55 | 显示全部楼层
楼主写个 移植详细步骤吧   让坛友都学习膜拜下!


出0入0汤圆

发表于 2017-12-28 08:59:01 | 显示全部楼层
mubei 发表于 2017-12-28 08:40
论坛规矩是不能留扣扣之类联系方式,直接发帖讨论,即时聊天软件信息很快就抹掉了,没法留下东西给后面的 ...

啊!不知道啊,马上删掉

出0入0汤圆

 楼主| 发表于 2017-12-28 09:32:17 | 显示全部楼层
ljt80158015 发表于 2017-12-28 08:48
楼主写个 移植详细步骤吧   让坛友都学习膜拜下!

大家的心情我是可以理解的,说句实在的,我可以算linux业余爱好者,不是Linux开发者,很多时候遇到问题只有上网搜索,解决了,有时候也是知其然不知其所以然。
linux大神很多不太敢班门弄斧写教程,以免误人子弟。

出0入0汤圆

发表于 2017-12-28 14:16:28 | 显示全部楼层
htjgdw 发表于 2017-12-27 21:08
目前有两个方向还在考虑:1、继续完善STM32F429的linux。  2、在STM32F7上移植linux。 ...

在您的某宝店看了,有这块开发板,看销量只有4块。个人愚见如下:
1、为何不写些PDF教程或者出视频教程?用文档资料来做推销更好。
2、linux大神不屑写,小白们学习就更加困难了。
3、若是怕写了以后没有销路,大家可以在论坛众筹,或许会有更多人参与。

出0入0汤圆

发表于 2017-12-28 16:16:42 | 显示全部楼层
期待LZ的step by step教程

出0入0汤圆

发表于 2017-12-28 16:56:47 来自手机 | 显示全部楼层
高手,摩拜

出0入0汤圆

发表于 2017-12-30 10:05:37 来自手机 | 显示全部楼层
即将发布MPU系列,stm32mp15xx,双核cortex a7, 650M主频,运行uboot,linux,不需要在f429上跑linux了

出0入0汤圆

发表于 2017-12-30 10:50:33 来自手机 | 显示全部楼层
liu672992381 发表于 2017-12-27 17:07
这是个竞技游戏,RMB玩家被吊打,很正常。

哈哈哈哈这个有意思…别的地方都是人民币玩家吊打普通玩家的…这里貌似相反…

出0入0汤圆

 楼主| 发表于 2017-12-30 12:14:29 来自手机 | 显示全部楼层
jerry7922 发表于 2017-12-30 10:05
即将发布MPU系列,stm32mp15xx,双核cortex a7, 650M主频,运行uboot,linux,不需要在f429上跑linux了 ...

哪的消息?有链接吗?

出870入263汤圆

发表于 2017-12-30 13:39:54 | 显示全部楼层
请问楼主arm编译器用的哪个?

出0入0汤圆

发表于 2017-12-30 13:52:10 | 显示全部楼层
armstrong 发表于 2017-12-30 13:39
请问楼主arm编译器用的哪个?

我不懂linux,我的认知里玩linux好像只有gcc

出0入0汤圆

发表于 2017-12-30 16:09:56 | 显示全部楼层
htjgdw 发表于 2017-12-30 12:14
哪的消息?有链接吗?

链接还没有的,没正式公布前,还是不会在网站上放链接的啦。

出0入0汤圆

发表于 2017-12-30 16:43:35 | 显示全部楼层
jerry7922 发表于 2017-12-30 10:05
即将发布MPU系列,stm32mp15xx,双核cortex a7, 650M主频,运行uboot,linux,不需要在f429上跑linux了 ...

NXP早就有i.MX6ULL型号了,不知道ST的这款有什么优势。希望能降低使用Linux的门槛,包括硬件及软件设计,就像ST在M3时代做的那样。

出0入0汤圆

发表于 2017-12-30 17:55:19 | 显示全部楼层
牛逼!!!!!!!

出0入25汤圆

发表于 2017-12-30 19:49:44 | 显示全部楼层
jerry7922 发表于 2017-12-30 10:05
即将发布MPU系列,stm32mp15xx,双核cortex a7, 650M主频,运行uboot,linux,不需要在f429上跑linux了 ...


总算来了!!

前两天还想,Atmel有ARM9、Cortex-A5,Freescale有ARM9、Cortex-A7、Cortex-A9,ST的STM32搞的这么成功,为啥不出Cortex-A嵌入式处理器呢?要说实力,ST也不比另外两家差,不可能做不出来。。

不过为啥还要用STM32xx这种命名呢??叫STA32xx不是更合理,,唯一的解释就是ST对自己的嵌入式处理器没信心,想沾下STM32单片机的光

出0入0汤圆

 楼主| 发表于 2017-12-30 23:10:57 来自手机 | 显示全部楼层
armstrong 发表于 2017-12-30 13:39
请问楼主arm编译器用的哪个?

arm-none-eabi-gcc

出0入0汤圆

 楼主| 发表于 2017-12-30 23:12:19 来自手机 | 显示全部楼层
XIVN1987 发表于 2017-12-30 19:49
总算来了!!

前两天还想,Atmel有ARM9、Cortex-A5,Freescale有ARM9、Cortex-A7、Cortex-A9,ST的STM3 ...

ST的股票代码就是STM

出870入263汤圆

发表于 2017-12-31 16:37:54 | 显示全部楼层

这个编译器的C库不调用linux内核API的吧?

出100入101汤圆

发表于 2017-12-31 17:14:42 | 显示全部楼层
htjgdw 发表于 2017-12-27 14:58
之前Linux4.2内核带网络,串口,USB,SD卡驱动等等的镜像文件5M多。


这个需要自己裁剪么?5m,没有想象中的大。

出0入0汤圆

发表于 2017-12-31 18:03:31 来自手机 | 显示全部楼层
jerry7922 发表于 2017-12-30 10:05
即将发布MPU系列,stm32mp15xx,双核cortex a7, 650M主频,运行uboot,linux,不需要在f429上跑linux了 ...

有没有内置 stm32 的协处理器

出0入0汤圆

发表于 2017-12-31 21:16:15 | 显示全部楼层
canopen 发表于 2017-12-31 18:03
有没有内置 stm32 的协处理器

我只扫了一眼开头儿 ,等有空好好看看哈

出0入0汤圆

发表于 2017-12-31 21:58:22 | 显示全部楼层
现在有推荐的能够跑linux的简单一些的mcu么?方便从keil升级过去

出0入0汤圆

发表于 2018-1-1 09:51:54 来自手机 | 显示全部楼层
fhqiplj 发表于 2017-12-31 21:58
现在有推荐的能够跑linux的简单一些的mcu么?方便从keil升级过去

没有太简单的吧,linux硬件和软件都挺复杂

出0入0汤圆

发表于 2018-1-2 02:16:41 来自手机 | 显示全部楼层
本帖最后由 xwkm 于 2018-1-2 02:18 编辑
stdio 发表于 2017-12-27 22:37
没mmu后,还有内存保护吗?


有mpu的核心有内存保护,但没有重映射。自然就没有虚拟内存,无法实现页面交换和文件映射。

没有mmu的系统使用起来会比较受限。

出0入0汤圆

发表于 2018-1-2 02:19:25 来自手机 | 显示全部楼层
另外,内核就别去github下了。官方地址是kernel.org。包括提交也在这。github那个只是个(在几年前kernel.org被黑过一次时开始使用的)镜像。

出0入0汤圆

 楼主| 发表于 2018-1-2 10:39:42 | 显示全部楼层
xwkm 发表于 2018-1-2 02:19
另外,内核就别去github下了。官方地址是kernel.org。包括提交也在这。github那个只是个(在几年前kernel.o ...

谢谢!Github我也只下载正式版,那里rc版很多,一般就是看看有什么更新。

出0入0汤圆

发表于 2018-1-2 11:52:27 | 显示全部楼层
厉害了楼主,恭喜啦~

出0入0汤圆

发表于 2019-2-11 15:35:13 | 显示全部楼层
膜拜一下大神

出0入0汤圆

发表于 2019-7-10 11:58:42 | 显示全部楼层
标记下。等有空好好看看
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 01:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表