您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁体中文

基于MIPS32平台的Linux操作系统移植,Linux操作系统,MIPS32,非对齐存储指令,

引言目前,Linux作为仅次于微软Windows的操作系统已经在PC和嵌入式领域得到了广泛的应用,尤其是在嵌入式开发领域,由于Linux操作系统具有成本低,可靠性高,源码方法等显著的优点,已经成为受众多嵌入式开发者青睐的操作系统之一。目前,Linux操作系统所支持的包括X86、ARM、MIPS、MIPS64、SunSPARC、POWERPC、Motorola68K、IBMS/390、Alpha、IA64、cris、parisc、sh等主要的体系结构。本文以实际项目中一个MIPS32架构的CPU和板级

引言

目前,Linux作为仅次于微软Windows的操作系统已经在PC和嵌入式领域得到了广泛的应用,尤其是在嵌入式开发领域,由于Linux操作系统具有成本低,可靠性高,源码方法等显著的优点,已经成为受众多嵌入式开发者青睐的操作系统之一。目前,Linux操作系统所支持的包括X86、ARM、MIPS、MIPS64、Sun SPARC、POWERPC、Motorola 68K、IBMS/390、Alpha、IA64、cris、parisc、sh等主要的体系结构。本文以实际项目中一个MIPS32架构的CPU和板级系统为例,阐述了如何将Linux操作系统移植到目标平台上。

1 目标平台概述

本文所讨论的开发平台采用的CPU是同济大学微电子中心自主开发的BC320处理器,采用MIPS 4KC的体系结构,带MMU、无浮点协处理器、标准5段流水线,指令及数据Cache的大小各为4KB,寻址空间为4GB,其中0x00000000-0x7fffffff为用户空间,0x80000000-0xffffffff为核心空间,板级系统采用了PMC的PM8172芯片组,支持最高128MB的SDRAM,BOOT ROM的地址空间是0x1fc00000-0x1fffffff。

2 Linux交叉编译环境的建立及内核配置和编译

在进行实际的Linux操作系统移植之前,需要在宿主机上建立图1所示的MIPS的交叉编译环境,以便能在普通PC机上通过交叉编译工具来调试运行在目标开发板上的程序。

建立MIPS交叉编译环境的主要工具有binutils、GCC、glibc以及作为调试器的gdb等,其中binutils为二进制文件的处理工具,它主要包括一些辅助开发工具,例如:readelf可显示elf文件信息及段信息;nm可列出程序的符号表;strip将不必要的代码去掉以减小可执行文件,objdump可用来显示返汇编代码等,GCC是GNU提供的支持多种输入高级语言与多种输出机器码的编译器,是Linux操作系统的配套编译器,支持Linux所采用的扩展C语言。glibc是连接和运行库,由于此链接和运行库须运行在目标开发板上,所以必须用先前建立的交叉编译器对其进行编译,如图内核大小要求较为苛刻。还可以使用uclibc等其他链接和运行库作为glibc的替代品,此外,若不是从硬盘启动,则还须为Linux制作ramdisk。在ramdisk上,除了要安放/dev(放置Linux操作系统所需要的设备文件)、/etc(放置Linux系统配置文件)、/lib(放置交叉编译后生成的库文件)等目录及其下的文件外,还需要在/bin和/sbin下放置各种系统必需的命令程序,如shell、init、vi等,为此需要busybox或者tinylogin等专为Linux操作系统提供的标准工具程序。凡此种种,都可以在GNU旗下的网站下载并自由修改其源代码。


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj