使用PCS系统构造自己的嵌入式Linux 点击:4947 | 回复:2



gongkongedit

    
  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2004-02-25 20:16:00
楼主
作者:张剑、杨渭 关键词: Metrowerks、PCS、Embed Linux 摘要:本文介绍了一个用Metrowerks公司的Linux集成开发环境PCS(Platform Creation Suite)为某一款PC104板定制实时嵌入式Linux操作系统的过程 前言:现在许多人都在研究Linux在各方面的应用,在嵌入式系统方面的应用更是火热,Metrowerks公司集成了原Lineo的嵌入式Linux、CodeWarrior集成开发环境等众多优秀产品,推出了Linux集成开发环境PCS,运用这一集成环境和Metrowerks的各种BSP(板级支持包)我们很容易为我们自己的系统构建嵌入式Linux环境,包括在X86、PPC、ARM、CODEFIRE等多种体系结构的CPU上。 我们在某款PC104板上用Metrowerks的PCS系统实现实时嵌入式Linux的过程: 1、 这款PC104板是国内很有影响的工控机厂家生产的,运行GX1-300的586CPU,64M板载内存、RTL8139-10/100M网卡、板载CF卡做启动盘。 2、 主机环境ACER笔记本电脑一台,操作系统Win2000+Redhat7.3,x-windows是gnome,PCS的安装过程很简单,只是在x-windows的console下输入安装命令,等一会儿,就安装好了,重新启动机器,还是在x-windows的console输入tw回车,PCS界面就启动起来了,就报告没有License,按照文档说明向给相关的人发email,人家就给了一个15天的license,把两个License文件复制到/opt/Embedix/emb-bin/后再启动就进入了真正的界面。 3、 注意,系统安装时用的是root用户,但在使用PCS系统时最好不用root用户而是另外建一个用户,PCS系统还是提示你给新建的用户分配使用PCS的权限及此用户以后的项目文件等都放在哪个目录下。 4、 保证硬盘有1G的空间,新建一个工程,就使用X86的BSP,设置工程名称和所在目录,然后就进入了一个配置系统的界面。 5、 系统配置大体上分为两部分,一部分是kernel一部分是system,在kernel部分中的选项基本上和配置linux内核时make menuconfig的内容是一样的,但是操作更方便,不要以为这只是一个界面的改变,真正的意义在于这个kernel的配置是和system相关的,有自动依赖性检查,给出依赖性建议并且很方便的修改成建议的方式,因为系统在以图标和文字不停的提示你,所以在配置kernel时就能知道编译以后的内核是否能够正常工作,有过在make menuconfig下配置kernel失败的人就更能体会其中的做用,而对make menuconfig感到有些茫然的人在这里可能觉的头脑更清醒。 6、 在PCS中配置kernel比以前简单了很多,但还是需要对kernel有一定的了解,接下来是Administration选项,如果必要可以把pciutil选上,一般这个Administration选项就不要了吧, 7、 然后是X11,提供的是Microwindows(Nano-X),如果你不需要x-windows图型环境,这一项也不选了,因为除了PDA之外,我们的系统大都是默默无闻的工作。下一项是Communication,包含了ppp之类的东东,暂时也用不上。 8、 再接下来PCS提供了Real-Time选项,选中这相选项,系统就具有实时性了,很简单吧,当然具体的表现还跟你的应用程序有关系。 9、 在Programming中,主要有startkgdb、gdbserver这两项对于调试是很有用的,还有Metrotrk自己的调试工作,装上可以和PCS系统互动调试。 10、 在SERVER一项中包括了dhcpd、wu-ftpd、nfs-server、thttpd、boa这几项用过Linux的都知道是做什么用的了吧,根据自己的需要选择。 11、 TextProcessing中,我把nano、elvis-tiny都去掉了,只留下ae,毕竟要在系统足够小的情况下照顾某些人的编辑习惯吗,再说还有busybox中自带的vi呢。 12、 在System选项中加上Lilo,在File-System中加上ext2,Library中不用自己加了,根据系统依赖性检查而必须要求的库都加上就行了。 13、 其他的几个选项也不用改了,系统自己默认的基本就可以了,什么tinylogin、busybox、ash、都在里面了。 14、 好,检查一下配置的有没有问题,如果没有问题相应项目的图标是绿色的,如果哪项有问题,那一项的图标就不全是绿色的,检查有问题的项目并根据系统提示做相应的修改直到配置完全正确,然后点一下Build菜单中的Build命令,如果你配置的没问题,等上十几分钟,一套完整的嵌入式Linux就打造出来了。 15、 下面的问题是怎么把刚做出来的Linux系统实现到真正的应用环境中,PCS也提供了相应的工具,在Build菜单中点Deploy,就出现了发布界面,Welcome一页中显示了你所做的项目所在的目录,点Next显示出相应的kernel放在什么地方了,然后Next把Rebuild FileSystem等三项都选上,机器忙碌一会儿,出现一个Build Log所列的项目就是目标系统中所有的项目了。 16、 点Next,选中Running Lipo系统忙碌一会儿,帮你找出哪些lib是不必要的,PCS不会自动把这些lib文件从目标系统中删除,除非你自己把它们删了,但是你最好检查确认这些lib文件确实是你不需要的,因为某些lib即使系统不需要,你以后的应用程序可能也需要,如果你不想更改,直接点Next。 17、 按照你自己的情况先选择一种发布方式,如果你不清楚哪一个选项究境是做什么用的,你可以随便把它们试一遍,很多选项都是让你制做安装软盘,因为我的笔记本上没有软驱,所以我用Make Bootable Install CD,系统提示选择安装的分区如hda1,这并不是要安装在你现在用的机器上,而只是生成安装配置文件用的。然后Make CD Image,就得到了一个bootcd.iso,这个iso文件的目录在Log window中有提示。 18、 这是一个可以引导的ISO文件可以直接用cd-record烧到光盘上,也可以复制到windows分区再用nero等软件烧光盘,建议使用cdrw因为并不保证一次就能把Linux做成功。 19、 给目标机(PC104)上挂一个光驱,用光盘引导就进入了安装界面,选是选择把Linux装到哪个分区上,然后就是建ext2文件系统,安装Lilo,完毕后把系统设置成从硬盘启动,于是Linux就从CF卡上启动起来了,试试ls、pwd哈哈,都和PC的一样一样的。 20、 现在有了操作系统,下一步就是写应用程序了,PCS在这方面也已经做好了准备,在x-windows的console下输入cwide,于是CodeWarrior启动起来了,这是PCS提供的集成开发环境,不只是喜欢不喜欢在字符界面上写Makefile、运行make、使用gdb的问题,CodeWarrior给你带来的可不只这些。 21、 File->New->i386-linux->C_application,输入工程名,一个HelloWorld的框架就有了,点一下Run,就出来一个hello world.点Debug就进入了图形高度界面,设置断点、单步跟踪、查看变量需要的都有了,双击hello.c就进入了编辑界面,支持函数跳转、编译、链接、怎么样功能还可以吧。这还不是最方便的,还能直接生成一个kernel的框架,在里面直接写driver,调试driver,与嵌入式目标机相连,直接在主机上调试程序,就象vxworks一样的,不是很方便吗。 22、 Linux下的CodeWarrior集成环境和原来Windows下的并无太多区别,功能也很强大,大家用过就知道了。至此基本的嵌入式环境就构造好了,想更好的使用LINUX,PCS还提供了debian-linux的包转换工具,可以直接把debian的安装包转到PCS中来用。想在生成的Linux中增加自己的应用,PCS提供了包编辑器,可以把自己想要的???.tar.gz的包加进来,在PCS中一并配置编译。 23、 PCS的功能确实很强大,在这里只是做粗略介绍,还有很多内容没有提到,有机会大家去试用就知道了。



行者1

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 293回
  • 年度积分:0
  • 历史总积分:778
  • 注册:2002年12月24日
发表于:2004-02-25 20:16:00
1楼
前辈 关于Linux在嵌入式中的应用可否多介绍一些

mcujob

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 27回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2008年4月01日
发表于:2008-05-15 16:57:56
2楼

热门招聘
相关主题

官方公众号

智造工程师