51总结

44B0+uclinux
今天把电脑里的很多资料整理了下,密密麻麻,让人看起来就头晕。有些东西可能永远不会去看它,但又舍不得删掉。还是让它保存着吧,反正硬盘够大。
今年又到5.1了,把前期的工作总结下吧,以备参考。
今年主要在立宇泰的armsys-C上做uclinux移植。起先是用uclinux-20030408的版本加补丁,(注意:打补丁的时候有提示的话,说明打过补丁,手动打补丁的话语法参照“玛玛金柯”的blog,我的blog里也有转载,blog.csdn.net/hp_studio).在这个版本上浪费了一些时间。
用立宇泰的uclinux-051111版本,立宇泰已打过补丁,user里面还有helloworld的demo,这个版本只要按照说明书make下来,就能正确产生3个image(image.ram,image.rom,romfs.img )。image是合并过的,怎么产生分离的image请参照立宇泰论坛置顶帖。<这里有个问题不明白,按照字面理解,合并image指的是romfs和image.rom合并的,那为什么还产生单独的1个romfs.img>
然后可以用立宇泰的bootloaderV1.3.1加载image.只有这个boot的源码能在ADS下正确编译,连接。从源码的main中看出此boot只能加载合并过的image,但是立宇泰技术支持说也可以加载分离的image,不过我拿此boot加载立宇泰光盘中提供的3个image是不成功的。

至此,uclinux在44B0上移植完毕。看起来很简单,几乎没做什么工作,因为我是站在立宇泰的肩膀上,呵呵。不过,用0408版本uclinux的时候,确实经受了很多打击。在vmware上运行linux编译,慢的要死,在这个版本上面花费了很多时间。当然,这也有很多好处,至少让我熟悉了一些东西。移植就像一场旅行,不要在乎目的地,在乎的是沿途的风景。呵呵!
在移植过程中,一般通用的问题基本可以在网上找到答案,最麻烦的就是一些很细小的问题,一般人都懒得总结。

在NFS中,就有个小问题。
按照立宇泰论坛里的介绍,编辑etc/export把目录分享出去。
然后lokkit(关防火墙),在终端执行etc/init.d/nfs restart

然后在uclinux端先执行portmap &,在执行mount -t nfs 主机ip:/分享目录 /挂载目录
注意:主机IP后紧跟“:/”。

NFS成功后,竟然不能把挂载上来的东东拷贝到本地客户端,提示说“XX是read-only文件”
,但是我是把整个目录弄成可读可写的啊。我可以把本地东东拷进去,为什么就拷不出来.....
这个先不管,反正以后要把程序放到romfs里。


然后在上面编了些socket编程和串口编程,都没什么问题。在Linux主机上能编译成功的程序,基本上不用任何修改就能在44b0上运行。
只不过在主机程序用gcc编译,给arm的程序用arm-elf-gcc -Wall -O2 编译,因为后者编译出来的是arm能运行的二进制文件。

看了立宇泰论坛上有个帖子说在armsys-p上成功挂载硬盘,很详细,按照它做基本能成功。
再准备搞个GUI。看了点资料,关于framebuffer的,linux的好处就是把任何设备都看成文件。不知道搞GUI是不是一定要买液晶屏,有没有模拟液晶的软件?

大学刚听到嵌入式这个概念的时候,老是问群里的人为什么要用操作系统,是不是操作系统能提供一个可视化界面,受Microsoft的影响,老是狭隘的把看到的windows理解成操作系统。没想到,这个只是个GUI而已,严格说来,应该不属于操作系统的范畴吧。

没动手做这个之前,脑子里一直以为完成一个类似PDA的东西就应该算是把arm学透了。当然也有一定道理,主要是你想要学什么。其实PDA也就处理器+系统+GUI。这里面的东西相对来说底层一点,更适合于硬件工程师做。
一旦这个平台建立起来,就应该属于软件范畴了。感觉硬件工程师没什么东西。软件变化多一点。可能是对软件了解的比较少吧。

不过,不管是软件还是硬件,都是人干的。我是人吗?是的!那我能干吗?当然能咯!呵呵。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值