基于MIPS的嵌入式Linux系统开发环境的设计与实现

基于MIPS的嵌入式Linux系统开发环境的设计与实现

论文摘要

论文来源于作者所在公司的一款用于数字电视机顶盒的SOC芯片的系统软件开发过程。该款芯片支持H.264、AVS和MPEG2的解码,还提供USB、以太网等外部接口,核心采用MIPS Technologies公司的4KEc处理器。为了能利用开源社区成熟的USB协议栈、TCP/IP协议栈和文件系统,同时也为了能兼容大量开源软件,采用嵌入式Linux作为操作系统。但是在公司内部实际开发过程中暴露出了一些问题,包括有:开发团队成员使用的开发环境不统一,造成合作效率低,总体维护成本高;无法编译的代码被提交到主代码仓库中,浪费其他开发人员时间来解决编译问题;集成困难,常常延期;难于根据某个缺陷回溯对应的代码修改;外出进行客户支持时无法使用版本控制系统。论文为解决这些实际问题,基于成熟的开源软件设计实现了一套完整的嵌入式Linux系统开发环境。其中包括版本控制系统、缺陷跟踪系统、持续集成系统和集成开发环境。使用动态版本控制系统解决外出客户支持时的版本控制问题;使用持续集成系统解决集成困难的问题;利用Eclipse的跨平台特性统一集成开发环境。这套开发环境和现有的集成开发环境的不同之处和创新在于以下几个特点:在嵌入式系统开发中引入持续集成的概念,并将其与版本控制系统整合以做到提交源代码自动触发构建操作,只有在构建通过后才能被其他开发者获取,避免因为编译问题影响开发效率;运用版本控制系统和缺陷跟踪系统的整合,方便从缺陷出发,回溯相应的代码修改;实现SOC软件仿真器,开发人员可以在PC上调试和测试,节约了下载和烧录的时间。上述特点中的自动构建功能通过对开源软件的整合运用,达到了和JetBrains公司的TeamCity的pre-commit功能一样的效果,提高了团队开发的效率并减少了开支。另一方面,作者根据公司SOC系统的硬件逻辑,实现了定时器、中断控制器、串口等硬件逻辑的软件仿真。所开发的系统软件经构建系统构建后可以直接运行在硬件平台和PC上的软件仿真器上。通过软件仿真器,可以直接在PC上设置断点、单步调试和查看寄存器等。论文所实现的系统已经在公司内部开发中运用,在实际使用过程中给开发团队带来了便利和效率。开发人员可以在Eclipse系统中直接访问各个团队协作工具,通过一致的网络接口实现代码提交和自动构建检查。

