21ic电子技术开发论坛

标题: 我的STM32F429开发板成功运行Linux4.2(uClinux) [打印本页]

作者: 不爱说话    时间: 2017-1-18 11:14
标题: 我的STM32F429开发板成功运行Linux4.2(uClinux)
本帖最后由 不爱说话 于 2017-1-24 13:30 编辑

一直对STM32运行Linux系统感兴趣,因为它有完善的网络功能和数不清的开源软件可用,这是其他嵌入式操作系统无法比拟的。4年前曾做过一块STM32F103核心板并移植了uClinux 我DIY的STM32核心板启动uClinux成功了 后来并没有继续下去,首先因为RAM容量不够Linux消耗内存还是比较多的,其次ST的uClinux BSP很不完善,除了串口,许多外设的驱动都没有。因此这些年来我没有再碰STM32 uclinux
直到后来,ST推出了可以外扩SDRAM的STM32F429,emcraft推出了对应的Linux 4.2 BSP,我的感觉是:还不错呦!是不是可以玩玩?于是经过一段时间的筹备规划,最近利用业余时间做了一块F429板子,本着一切从简的原则,只外扩了必要的外设,其他未用IO一律引出。
先介绍一下板载资源:STM32F429,16MB SDRAM, 16MB SPI FLASH, 10/100M以太网(LAN8720A),Micro-SD卡槽, Micro-USB Device接口,USB Host接口,串口(USART1),SWD接口,外扩IO包括LTDC, I2C, SPI等复用功能。
好了,该上图了。

正面

正面
   

背面

背面


系统启动信息

U-Boot, Linux启动信息

U-Boot, Linux启动信息


以太网(eth0)

eth0

eth0


SSH(putty)通过网络登录开发板

putty

putty


Micro-SD卡插入识别检测

mmc

mmc


USB Device接口连接PC(虚拟串口)

Gadget Serial

Gadget Serial


板子做回来后,这一个月里每天晚上焊接调试得不亦乐乎,发现了几个小bug也都一一解决了,唯独USB Host驱动还没有搞定,年前也就这样了。年后准备再做一版修复之前的问题。

----------------------------------------------------------------------------------------------------------------
年前最新进展,USB HS OTG Host (Full Speed)驱动调试成功,可以正确识别并挂载U盘了(/dev/sda1)。这样一来初版PCB所有的设计目标都达到了,过年后就可以做新版PCB了。在这里提前给大家拜个早年:)

USB Mass Storage

USB Mass Storage


作者: sunday151640    时间: 2017-1-18 11:26
看着大神玩。。
作者: weidni2009    时间: 2017-1-18 12:14
先顶一个!
作者: mmuuss586    时间: 2017-1-18 12:29
厉害;
作者: yklstudent    时间: 2017-1-18 13:22
水平厉害的不要不要的
作者: wsnsyy    时间: 2017-1-18 13:51
真是厉害,要是有资料分享就更好了
作者: kj101129    时间: 2017-1-18 14:23
真的很厉害!!
作者: michael_llh    时间: 2017-1-18 15:24
很强大!
作者: whtwhtw    时间: 2017-1-18 15:31
赞一个!
作者: 不爱说话    时间: 2017-1-18 15:39
谢谢大家关注!你们的回帖是对我最大的鼓励。
关于源码,有兴趣的可以去www.emcraft.com网站注册下载。
作者: 皈依    时间: 2017-1-18 16:38
厉害了我的哥
作者: 戈卫东    时间: 2017-1-18 19:50
原来可以当MPU用
作者: huaiqiao    时间: 2017-1-18 20:35
之前看st,不是uClinux在f103之后,再没有更新了么


要是楼主能稍稍分享下,怎么移植的就好了。。。。O(∩_∩)O哈哈~
作者: suncuicui2761    时间: 2017-1-19 08:05

作者: 疯子8972    时间: 2017-1-19 08:30
m4机能太有限了^_^
作者: 不爱说话    时间: 2017-1-19 08:54
huaiqiao 发表于 2017-1-18 20:35
之前看st,不是uClinux在f103之后,再没有更新了么

emcraft网站有不少应用笔记的,我就是按照上面说的一点一点做的。
作者: fswyt    时间: 2017-1-19 09:07
学习了,大神
作者: 00750    时间: 2017-1-19 09:12
mark!支持
作者: dyyxp    时间: 2017-1-19 09:29
是几层板呀?怎么看起象双面板呢?!
作者: mini1986    时间: 2017-1-19 10:20
nb,顶一个......
作者: lemonboard    时间: 2017-1-19 12:03
太神啊~~
求带走啊~~
作者: 不爱说话    时间: 2017-1-19 14:33
dyyxp 发表于 2017-1-19 09:29
是几层板呀?怎么看起象双面板呢?!

