打印

【视频】我的STM32 uClinux具备了初步的实用价值(加载JFFS2文件)

[复制链接]
13076|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
不爱说话|  楼主 | 2013-1-31 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 不爱说话 于 2013-3-7 09:49 编辑

上周引导uClinux kernel启动成功确实让人兴奋了一下。https://bbs.21ic.com/icview-434231-1-1.html
但是光有内核和根文件系统(只读的)还是不够的,一个linux系统至少需要一个可读写的文件系统和与外界交互的通信接口才有实用价值要不然只能作为Demo演示。这周经过努力终于突破了这两个难点,我的uClinux系统成功加载了可读写的jffs2分区(可存取文件,可执行程序),在根文件件系统里集成了rx命令实现了从PC机下载文件到jffs2分区。
1. JFFS2文件系统加载
   在ST官方提供的源码包中编译uClinux只能生成一个只读的rootfs.img.bin根文件系统镜像,里面放置的是事先配置好的内容。为了增加jffs2分区需要做这几件事:
   一、在linux2.6.x/drivers/mtd/map目录下找到flash的分区设置文件,然后根据自己的需要追加一些分区,最后编译;
   二、使用mkfs.jffs2这个工具制作生成一个jffs2分区镜像;
   三、将上面生成的image文件烧写到STM32外扩的NOR FLASH里面,启动linux后挂载就可以了;

2. rx命令
   这是uClinux包中busybox下面的一个小程序,可以用它来通过串口下载文件到开发板上,有了rx就可以让STM32核心板在没有网络的环境下与PC机交换文件了。

完成了这两个重要的工作,以后使用这个平台的朋友就可以转向驱动和应用程序的开发了。



我自己写的bootloader





启动uClinux





启动完成,ls目录(jffs2挂载在tmp下)





执行hello world程序





创建文件夹rx_data





使用rx命令接收一个文件





显示接收文件的内容

uClinux启动视频:




沙发
不爱说话|  楼主 | 2013-2-1 10:26 | 只看该作者
这里的气氛不够活跃啊,看来我贴错版块了

使用特权

评论回复
板凳
55854234| | 2013-2-2 14:29 | 只看该作者
你这个  太高深 看不明白啊

使用特权

评论回复
地板
原野牧歌| | 2013-6-14 21:25 | 只看该作者
最近在考虑这个uclinux,还在找资料研究中,下载了最新的版本,解压开好像10多万个文件……

使用特权

评论回复
5
不爱说话|  楼主 | 2013-6-17 11:12 | 只看该作者
对,uclinux就是这么多文件的,都是源码。

使用特权

评论回复
6
sun1238898| | 2013-6-17 15:46 | 只看该作者
人才呀,不错,

使用特权

评论回复
7
不爱说话|  楼主 | 2013-6-18 10:27 | 只看该作者
过奖了。硬件100%是自己做的,软件(uClinux)ST已经有了,我只不过是做了一点移植的工作而已。

使用特权

评论回复
8
cym_anhui| | 2013-6-18 13:33 | 只看该作者
高手啊,学习了

使用特权

评论回复
9
cym_anhui| | 2013-6-18 13:34 | 只看该作者
F103ZE可以运行uClinux吗

使用特权

评论回复
10
不爱说话|  楼主 | 2013-6-24 17:00 | 只看该作者
当然可以啊,我这个板子用的就是STM32F103ZET6啊。

使用特权

评论回复
11
e2zone| | 2013-6-25 01:05 | 只看该作者
楼主强大!

使用特权

评论回复
12
heyinhe| | 2013-6-25 08:53 | 只看该作者
对RAM和ROM有什么要求?

使用特权

评论回复
13
不爱说话|  楼主 | 2013-6-25 17:22 | 只看该作者
已我的使用感受来说,uclinux需要至少1M的RAM,为了存储程序需要至少1-2M的flash

使用特权

评论回复
14
trumpxp| | 2013-6-25 19:39 | 只看该作者
很不错    需要好好学一学   谢谢了   楼主   顶一个   很不错哦  

使用特权

评论回复
15
xiaoba| | 2013-6-26 10:34 | 只看该作者
不爱说话 发表于 2013-6-25 17:22
已我的使用感受来说,uclinux需要至少1M的RAM,为了存储程序需要至少1-2M的flash ...

是呀,但是103最多只有512K的FLASH和64K的RAM吧~?
膜拜呀~~学习了。。。

使用特权

评论回复
16
xiaoba| | 2013-6-26 10:37 | 只看该作者
xiaoba 发表于 2013-6-26 10:34
是呀,但是103最多只有512K的FLASH和64K的RAM吧~?
膜拜呀~~学习了。。。

哦。。。看了你另外的帖子,外扩了FLASH和RAM撒~~

使用特权

评论回复
17
不爱说话|  楼主 | 2013-6-27 12:38 | 只看该作者
是的,肯定得外扩FLASH和RAM的。

使用特权

评论回复
18
quanquan902000| | 2013-7-10 13:17 | 只看该作者
LZ搞过用网络调试驱动和应用么?
配置STM32上UCLINUX的NFS遇到了一些问题。不知道编译内核的时候,那些有关NFS的选项是一定要选上的呢?
在网上也看了几个**,不过不是很全面。试了试,都报错。。

使用特权

评论回复
19
不爱说话|  楼主 | 2013-7-11 17:12 | 只看该作者
不好意思,我没有调试过uCLinux下的nfs

使用特权

评论回复
20
quanquan902000| | 2013-7-19 21:24 | 只看该作者
请问lz:
你是如何将文件系统的分区MTD1变为WR的呢?
难道就把BOOTLOADER传给kernel的command line中的RO去掉就行???
应该没有这么简单吧?需要改变编译内核的选项么?
LZ能指点下么?
小弟先谢过了~

使用特权

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

本版积分规则

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

115

主题

885

帖子

34

粉丝