基于UniCore32体系架构的分析和uClinux操作系统的移植

基于UniCore32体系架构的分析和uClinux操作系统的移植

论文摘要

伴随着Internet的发展和后PC时代的到来,嵌入式系统成为当前IT产业的焦点之一,呈现了巨大的市场需求。目前市场上大量的嵌入式应用也对嵌入式设备的性能和功能提出了更高的要求。如何在中国第一块自主研发的芯片上,移植一个嵌入式操作系统是本论文研究和解决的重要课题。UniCore32是一个32位Harvard结构的RISC处理器,它采用五级流水线结构,并采用硬件机制解决数据相关问题。相对简单的结构使它具有高性能、高代码密度等特点,并能够实现实时的中断响应。北大众志-863 CPU系统芯片的CPU核主频可达到300MHz,其主要特点是:高性能、高度集成、低功耗。内部的CPU核集成了完全自主指令系统的32/16位Unicore32定点微处理器核。嵌入式uClinux由于代码开放性以及强大的网络功能,在中低端嵌入式网络设备中有广泛应用,与其它的嵌入式操作系统相比,具有更多的优势,因此本文将其作为硬件平台的操作系统,并在这个系统中实现uClinux的基本操作,论文中介绍的硬件和软件平台可以为实际的应用提供很好的开发起点。Linux以其优势逐渐成为应用越来越广泛的一款优秀的操作系统,uClinux是其派生而来的,也被许多嵌入式系统采用。本文介绍了以UniCore32为内核的Unity863处理器和uClinux操作系统的嵌入式平台的建立和移植,包括硬件结构,开发环境,特别重点介绍了GCC的移植、Bootloader的移植和uClinux内核的移植。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景概述
  • 1.1.1 嵌入式技术的发展历史
  • 1.1.2 嵌入式uClinux操作系统
  • 1.1.2.1 uClinux概述
  • 1.1.2.2 UC/OS、Linux和uCLinux的比较
  • 1.1.2.3 uClinux操作系统的优势
  • 1.2 论文的选题意义及工作论述
  • 1.2.1 论文的选题意义
  • 1.2.2 开发芯片现状
  • 1.2.3 工作现状论述
  • 第二章 UniCore32体系结构分析
  • 2.1 UniCore32体系结构概述
  • 2.2 uniCore32处理器的操作模式
  • 2.3 UniCore32处理器的寄存器结构
  • 第三章 GCC移植
  • 3.1 GCC简介
  • 3.2 基于GCC的开发工具链
  • 3.3 移植GCC到目标机器
  • 3.3.1 GCC体系结构以及后端扩展机制
  • 3.3.2 目标体系结构的移植
  • 3.3.2.1 C宏文件:machine.h
  • 3.3.2.2 C文件:machine.c
  • 3.3.2.3 机器描述文件:machine.md
  • 3.3.2.4 其它部分
  • 3.3.3 综述
  • 3.4 开发框架建立
  • 第四章 uClinux内核移植相关源代码分析
  • 4.1 uClinux源文件组织架构
  • 4.2 uClinux-dist2.6中的Makefile分析
  • 4.2.1 make meuconfig
  • 4.2.2 make dep
  • 4.2.3 make
  • 4.2.4 改写Bakefile文件
  • 4.3 Bootloader与内核解压
  • 4.4 内核的启动方式
  • 4.5 arch/unicore32/kernel/head-armv.S
  • kernel()'>4.6 startkernel()
  • kernel()'>4.6.1 lockkernel()
  • arch()'>4.6.2 setuparch()
  • processor()'>4.6.2.1 setupprocessor()
  • architecture(machinearchtype)'>4.6.2.2 setuparchitecture(machinearchtype)
  • 4.6.2.3 内核内存空间管理
  • init(&meminfo,mdesc)'>4.6.2.4 paginginit(&meminfo,mdesc)
  • args()'>4.6.3 parseargs()
  • init()'>4.6.4 schedinit()
  • init()'>4.6.5 trapinit()
  • IRQ()'>4.6.6 initIRQ()
  • init()'>4.6.7 softirqinit()
  • init()'>4.6.8 timeinit()
  • 4.6.9 其它
  • init()'>4.6.10 restinit()
  • thread()'>4.6.10.1 kernelthread()
  • 4.6.10.2 init()
  • 4.7 uClinux内存模块初始化源码分析
  • 第五章 Unity863移植到uClinux操作系统
  • 5.1 Bootloader的移植
  • 5.1.1 配置编译U-Boot
  • 5.1.2 移植U-Boot到Unity863
  • 5.1.2.1 了解Unity863开发板
  • 5.1.2.2 建立移植目录和文件
  • 5.1.2.3 修改Makefile文件
  • 5.1.2.4 修改u-boot/include/configs/unity863.h文件
  • 5.1.2.5 修改u-boot/board/unity863/config.mk文件
  • 5.1.2.6 修改u-boot/board/unity863/unity863.c文件
  • 5.1.2.7 修改u-boot/board/unity863/flash.c文件
  • 5.1.2.8 修改u-boot/cpu/unity863/start.S文件
  • 5.1.2.9 修改u-boot/cpu/unity863/serial.c文件
  • 5.1.3 编译U-Boot
  • 5.1.4 U-Boot的烧写与运行
  • 5.2 uClinux的内核移植
  • 5.2.1 内核的修改
  • 5.2.2 编译uClinux内核
  • 5.2.3 配置生成uClinux文件系统
  • 5.2.4 在开发板上运行uClinux
  • 5.2.5 移植文件下载到Flash
  • 第六章 总结与展望
  • 6.1 总结
  • 6.2 不足与展望
  • 致谢
  • 主要参考文献
  • 附录一 (攻读学位期间发表论文目录)
  • 相关论文文献

    • [1].Unicore32架构下的Android系统链接加载优化[J]. 测控技术 2016(05)

    标签:;  ;  

    基于UniCore32体系架构的分析和uClinux操作系统的移植
    下载Doc文档

    猜你喜欢