不要一看到SDRAM就言必称四层板六层板。
对于一个MCU板两层足够了。
作者: 犹豫的大三    时间: 2017-1-19 15:25
厉害
作者: 三代之柳    时间: 2017-1-19 16:32
点个赞
作者: huaiqiao    时间: 2017-1-19 20:47
不爱说话 发表于 2017-1-19 08:54
emcraft网站有不少应用笔记的,我就是按照上面说的一点一点做的。

http://www.emcraft.com/products/224#som

你说的是这个?

这个F4的只有F429,如果要想移植是不是它的硬件 必须要跟这个网站的一样才行?
作者: 不爱说话    时间: 2017-1-20 09:13
huaiqiao 发表于 2017-1-19 20:47
http://www.emcraft.com/products/224#som

你说的是这个?

不必完全一致,可以自己修改源码支持你的硬件。
作者: liuchangyin    时间: 2017-1-20 10:36

作者: huaiqiao    时间: 2017-1-20 21:00
不爱说话 发表于 2017-1-20 09:13
不必完全一致,可以自己修改源码支持你的硬件。

哦哦,这样啊
作者: mmbs    时间: 2017-1-20 21:45
以前看过完ucos,还能linux呢
作者: mmbs    时间: 2017-1-20 21:47
运行效果怎么样
作者: 不爱说话    时间: 2017-1-21 00:50
mmbs 发表于 2017-1-20 21:47
运行效果怎么样

我只测试了图片里的这些命令行模式,很流畅。比以前的F103跑uClinux强多了。
作者: shalixli    时间: 2017-1-21 17:01
然后,就是没有然后了, 没有实质意义。
作者: typeof    时间: 2017-1-21 17:19
确实很厉害的,能够运行linux
作者: typeof    时间: 2017-1-21 17:22
自己做的PCB吗?
作者: zhuotuzi    时间: 2017-1-21 17:51
开发板做的真漂亮,系统是放内存卡运行还是烧录进去的?
作者: 不爱说话    时间: 2017-1-22 16:56
zhuotuzi 发表于 2017-1-21 17:51
开发板做的真漂亮,系统是放内存卡运行还是烧录进去的?

系统放SPI FLASH里
作者: 不爱说话    时间: 2017-1-22 16:58
typeof 发表于 2017-1-21 17:22
自己做的PCB吗?

是的,硬件原理图PCB,焊接,系统编译,移植,debug都是我做的
作者: LyCrystal    时间: 2017-1-22 20:37
顶顶
作者: seawwh    时间: 2017-1-23 11:14
咨询楼主, ucLinux 能否加入 FAT,NTFS, exFAT 文件系统?
作者: 不爱说话    时间: 2017-1-23 13:40
seawwh 发表于 2017-1-23 11:14
咨询楼主, ucLinux 能否加入 FAT,NTFS, exFAT 文件系统?

我挂载的tf卡就是fat格式的,ntfs linux也能挂载,exfat没有试过。只要linux能挂载的文件系统我这个uclinux就行。因为现在我用的uclinux(姑且这么叫吧)就是Linux编译时选了No-MMU选项而已。
作者: 不爱说话    时间: 2017-1-23 13:45
看到很多网友以为这是十几年前ARM7时代的uCLinux。在这里说明一下我用的uCLinux和ARM7时代的uClinux版本上的区别。
原来的uClinux的主页已经好多年没有更新了。现在Linux mainline里面已经有no-MMU选项了(相当于以前的uClinux),这是我现在用的版本。和以前的uClinux出处已经不同了。
以前的uCLinux内核版本是2.4,我用的已经是4.2了,驱动架构和现在的Linux一样使用Device Tree
作者: 还是看不穿    时间: 2017-1-23 14:47
楼主好厉害

作者: zhuotuzi    时间: 2017-1-23 20:50
这种方式启动系统运行,确实比那种烧录进去的方便多了。
作者: qiliangzhong    时间: 2017-1-25 15:03
nb
作者: maiweiqi    时间: 2017-1-25 16:29
见到有个F7的版本,下来试试
作者: 不爱说话    时间: 2017-1-25 16:32
maiweiqi 发表于 2017-1-25 16:29
见到有个F7的版本,下来试试