论文目录

  • 摘要
  • ABSTRACT
  • 1 绪论
  • 1.1 研究背景
  • 1.2 研究现状
  • 1.3 研究内容与取得的成果
  • 1.3.1 本文所作的工作
  • 1.3.2 关键技术
  • 1.3.3 取得的成果
  • 1.3.4 创新点
  • 1.3.5 论文结构
  • 2 系统的技术分析
  • 2.1 嵌入式系统开发环境研究综述
  • 2.1.1 嵌入式系统
  • 2.1.2 开发环境
  • 2.1.3 嵌入式Linux系统开发对开发环境的需求
  • 2.2 目前存在的问题
  • 2.3 本文的技术路线
  • 2.4 理论简介
  • 2.4.1 持续集成
  • 2.4.2 分布式版本控制
  • 2.4.3 软件仿真器
  • 2.5 本章小结
  • 3 系统的研究与设计
  • 3.1 版本控制系统设计
  • 3.1.1 版本控制系统选型
  • 3.1.2 版本控制系统设计
  • 3.2 缺陷跟踪系统设计
  • 3.2.1 缺陷跟踪系统选型
  • 3.2.2 缺陷跟踪系统设计
  • 3.3 持续集成系统
  • 3.3.1 持续集成系统选型
  • 3.3.2 持续集成系统设计
  • 3.4 集成开发环境
  • 3.4.1 集成开发环境选型
  • 3.4.2 调试与软件仿真器
  • 3.4.3 与版本控制系统与缺陷跟踪系统的集成
  • 3.5 本章小结
  • 4 系统关键技术实现
  • 4.1 Linux在MIPS内核的SOC上的移植
  • 4.1.1 增加并配置新平台
  • 4.1.2 中断处理系统移植
  • 4.1.3 时钟设备移植
  • 4.1.4 串口设备移植
  • 4.2 基于Qemu的软件仿真器的实现
  • 4.2.1 CPU和内存系统的仿真
  • 4.2.2 中断系统的仿真
  • 4.2.3 串口设备的仿真
  • 4.3 本章小结
  • 5 实验结果
  • 5.1 应用场景
  • 5.2 结果分析
  • 5.3 本章小结
  • 6 总结与展望
  • 6.1 研究工作总结
  • 6.2 进一步工作展望
  • 参考文献
  • 致谢
  • 作者攻读学位期间发表的论文
  • 相关论文文献

    • [1].版本控制技术在物联网实践课程中的应用[J]. 电脑与电信 2016(10)
    • [2].Git的安装与调试[J]. 网络安全和信息化 2020(11)
    • [3].版本控制在开发项目中的应用[J]. 电脑编程技巧与维护 2011(14)
    • [4].Word文档的版本控制有什么推荐[J]. 电脑爱好者 2016(20)
    • [5].基于版本控制的中文文档到源代码的自动跟踪方法[J]. 计算机应用 2018(10)
    • [6].分布式版本控制系统在海洋管理软件开发中的应用研究[J]. 海洋信息 2017(01)
    • [7].软件配置管理中版本控制的研究[J]. 软件 2019(03)
    • [8].分布式版本管理工具-Mercurial[J]. 数字技术与应用 2015(01)
    • [9].平面动画版本控制系统的设计研究[J]. 计算机工程与设计 2012(02)
    • [10].部署私有云存储[J]. 网络安全和信息化 2020(03)
    • [11].基于SVN的版本控制方案研究与比较[J]. 金融电子化 2009(05)
    • [12].基于SVN版本控制的程序设计类课程教学研究[J]. 软件 2018(04)
    • [13].Git版本控制工具在团队协作项目中的应用[J]. 智能计算机与应用 2019(05)
    • [14].实战Linux版本控制机制[J]. 网络安全和信息化 2017(03)
    • [15].基于PDM的船体设计管理及版本控制体系研究[J]. 船舶标准化与质量 2019(02)
    • [16].Git分布式版本控制实现机制探讨[J]. 信息系统工程 2018(10)
    • [17].借助Git实施医疗设备软件版本控制[J]. 中国医疗器械信息 2016(14)
    • [18].CVSTrac缺陷跟踪系统[J]. 程序员 2008(04)
    • [19].基于BIM子模型的分布式版本控制研究[J]. 浙江理工大学学报(自然科学版) 2018(01)
    • [20].版本控制系统——Subversion技术及其在软件开发库的应用[J]. 航空电子技术 2013(01)
    • [21].Unity3D游戏开发中的版本控制研究[J]. 软件导刊 2012(11)
    • [22].宁夏司法警官职业学院学生信息管理系统研究[J]. 电脑知识与技术 2013(31)
    • [23].一种水平扩展微服务中数据库脚本版本控制方法[J]. 电脑编程技巧与维护 2020(03)
    • [24].以版本控制的遥感解译目标数据集管理系统[J]. 地球信息科学学报 2012(04)
    • [25].基于SVN版本控制的教务信息管理系统开发与实现[J]. 现代信息科技 2020(11)
    • [26].浅析人力资源管理系统分析与设计[J]. 电脑知识与技术 2014(10)
    • [27].探究CRM域版本控制与SCM智能终端的实现过程[J]. 巢湖学院学报 2015(03)
    • [28].一种分布式源码管理系统方案研究[J]. 计算机与现代化 2013(07)
    • [29].Visual SVN可视化版本控制在.Net三层架构开发中的应用[J]. 软件导刊 2013(01)
    • [30].文件协同管理系统在制药企业中的应用[J]. 电子技术与软件工程 2020(12)

    标签:;  ;  ;  

    基于MIPS的嵌入式Linux系统开发环境的设计与实现
    下载Doc文档

    猜你喜欢