STM32F7现在价格怎样了?降到40-50准备试试。
作者: maiweiqi    时间: 2017-1-25 16:37
不爱说话 发表于 2017-1-25 16:32
STM32F7现在价格怎样了?降到40-50准备试试。

不清楚,我们买的是核心板的,二百多,做界面用的
作者: 迪卡    时间: 2017-1-26 11:01
怎么移植的
作者: 不爱说话    时间: 2017-2-1 09:19
本帖最后由 不爱说话 于 2017-2-17 15:10 编辑
迪卡 发表于 2017-1-26 11:01
怎么移植的

这个题目太大了,我没法一两句话讲清楚:)
作者: yszh0836    时间: 2017-2-6 12:03
大家不是说STM32F系列不能用linux吗,因为cortex内核跟arm9内核不一样,没有MMU单元啊?
到底怎么回事?????
作者: dengxindieying    时间: 2017-2-16 23:38
厉害,有bsp吗?
作者: 不爱说话    时间: 2017-2-17 15:36
dengxindieying 发表于 2017-2-16 23:38
厉害,有bsp吗?

有的。年后新做的板子回来了,正在测试,一切进展顺利。
作者: lihuami    时间: 2017-2-17 22:39

作者: lihuami    时间: 2017-2-17 22:45
原来STM32F429还能跑linux程序呢。
作者: huangcunxiake    时间: 2017-2-18 09:09
很厉害啊,怎么移植的?
作者: hhuysqt    时间: 2017-2-21 21:04
顶一个
楼主试着给4.9的内核搞个patch共享出来吧orz
作者: 不爱说话    时间: 2017-2-22 11:01
hhuysqt 发表于 2017-2-21 21:04
顶一个
楼主试着给4.9的内核搞个patch共享出来吧orz

以后再说吧,现在想把硬件驱动慢慢都完善了,升级内核不急。
已经在网上看到有STM32F429的AD,PWM,CAN的uclinux驱动了,如果这些都搞定了就很全了。
作者: cruelfox    时间: 2017-2-22 13:20
赞啊,两层板SDRAM跑90MHz有没有遇到问题?
作者: 不爱说话    时间: 2017-2-22 14:20
cruelfox 发表于 2017-2-22 13:20
赞啊,两层板SDRAM跑90MHz有没有遇到问题?

没有遇到问题。
作者: wmslecz    时间: 2017-2-22 14:56
非常的强悍!!!
作者: 野火_firege    时间: 2017-3-16 11:44
顶一个                  
作者: feixiangspring    时间: 2017-3-16 22:26
看着就爽
作者: springvirus    时间: 2017-3-17 08:41
关于那几个bug的详细情况,能否说下出处和解决方法,一起学习下
作者: 不爱说话    时间: 2017-3-17 11:00
springvirus 发表于 2017-3-17 08:41
关于那几个bug的详细情况,能否说下出处和解决方法,一起学习下

年前的那版网络有问题,需要飞线解决。其他功能正常。
年后新版已经解决了网络问题,没有bug了。
作者: 不爱说话    时间: 2017-3-28 08:13
最近翻出一片32M的SDRAM焊到这块F429板子上微调一下时序可以工作啦!cat /proc/meminfo查看剩余内存有21M yeah!
作者: hellowater    时间: 2017-4-2 07:04
楼主大神,跟我师兄一样厉害。
作者: chenci2013    时间: 2017-4-2 11:35
楼主自己移植的linux系统吗?
作者: chenci2013    时间: 2017-4-2 11:36
如何确定外设的IO接口的?
作者: mituzu    时间: 2017-4-2 22:29
看来楼主对于linux都了如指掌了。
作者: mituzu    时间: 2017-4-2 22:41
STM32F4怎么运行的?
作者: 不爱说话    时间: 2017-4-5 13:15
chenci2013 发表于 2017-4-2 11:36
如何确定外设的IO接口的?

通过Device Tree确定外设的io接口,和现在新版本的linux一样的。
作者: 不爱说话    时间: 2017-4-5 13:18
chenci2013 发表于 2017-4-2 11:35
楼主自己移植的linux系统吗?

网络上有STM32F429的Linux BSP,我针对我的板子增加了spi flash加载linux内核,网络,USB HS Host in Full-Speed的初始化等等。
作者: yuchl    时间: 2017-4-13 11:15
学习了

作者: gygp    时间: 2017-4-13 21:51
厉害,代码是自己移植的吗
作者: gygp    时间: 2017-4-13 21:57
这个STM32运行linux有什么不同?
作者: 不爱说话    时间: 2017-4-14 10:46
gygp 发表于 2017-4-13 21:57
这个STM32运行linux有什么不同?

对于使用者来说感觉不到区别的。因为这就是Linux(编译内核时选择No-MMU选项),对于一般人,其他和普通的ARM Linux一样。
作者: selongli    时间: 2017-4-14 22:35
这个STM32F429竟然能够执行linux
作者: selongli    时间: 2017-4-14 22:38
请问楼主有移植的教程吗?
作者: wozaihuayu    时间: 2017-4-17 11:09
我看了EmCraft网站关于F7的BSP,是要收费才能下载吗?不收费下载的是什么?
作者: 不爱说话    时间: 2017-4-17 15:36
wozaihuayu 发表于 2017-4-17 11:09
我看了EmCraft网站关于F7的BSP,是要收费才能下载吗?不收费下载的是什么?

我下载过STM32F7的BSP不收费啊,只要免费注册一个账号就可以了。
作者: wozaihuayu    时间: 2017-4-17 16:23
不爱说话 发表于 2017-4-17 15:36
我下载过STM32F7的BSP不收费啊,只要免费注册一个账号就可以了。

2.png

我是看了这一页中关于f746 disc的BSP无法下载,然后看了上面图片中橘红色的圆圈中49刀,可能是要付费!

打开buy标签页,
1.png
确实有购买信息

因为英文不好,当时没仔细看,看了下F769的可以下载!大致看了buy信息,好像买了的话可以得到一些支持!


作者: 不爱说话    时间: 2017-4-18 13:28
wozaihuayu 发表于 2017-4-17 16:23
我是看了这一页中关于f746 disc的BSP无法下载,然后看了上面图片中橘红色的圆圈中49刀,可能是要付费! ...

你别下ST discovery board的BSP,下载SMT32F7的就可以用了。
作者: minzisc    时间: 2017-4-18 22:27
在哪里下载代码
作者: minzisc    时间: 2017-4-18 22:28
uClinux跟linux有啥不一样?
作者: CI-KE    时间: 2017-4-26 08:43
我想问,用429跑uclinux干嘛
作者: 淼淼森森    时间: 2017-5-15 16:35
好厉害啊
作者: yqdz2005    时间: 2017-5-15 17:37
NB,marik
作者: 17729390219    时间: 2017-5-27 09:43
楼主能留个联系方式吗?求合作
作者: TXQDM    时间: 2017-5-31 18:07
单片机跟处理器的区分越来越不明显了
作者: zhjdhl2008    时间: 2017-6-18 18:37
楼主太N 了  膜拜中!

作者: xzf361    时间: 2017-7-7 16:46
赞一个,太N了,
作者: FPGA七七    时间: 2017-8-7 17:54
sunday151640 发表于 2017-1-18 11:26
看着大神玩。。

有原理图和资料代码么?分享过来玩玩呀

作者: yudian973    时间: 2017-9-26 11:31
好羡慕你们的技术
作者: dsyq    时间: 2017-9-30 08:29
谢谢分享。
作者: muxb    时间: 2017-9-30 18:47
不爱说话 发表于 2017-2-17 15:36
有的。年后新做的板子回来了,正在测试,一切进展顺利。

想下载这个网站的M4的BSP,但是注册不了,不知道楼主怎么注册的,如果方便直接给我分享一下你的M4的BSP吧?谢谢。
作者: gaoke231    时间: 2017-9-30 19:20
厉害了,学习下,这板子画的没的说。
作者: 不爱说话    时间: 2017-10-9 11:00
muxb 发表于 2017-9-30 18:47
想下载这个网站的M4的BSP,但是注册不了,不知道楼主怎么注册的,如果方便直接给我分享一下你的M4的BSP吧 ...

直接注册就是啦,免费的。
作者: Developerliu    时间: 2017-10-9 16:40
不错,现在还用UCLinux吗,感觉挺少见了。
作者: 不爱说话    时间: 2017-10-12 14:52
Developerliu 发表于 2017-10-9 16:40
不错,现在还用UCLinux吗,感觉挺少见了。

这个版本说是uClinux,其实和二零零几年的uClinux已经不同了。
现在是从Linux主线就支持无MMU的处理器了,例如Cortex-M4/M7.
作者: XZL    时间: 2017-12-13 20:26
速度怎么样啊?





欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/) Powered by Discuz! X3.5