ARM模拟器的设计与实现

合集下载

ArmSim:基于ARM处理器的全系统模拟器

ArmSim:基于ARM处理器的全系统模拟器

1邓立波1,龙翔1,高小鹏11北京航空航天大学计算机学院,北京(100083)E-mail:denglibo@摘要:模拟器作为嵌入式系统研究的基础研发工具,可辅助系统体系结构调优、软硬件协同设计。

本文实现了具有良好配置性及可扩展性的ArmSim模拟器,该模拟器是针对ARM 处理器的全系统模拟器,可在其上运行和调试ARM应用级和系统级的目标程序。

本文详细描述ArmSim的设计与实现细节。

关键词:ARM处理器模拟全系统模拟器中图分类号:1.引言随着嵌入式系统的飞速发展,嵌入式系统的研究与开发已经成为当今计算机科学的一个重要分支。

由于应用领域的特点,嵌入式系统研发通常需要依赖特定的硬件环境。

由于对硬件环境的过度依赖,因此传统的研究开发模式具有明显的缺陷,即软件开发与硬件开发无法并行展开。

这一方面致使研发周期过长,另一方面也使得设计工作缺乏足够的灵活性。

为了解决上述问题,基于软件的模拟器已经成为嵌入式系统研发中的主要技术手段之一。

软件模拟就是用计算机软件来模拟某一特定硬件系统的全部或部分的外部特性和内部功能,实现对目标硬件系统的高度仿真,使得运行在模拟器上的程序无法感知到底层硬件的存在,就如同运行在真实硬件平台上。

在嵌入式系统领域,软件模拟技术已经被广泛应用于嵌入式系统软硬件协同设计、嵌入式操作系统开发与评估以及大型嵌入式应用软件性能评估等方面。

本文描述的ArmSim是一个基于C语言的ARM处理器的全系统模拟器。

ArmSim实现了全系统硬件的功能模拟,不仅可以运行ELF格式的ARM应用级程序,而且可以运行ELF 映象或二进制映象格式的系统级程序,如U-Boot。

ArmSim模拟器还支持GDB等调试器对模拟器上运行的ARM程序进行源代码级远程调试。

本文其它部分的结构如下:第2部分对主要的模拟技术进行阐述;第3部分详细描述ArmSim模拟器的实现;第4部分为结论。

2.模拟技术全系统模拟器的实现主要包括指令集的模拟和外部设备的模拟。

ARM设计实验报告

ARM设计实验报告

目录一,实验目的二,实验软件, 硬件三,实验题目及要求(设计要求)四,软件时钟设计总体方案五,软件时钟的电路原理图六,程序流程图及C程序(软件部分)七,Proteus仿真图(硬件部分)一实验目的。

1,应用所学的ARM知识设计一个实时时钟掌握LPC2106中断处理, RTC的使用。

二实验软件, 硬件。

软件:proteus6.9仿真软件, ARM开发环境ADS.硬件: WINDOW 2000/XP PC机一台。

三实验题目及要求(设计要求)。

题目: 带报警功能并且可以调节时间的实时时钟。

要求: 1, 实时时间可通过按键选择调节。

2, 可以通过按键设定报警时间。

3, 当达到报警时间时, 蜂鸣器响一下, LED灯点亮。

4, 报警时间和实时时间通过液晶模块LCD1602显示四软件时钟设计总体方案本实验是基于LPC2106ARM处理器而设计的实时时钟, 综合性较强, 涉及到RTC外部中断, 引脚的GPIO功能, C语言编程等知识。

首先要定义P0口为基本I\O功能, 然后通过引脚功能选择寄存器PINSEL0及PINSEL1定义输入输出外部中断口所在的位, 另外还要对外部中断进行初始化, 其中有规定他们的优先级, 中断触发方式, 中断地址分配, 本实验采用液晶模块LCD1602同时显示实时时间和报警时间, 同样要对他们进行初始化, 包括检查总线忙与闲, 传送地址, 传送数据及显示函数的编程、1,LPC2106微控制器自带有一个实时时钟RTC带日历和时钟功能, 要使用它也要进行一下的基本操作:2,设置RTC基准时钟分频器3,初始化RTC的时钟值如, YEAR,MONTH,HOUR等4,启动RTC即CCR的CLKEN位职位5,读取完整时间寄存器值或等待中断。

陈述完以上的模块初始化后, 下面简要说明一下程序的流程先调用以上各个模块的初始化函数lcd_int(),RTCint()然后开启RTC时钟, 并调用LCD显示函数SendTimetRtc(),如果没用中断发生就判断实时时间是否与以设定的报警时间相同, 如果相同就马上接通蜂鸣器报警并且点亮LED灯。

《基于ARM嵌入式SoPC平台伺服模拟器的设计与实现》

《基于ARM嵌入式SoPC平台伺服模拟器的设计与实现》

《基于ARM嵌入式SoPC平台伺服模拟器的设计与实现》一、引言随着嵌入式系统的不断发展和普及,基于ARM架构的SoPC (System on a Programmable Chip)平台在工业控制、机器人技术、伺服驱动等领域得到了广泛应用。

伺服模拟器作为嵌入式系统中的重要组成部分,其设计与实现对于提高系统的性能和稳定性具有重要意义。

本文将介绍基于ARM嵌入式SoPC平台伺服模拟器的设计与实现过程,包括系统架构、硬件设计、软件设计、调试与测试等方面。

二、系统架构设计1. 总体架构基于ARM嵌入式SoPC平台的伺服模拟器系统架构主要包括硬件层、操作系统层和应用层。

硬件层包括ARM处理器、FPGA等硬件设备;操作系统层采用嵌入式实时操作系统,如Linux或RT-Thread等;应用层则根据具体需求进行定制开发。

2. 硬件设计硬件设计主要包括ARM处理器、FPGA等核心部件的选型和电路设计。

ARM处理器负责整个系统的控制和数据处理,FPGA则用于实现伺服控制算法和信号处理等功能。

在电路设计方面,需要考虑到功耗、稳定性、抗干扰性等因素。

三、软件设计1. 操作系统选择与定制根据系统需求,选择合适的嵌入式实时操作系统,并进行定制开发。

操作系统需要具备高实时性、低功耗、小体积等特点,以满足嵌入式系统的要求。

2. 驱动程序开发驱动程序是连接硬件和操作系统的桥梁,需要针对ARM处理器和FPGA等硬件设备进行开发。

驱动程序需要具备高效、稳定、可靠等特点,以保证系统的正常运行。

3. 应用软件开发应用软件是实现伺服模拟器功能的核心部分,需要根据具体需求进行定制开发。

应用软件需要具备实时性、精确性、可扩展性等特点,以满足不同应用场景的需求。

四、关键技术实现1. 伺服控制算法实现伺服控制算法是实现伺服模拟器功能的关键技术之一。

需要根据具体应用场景和需求,设计合适的控制算法,如PID控制、模糊控制等。

同时,需要考虑算法的实时性和精确性,以保证系统的性能和稳定性。

基于ARM微处理器的视频信号模拟器的设计与实现

基于ARM微处理器的视频信号模拟器的设计与实现
2系统开发平台
从硬件设计来讲,构成视频信号模拟器要有丰富的接 口,例如:并行接口、LCD控制器接口、大量I/0口、I/0口 扩展、外部中断口和USB接口等。
ARM7TDMI内核的处理器¥3CA4BOX,作为模拟器 开发平台的硬件基础。该平台包括核心模块和扩展模块, 集成8 MBSDRAM,以保证用户代码可以获得最高性能,1
卸。设计主要创新点是在国内首次采用ARM实现了视频
信号的模拟,且具有回波图象逼真、可方便地实现多目标 模拟、系统扩展性好、用户界面友好等优点。
万方数据
参考文献 口 ] 田泽.嵌入式系统开发与应用教程[M].北京:北京航
空航天大学出版社,2005. 口 ] 周立功.ARM嵌入式系统软件开发实例[M].北京:
北京航空航天大学出版社,2004. 口 ] 倪祯浩,卢博友,田泽.基于mtM的信号发生器人机交
互系统设计口].微计算机信息,2007,23(5):134-136.
艮 ] 张万,董建威,佘黎煌.基于倒CsⅡ的心电监护仪软件
系统设计与开发[J].计算机工程,2007,33(9):277-279. 醑 ] 朱伟,王广君.基于ARM的嵌入式系统中从串配置
开机
系统初始化
◇。——1_一 tsar、显示处理
I 启动定时器
专三三互=二 -_。。‘‘。。‘。。。’。。。‘。’‘_‘。。‘’‘。。’1’。’’一 l。—运算—初1始·化一 I读装备控制信司
读当前目标参数 毋)映射区数据运算 AtB)映射区信号综Байду номын сангаас 运算方位指针递增
5—芝K—之罚叫!!轰Y:谕夕 1
*基金项目:国家重点基础研究项目资助(5132102ZZT32)
万方数据
·67·

基于X86平台的ARM指令集模拟器的设计

基于X86平台的ARM指令集模拟器的设计

基于X86平台的ARM指令集模拟器的设计贾少波【摘要】With the development of embedded system software as well as the wide use of embedded applications in all kinds of fields for business,the embedded system development has beenemphasized.Nowadays,the refreshing rate of embedded software becomes faster.Therefore,it requests that the customized applications be developed during a shorter period.However,in general,the environment of embedded system run time is customized by consumers; hence the implementation of simulation for embedded hardware environment can highly improve the efficiency for embedded development.Aiming at this problem,considering the current study of ARM instruction set simulator in embedded system development,this article provides a design of ARM instruction set simulator.%随着嵌入式系统软件的发展,以及嵌入式应用在各个行业的普及,嵌入式系统开发已经被越来越多的人所关注.目前,嵌入式软件更新频率快,因此要求开发者在短期内能开发出具有针对型的应用程序,然而嵌入式系统运行环境往往是用户制定,并且运行在特定的硬件环境中.常规的软件开发方法往往导致嵌入式系统开发效率低下,同时大幅提高了开发成本.因此,实现对嵌入式系统硬件环境的仿真能有效提高嵌入式系统开发效率.本文针对此问题,结合现有ARM体系架构和指令集模拟器实现原理,提出了一套基于X86平台的ARM指令集模拟器的设计方案.【期刊名称】《电子设计工程》【年(卷),期】2013(021)012【总页数】4页(P164-166,169)【关键词】嵌入式系统开发;ARM体系架构;指令集模拟技术;ARM指令集模拟器【作者】贾少波【作者单位】西安财经学院信息与教育技术中心,陕西西安 710061【正文语种】中文【中图分类】TP302如今,仿真技术和虚拟技术被广泛应用各个领域,特别在嵌入式系统的开发过程中,由于在不同应用领域中,嵌入式开发要求的硬件体系差别很大,用软件进行系统仿真或虚拟硬件非常必要。

基于ARM平台的通指装备模拟器软硬件设计

基于ARM平台的通指装备模拟器软硬件设计
p r i n c i p l e a n d s y s t e m ra f me wo r k o f d e v e l o p i n g c o mm u n i c a t i o n a n d c o I / n T l a nd c o n t r o l e q u i p me n t s i mu l a t o r s .
Ab s t r a c t :Th e ARM p hf f o r m i s t h e ir f s t c h o i c e o f h a r d wa r e p l a t f o r m i n t h e d e v e l o p me n t o f s i mu l a t o r s b e — c a u s e t h a t i t h a s r e ma r k a b l e h i g h s pe e d p r o c e s s i n g a b i l i t y a nd a c h i e v e s i n t e l l i g e n t i z e d c o n t r o l l e v e l a n d n e t —
Th e n , i t d e t a i l e d l y s t a t e s t h e r e a l i z a t i o n p r o j e c t o f c o mmu n i c a t i o n a n d c o mma n d c o n t r o l e q u i p me n t s i mu l a t o r s
wo r k e d c o mmu n i c a i t o n a b i h t y、 Ⅳ i t l 1 E mb e d d e d Op e r a t i n g S y s t e m ( E os ) . F i r s t l y , t h i s p a p e r i n t r o d u c e s d e s i g n

ARM实时在线仿真器的设计与实现

ARM实时在线仿真器的设计与实现

东南大学硕士学位论文ARM实时在线仿真器的设计与实现姓名:钱德俊申请学位级别:硕士专业:微电子与固体电子指导教师:胡晨20070416第二章嵌入式系统调试原理X86的INT3),而另一些机器没有类似的指令,就用任意一条不能被解释执行的非法(保留)指令代替。

目标操作系统添加的这些模块统称为‘锸桩”(见图2.1)。

驻留在ROM中的插桩称为ROMmonitor。

图2.1“插桩”示意图运行于目标平台的被调试程序(Debugge*)要在入口处调用设置断点的函数以产生异常,异常处理程序调用调试端口通信模块,等待主机(Host)上的调试器(Debugger)发送信息。

双方建立连接后调试器便等待用户发出调试命令,目标系统等待调试器根据用户命令生成的指令,如图2.2所示。

运行调试器◆旨定调试通信端口可目标系统发消息JL………日标操作系统初始化至应用系统入口●主动触发异常◆异常处理程序转入调试端口通信▲主机目标平台图2.2主机与目标平台调试示意图“插桩”能完成被调试程序的下载,目标机内存和寄存器的读写,设置断点,单步执行被调试程序等功能。

一些高级的“插桩”能完成代码分析(CodeProfiling),系统分析(SystemProfiling),ROM空间的写操作,以及设置各种非常复杂的断点等功能。

利用“插桩”方式作为调试手段时,开发应用程序的步骤如下:1、编写代码。

2、编译应用代码。

3、将代码下载到目标上的RAM空间。

4、用户使用调试器进行调试。

5、如果程序正常转到第8步。

6、发现程序有问题,在调试器的帮助下定位错误。

7、修改错误,重复2-7步。

8、将程序固化到目标机上。

这一方案的实质是用软件接管目标系统的全部异常处理(Exceptionhandler)及部分中断处理,在其中插入调试端口通信模块,与主机的调试器交互。

这种调试方式的最大好处就是:简单、方便。

还可以支持许多高级的调试功能,并且可扩展性强,成本低廉,基本上不需要专门的调试硬件支持。

基于ARM处理器的智能机器人的设计与实现

基于ARM处理器的智能机器人的设计与实现

基于ARM处理器的智能机器人的设计与实现近年来,智能机器人技术得到广泛应用,而基于ARM处理器的智能机器人更是备受瞩目。

本文将介绍基于ARM处理器的智能机器人的设计及实现。

一、设计思路智能机器人的设计需要从以下三个方面考虑:1.硬件方面:各种传感器、处理器等硬件的选型和布局设计。

2. 软件方面:智能机器人的控制系统、图像处理软件等的编写。

3. 机械方面:机器人的外形设计、机械臂的构造等。

基于ARM处理器的智能机器人,其硬件方面的设计中,首先需要确定ARM处理器的型号及其参数,如主频、内存容量、外设接口等。

另外,还需要根据机器人的应用场景,选用合适的传感器,如红外传感器、超声波传感器、视觉传感器等,并将传感器布局在合适的位置,以便机器人能够准确感知外界环境。

机器人的动力系统也是不可忽视的硬件部分,需选用合适的电机及其控制电路,以保证机器人能够完成各种动作任务。

在软件方面的设计中,需要编写机器人的控制系统软件,以便实现机器人的自主导航、避障、路径规划等功能。

此外,机器人的视觉处理软件也是非常重要的。

通过视觉传感器获取的图像信息,可以实现机器人的目标检测、物体识别等功能。

在机械方面的设计中,需要根据机器人的具体应用场景,设计出合适的外形和机械臂构造。

例如,在智能物流机器人中,需要考虑机器人的载重量和运载方式,因此需设计出合适的物品托盘和机械臂。

二、实现流程基于ARM处理器的智能机器人的实现流程,可以分为以下几个步骤:1. 硬件搭建。

根据设计方案,选购各种硬件器件,如ARM处理器、传感器、电机、电路板等,并进行组装布线。

2. 软件编写。

根据硬件搭建完成后的具体情况,编写控制系统软件、图像处理软件等。

3. 系统调试。

进行机器人的各项功能测试、参数调试,以验证机器人的性能是否符合设计要求。

4. 机械部分的制造和安装。

5. 软件部分的不断优化和更新。

三、应用场景基于ARM处理器的智能机器人适用于多个应用场景,如:1. 智能家居。

arm程序设计实验报告

arm程序设计实验报告

arm程序设计实验报告ARM程序设计实验报告一、引言ARM(Advanced RISC Machine)是一种精简指令集计算机(RISC)架构。

在本次实验中,我们将学习和实践ARM程序设计的基本知识和技巧。

本报告将介绍实验的目标、步骤和结果,并对所学内容进行总结和思考。

二、实验目标本次实验的主要目标是通过编写ARM汇编程序,实现简单的功能。

具体来说,我们将学习如何使用ARM汇编语言编写程序,了解寄存器、指令和内存的基本概念,以及如何进行程序的调试和优化。

三、实验步骤1. 环境准备:安装ARM开发工具链,并配置开发环境。

2. 编写程序:根据实验要求,编写ARM汇编程序,实现指定的功能。

3. 调试与测试:使用模拟器或硬件平台,调试和测试编写的程序,确保程序的正确性和稳定性。

4. 优化改进:根据实验结果和性能要求,对程序进行优化改进,提高程序的效率和可靠性。

四、实验结果在本次实验中,我们成功完成了以下任务:1. 实现了一个简单的计算器程序,可以进行加减乘除运算,并输出结果。

2. 编写了一个字符串反转程序,可以将输入的字符串逆序输出。

3. 设计了一个简单的游戏程序,用户需要通过按键控制角色移动,避开障碍物。

通过以上实验,我们掌握了ARM汇编语言的基本语法和指令,了解了寄存器和内存的使用方法,以及如何进行程序的调试和优化。

同时,我们还学习了如何与外部设备进行交互,实现更复杂的功能。

五、实验总结通过本次实验,我们深入了解了ARM程序设计的基本原理和技巧。

ARM架构的精简指令集使得程序设计更加高效和灵活,适用于各种嵌入式系统和移动设备。

同时,ARM处理器的低功耗特性也使得其在无线通信、物联网等领域有着广泛的应用前景。

然而,ARM程序设计也存在一些挑战和难点。

首先,由于ARM汇编语言与高级语言相比,语法更为底层和复杂,需要更加深入地理解计算机硬件结构。

其次,ARM处理器的架构和指令集不同于传统的x86架构,需要重新学习和适应。

基于ARM微处理器的视频信号模拟器的设计与实现

基于ARM微处理器的视频信号模拟器的设计与实现
Yi Lu Ch n Bn n e ig
( l g fElc r ncEn ne rn Col eo e to i gi e ig,Na a e v lUni. fEn n e ig,W u a 3 0 3 v o gie rn h n4 0 3 )
Ab ta t s r c :Th ie i n lsmu a o s b s d o h h p o 3 4 e v d o sg a i l t r i a e n t ec i f¥ C4 B0x. P S C4 1l wh c a g e f r n e M U 3 4 0x. ih h shih p ro ma c B
真、 可方便地实 现多 目标模拟 、 系统扩展性好 等优点 。本文简要 介绍 了基 于微处 理器 SC 4 O 34 B X芯片的 开发平 台 , 并 给出了基 于 ¥C 4 0 3 4B X开发平 台视 频信 号模拟器 的硬件 组成及详 细的软件流程 图 , 出实验结果 。 并给 关键 词 :A M 微处 理器 ; 3 4 B) ; R ¥ C 4 ( 视频 信号模拟 器 ; x C语言
号 实 时 显示 ; 后 根 据 设 定 参 数 , 一 定规 律 综 合 基 本 目 然 按 标 回波 、 景 , 成 模 拟 信 号 , 存 为显 示 映 射 图 ; 触 发 背 形 保 当
视频信号模拟器是装备调试 、 训练 、 故障诊断 中急需
的设 备 , 除极少 数装 备配 备 了价 格 不 菲 的专 用 视 频 信号 模 拟 器外 , 般装 备 只有 内置 的 简 易信 号 发 生 器 , 能 单 一 , 一 功
c a a t r ft e M[ U 3 4 h r c e s o h P S C4 BoX ev d o sg a i u a o a e n t e c i f 3 A4 OX a d r ig a a d Th i e in l m lt ri b s d o h h p o ¥ C B s S h r wa ed a r m n t e p o r m n l w h r fARM a e b e ie . h r g a a d fo c a to h v e n g v n

基于ARM嵌入式系统的拟人机器人控制器的设计

基于ARM嵌入式系统的拟人机器人控制器的设计

基于ARM嵌入式系统的拟人机器人控制器的设计基于ARM嵌入式系统的拟人机器人控制器的设计近年来,随着科技的发展,机器人技术的应用越来越广泛。

而拟人机器人作为人工智能领域的重要研究方向之一,丰富的机器人表情和人类行为模仿能力使其在社会各个领域得到广泛关注和应用。

然而,拟人机器人的控制技术是其实现人类行为模拟的关键。

本文以基于ARM嵌入式系统的拟人机器人控制器的设计为研究对象,探讨其设计方法与实现。

1. 引言拟人机器人的控制器需要实现多个功能模块的协同工作,包括人脸识别、语音交互、动作控制等。

而ARM嵌入式系统作为一种低功耗、高性能的处理器架构,可以满足拟人机器人实时反馈和智能决策的需求。

因此,基于ARM嵌入式系统的控制器设计具有重要意义。

2. 系统框架设计拟人机器人的控制器主要分为硬件和软件两个方面。

硬件部分包括传感器、执行器和嵌入式开发板等;软件部分则包括操作系统、驱动程序和算法模块。

2.1 硬件设计传感器模块是拟人机器人控制器的重要组成部分,常用的包括人脸识别摄像头、语音识别麦克风和环境感知传感器等。

这些传感器通过与嵌入式开发板的连接,实现对外界信息的采集。

执行器模块则用于控制机器人的动作,包括舵机、电机和喇叭等。

嵌入式开发板作为核心控制器,负责传感器数据和执行器指令的处理和交互。

2.2 软件设计基于ARM嵌入式系统的控制器软件设计需要满足实时性、可移植性和可扩展性的要求。

首先,选择合适的操作系统,例如Linux嵌入式系统,具备较好的实时性和稳定性。

其次,编写驱动程序,实现嵌入式开发板与传感器、执行器的数据交互。

最后,针对不同功能模块设计相应的算法,实现人脸识别、语音交互和动作控制等功能。

3. 功能模块设计3.1 人脸识别模块人脸识别技术是拟人机器人实现人际交互的重要手段。

该模块通过摄像头采集人脸信息,并通过图像处理算法实现人脸检测、特征提取和比对等功能。

在ARM嵌入式系统中,可以利用OpenCV等开源库实现人脸识别算法。

centos7下利用qemu搭建arm模拟器

centos7下利用qemu搭建arm模拟器

centos7下利⽤qemu搭建arm模拟器1 ⽬的在centos7下使⽤qemu搭建arm模拟器。

参考博客:2 环境centos7版本:Linux version 3.10.0-693.el7.x86_64 (builder@) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017涉及到以下⼯具的使⽤:arm交叉编译⼯具:arm-none-linux-gnueabi-gcc version 4.8.3QEMU:qemu-2.11.0uboot:u-boot-2018.01Linux内核:linux-4.1.38busybox:busybox-1.24.13 arm交叉⼯具安装我下载的版本是:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu,直接解压缩之后就可以使⽤,不需要安装。

下载地址:或者:安装步骤:1、解压缩:tar -vxf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2我是放在了/usr/local/arm路径下。

2、编辑vim /etc/profile在⽂件末尾加上:export PATH=$PATH:/usr/local/arm/arm-2014.05/bin注意,上⾯的等号“=”是英⽂的,⽽不是中⽂的,否则会出现以下的错误。

-bash: export: `PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/arm/arm-2014-05/bin': not a valid identifier3、执⾏source /etc/profile4、测试查看版本信息,这⾥遇到了⼀些问题,记录如下:$ arm-none-linux-gnueabi-gcc -v-bash: /usr/local/arm/arm-2014-05/bin/arm-none-linux-gnueabi-gcc: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory提⽰少了so格式不对,根据⽹友说法,安装glibc.i686之后解决了:$ sudo yum install glibc.i686查看版本信息:$ arm-none-linux-gnueabi-gcc -v... ...Thread model: posixgcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)可以看出,安装的版本是:gcc version 4.8.3 201403204 安装QEMU下载地址:,我下载的是2.11.0版本。

基于ARM的绞车模拟器系统设计与实现

基于ARM的绞车模拟器系统设计与实现
如 果 直接 连 接 绞 车 测试 , 若 出现 故 障 ,就 需要 多 次 重 复 吊放 来检 测 维 修 以保 证 绞 控 系 统 和 绞 车 间 信 号 的 正 常通 连 。 再者
( )收放缆驱动信号 4 此信 号 由绞车控制 系统给 出,驱动 电平强度直接关 系到
绞 车 的 收 放 缆 速 度 ,电 平 正 、 负 分 别 表 示 线 缆 的 收 、放 。
如图 1 在实际 的绞车控制系统检测过程中 ,绞车模拟器 接受来 自绞车控制系统发出的液压电磁阀驱动信号 、收放缆 信号并进行信号预处理 , 处理 后的信 号送入 A M控制 核心, 将 R
某些 测试 者被 吊物 重量重,价格 昂贵,如果测试 中出现 故障 而损坏了被 吊物,所花费的代价 比起 测试 结果将得 不偿 失, 严重浪费人力物力 。故在绞控系统使用之前,利用绞车模拟 器连接绞控系统进行模拟 吊放检测,可达到省时省力,节约 经费 的目的。为此 ,本文设计 了一种可多次重复使用的液压
K y w r s: ¥ C 4 0 e b d e e h i u ; w n h s m l t r s s e e o d 324 ; m eddtcnqe i c iu ao y tm
在绞车工作前 ,先要进行绞车控制系统运行状态的故障 测试 ,测试通过后才可进行 正常使用 。绞控系统 的测试过程
如图 2 / ,A D采样 电路选用 了 A D公司的 A D转换芯片 /
A 7 2 。 / 块的硬件主要依赖 I L 6 2芯片和 A 7 2 D 3 1 A D模 C76 D 3 1芯
片 , I L 6 2为 电荷 泵 反 压 芯 片 为 A 7 2 得 到 一 v的 供 电 电 C76 D3 1 5
Q 是 一 个 跨 平 台 的 c + 图形 用 户 界面 库 ,在计算 t +

ARM仿真器与嵌入式系统设计讲解

ARM仿真器与嵌入式系统设计讲解

ARM仿真器与嵌入式系统设计讲解系统是一种专用的计算机系统,作为装置或设备的一部分。

通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。

实际上,全部带有数字接口的设备,如手表、微波炉、录像机、汽车等,都用法嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现囫囵控制规律。

所谓器,即用于调试基于ARM内核芯片的一个硬件模块。

ARM内核包括ARM7,ARM9,ARM11,-A,Cortex-M,Cortex-R等系列,而基于这些内核的芯片则更多了。

那么这些仿真器挑选有一个原则,用于低端嵌入式微控制器的话,用ULINK2,ULINKPpro即可,可以调试Cortex-M,Cortex-R 芯片。

用于高端的应用处理器ARM9,ARM11,Cortex-A的话,就需要用到DSTREAM仿真器了。

一、嵌入式产品的开发周期典型的嵌入式微控制器开发项目的第一个阶段是用C编译器从源程序生成目标代码,生成的目标代码将包括物理地址和一些调试信息。

目前代码可以用软件模拟器、目标Monitor或在线仿真器来执行和调试。

软件模拟器是在PC机或工作站平台上,以其 CPU(如x86)及其系统资源来模拟目标CPU(如P51XA),并执行用户的目标代码;而目标Monitor则是将生成的目标代码下载到用户目标板的程序存储器中,并在下载的代码中增强一个Monitor任务软件,用来监视和控制用户目标代码的执行,用户通过目标板上的串行口或其它调试端口,利用桌面计算机来调试程序。

程序的调试是通过设置断点、使程序在指定的命令位置停止运行来实现的。

在程序中止的时候,检查存储器和寄存器的内容,作为发觉程序错误的线索。

程序经过调试、找到全部的错误后,修改源代码,重新编译,以一种标准格式生成目标代码文件,比如Intel HEX.这个目标代码将被存储在终于产品的非挥发存储器,比如EPROM或FLASH中。

二、为什么需要仿真器软件模拟器和目标 Monitor提供了一种经济的调试手段,对于无数设计来说已经足够。

ARM的开发工具及仿真器介绍.

ARM的开发工具及仿真器介绍.

ARM的开发工具及仿真器介绍。

ARM开发工具综述ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。

用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。

因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。

使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编、链接等工作全部在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成,目前常见的调试方法有以下几种:1、指令集模拟器部分集成开发环境提供了指令集模拟器,可方便用户在PC机上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。

2、驻留监控软件驻留监控软件(Resident Monitors)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通讯端口与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。

驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。

ARM公司的Ange l就是该类软件,大部分嵌入式实时操作系统也是采用该类软件进行调试,不同的是在嵌入式实时操作系统中,驻留监控软件是作为操作系统的一个任务存在的。

驻留监控软件的不便之处在于它对硬件设备的要求比较高,一般在硬件稳定之后才能进行应用软件的开发,同时它占用目标板上的一部分资源,而且不能对程序的全速运行进行完全仿真,所以对一些要求严格的情况不是很适合。

基于ARM7的S3C44BOX与多路模拟器控制板通讯接口设计与实现

基于ARM7的S3C44BOX与多路模拟器控制板通讯接口设计与实现
( 1 . Na v a l P e t t y Of ic f e r Ac a d e my , Be n g b u 2 3 3 01 2 , Ch i n a ;
2 . No . 9 1 4 4 5 t r o o p s, Da l i a n 1 1 6 0 4 3 , Ch i n a)
船 电技 术 l 控制技术
基于 A RM 7 的S 3 C 4 4 B O X与 多路 模拟 器控 制板 通 讯接 口设计 与 实现
刘 亚 丽 , 王 林 栋 ,黄 汛
( 1 .海 军 蚌 埠 士 官 学 校 ,安 徽 蚌 埠 2 3 3 0 1 2 ;2 .中 国 人 民 解 放 军 9 1 4 4 5部 队 , 辽 宁 大 连 1 1 6 0 4 3 ) 摘 要 : 本 文 介 绍 了 AR M 处 理器 S 3 C 4 4 B O X 的 基 本 特 性 及 其 UAR T单 元 ,设计 了利用 S 3 C 4 4 B O X 与 多 个
价值。
关 键字 :S 3 C 4 4 B O X 中图分 类号 :T N9 1 5 0 0 3 . 4 8 6 2( 2 0 1 3 )0 1 — 0 0 5 5 — 0 3
文 献 标 识 码 :A
I nt e r f a c e De s i g n a nd Re a l i z a t i o n o f Co m m uni c a t i o n be t we e n S 3 C4 4 BO X
模 拟器 控 制板 的多 路通 讯接 口, 以解 决主 控制 器 与多 路控 制板 的 实时协 同工作 问题 ,给 出 了通过广 播 控制
电 文 进 行 控 制 的 实 例 , 该 设 计 成 功 应 用 于 某 大 型 训 练 模 拟 器 , 结 果 表 明 了其 具 有 良 好 的 扩 展 性 和 使 用 推 广

基于ARM9的智能家居模拟系统实现

基于ARM9的智能家居模拟系统实现

基于ARM9的智能家居模拟系统实现智能家居是以住房为平台,利用了综合布线、系统设计、网络通信、安全防范、自动控制等技术。

将家居生活有关的设施集成,构建成高效的住宅设施与家庭日程事务的管理系统。

提升了家居安全性、便利性、舒适性、艺术性,并实现了环保节能的居住环境。

因其牵涉到的知识面很广,现实中实现难度较大。

通过研究总结,利用AMR9开发板和网页技术完全可以实现模拟智能家居系统的搭建。

硬件设备:(1)装有Linux系统或装有Linux虚拟机的PC机一台;(2)凌阳S3C2440 开发板一个(5VDC电源适配器);(3)GPRS模组(9VDC电源适配器,SIM卡);(4)温湿度传感器:SHT10;(5)USB摄像头;(6)导线若干(10芯单排线,4芯单排线,开发板串口线,网线)。

大体步骤如下:(1)移植Boa;(2)编写HTML文件;(3)编写CGI 程序;(4)移植Mjpg-streamer;(5)编写GPRS 相关程序。

将开发板模拟住宅设备,利用IE浏览器访问Boa 服务器,通过在浏览器终端点击不同Button,使Boa 服务器调用不同的CGI 脚本程序,实现对住宅内设备信息的读取及控制等操作,从而完成对住宅的远程管理。

可以实现的功能有灯光控制,温湿度监控和报警,实时视频监控。

原理结构图如下:图1一,Boa 是一款单任务的HTTP 服务器,与其他传统的Web 服务器不同的是,当有连接请求到来时,它并不为每个连接单独创建进程,也不通过复制自身进程来处理多链接,而是通过建立HTTP请求列表来处理多路HTTP连接请求,同时它只为CGI 程序创建新的进程,这样就在最大程度上节省了系统资源。

Boa 服务器和普通Web 服务器一样,能够完成接收客户端请求、分析请求、响应请求、向客户端返回请求结果等任务。

Boa 的工作过程主要包括:(1)完成Web 服务器的初始化工作,如创建环境变量、创建TCP 套接字、绑定端口、开始侦听、进入循环结构,以及等待接收客户浏览器的连接请求。

ARM模拟交通信号灯控制器设计

ARM模拟交通信号灯控制器设计

.《嵌入式系统原理与应用》综合设计模拟交通信号灯控制器设计学院:工学院专业班级:通信工程11秋2班姓名:学号:小组成员:指导教师:完成日期2014年7月目录1 概述 (1)1.1引言 (1)1.2设计思想 (2)1.3设计满足的基本功能 (2)2 系统总体方案及硬件设计 (4)2.1系统方案的确定 (4)2.2显示部分 (4)2.3路灯指示电路 (5)3 软件设计 (6)3.1应用系统软件设计 (6)3.2主程序模块的设计 (6)3.3软件流程图 (7)3.4两组灯路切换时间图 (8)4 硬件电路设计 (9)4.1时钟电路模块设计 (9)4.2复位电路模块设计 (9)4.3LED显示电路图 (10)4.4各管脚分配 (10)5 实物展示 (12)5.1主干道绿灯 (12)5.2主干道黄灯 (13)5.3主干道红灯 (14)6 结束语 (15)参考文献 (16)附录 (17)1 概述1.1 引言1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。

这是世界上最早的交通信号灯。

1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。

它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。

1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。

红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。

带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。

红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。

红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

ARM指令集仿真器的设计与实现的开题报告

ARM指令集仿真器的设计与实现的开题报告

ARM指令集仿真器的设计与实现的开题报告一、选题背景ARM(Advanced RISC Machine)是一种精简指令集(RISC)处理器架构,已经被广泛应用于嵌入式系统、移动设备和消费电子等领域,例如手机、平板电脑、智能手表等等。

ARM指令集在学术领域也有着相当高的研究价值,为了更好地研究和理解ARM 指令集的设计和实现,需要开发一款ARM指令集仿真器。

二、选题意义1. 深入研究ARM指令集ARM指令集的特点是指令数少、指令格式规整、限制性强,使其易于实现和流水线化,执行效率高。

通过开发ARM指令集仿真器,可以深入了解ARM指令集设计的精髓,并掌握RISC指令集的特点。

2. 帮助嵌入式开发者进行开发和调试嵌入式系统经常要求小型化、低功耗、低成本、高可靠性。

使用ARM指令集仿真器可以帮助开发者在计算机上快速开发和调试嵌入式程序,提高开发效率和产品质量。

3. 推动ARM指令集的研究和应用ARM指令集在嵌入式系统领域应用广泛,同时也在学术界受到广泛关注。

开发ARM指令集仿真器可以促进ARM指令集的研究和应用,为嵌入式系统的发展注入新的活力。

三、研究内容与拟解决问题1. 研究内容:(1)ARM指令集的结构和特点;(2)ARM指令集仿真器的实现原理和设计思路;(3)仿真器的基本功能:支持ARM指令集的模拟执行,包括指令解码、指令执行、状态转移、异常处理等;(4)仿真器的扩展功能:支持汇编指令输入、输出、断点设置、调试信息打印等。

2. 拟解决问题:(1)如何准确模拟ARM指令集的执行过程;(2)如何支持指令集的不断更新和扩展;(3)如何提高仿真器的执行效率和运行稳定性。

四、研究方法和技术路线1. 研究方法:(1)文献调研:通过查阅相关文献和资料,了解ARM指令集的结构和特点,以及仿真器的设计和实现原理。

(2)系统设计:基于ARM指令集的结构和特点,设计仿真器的架构和实现方案。

(3)编码实现:采用C++等编程语言,按照设计方案,实现仿真器的基本功能和扩展功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为了快速模 拟 ARM 寄 存 器,本 文 将 每 个 寄 存器设计为一个 32 位的整型变量,通过一个二维 数组(18×7)模拟 ARM 寄存器查找 表,数 组 每 一 列对应于 每 一 种 模 式 下 可 以 被 访 问 的 寄 存 器 列 表,每 一 个 表 项 均 是 指 向 某 一 个 寄 存 器 的 指 针。 由于 ARM 处理器在 User 和 System 模式下没有 备 份 状 态 寄 存 器 SPSR,因 此 定 义 为 空 指 针 (NULL)。通过 该 寄 存 器 查 找 表,可 以 快 速 地 访 问到每一寄存器。
Design and implementation of a simulator of ARM
WEI Rong,XU Wei,MAI Yong-hao (Dept.of Information Technology,Hubei Univ.of Police,Wuhan 430034,China)
Abstract:To eliminate the barriers of the configuration to the development environment of embedded systems and improve the development efficiency,security and reliability of them,the design and implementation of a simulator on an ARM platform are studied,including the simulation of the processor and the peripherals.Based on the platform of S3C2440,the register,the instruction set and the pipeline of the ARM processor are firstly simulated.Then such main peripherals such as the interrupt controller,the serial port,the network interface card,and the clock controller are simulated.In the simulator,the boot loader is loaded and executed.The result verifies the correctness and the availability of the simulator.
· 10 ·
海军工程大学学报
第 28 卷
取代开发板等硬 件 的 功 能,但 通 过 它 可 以 比 较 容 易地进 入 到 嵌 入 式 软 件 开 发 的 广 阔 天 地 中。 同 时,开发者和研究 人 员 还 可 以 利 用 模 拟 器 完 成 某 些特殊的任务,如 处 理 器 指 令 集 设 计 的 正 确 性 验 证 、指 令 的 分 布 率 、程 序 执 行 的 覆 盖 度 分 析 等 。 本 文基于 ARM 指 令 的 特 征 值 计 算 及 分 析,进 行 了 对 ARM 处理器的模拟与设计。
ARM 有 7 种 工 作 模 式,每 一 种 模 式 都 可 以 访问 1 6 个通用寄存器,它们以 0 - 1 5 编 号(以 1 5 为编号的寄存器又称为 PC,即程序计数器),只是 这些编号对应的寄存器在不同模式下可能是不同 的。例如:编号为 0 的寄存器,在任何模式下都是 R0 寄存器,而编号为 8 的寄存器在除快中 断 模 式 以外的其他 模 式 下 都 对 应 R8 寄 存 器,而 在 快 中 断模式下则对应 R8_fiq 寄存器。
1.2 AMR 指令集模拟
指令集模拟 包 括 取 指、译 码 和 执 行。 在 取 指 阶段,先根据 程 序 计 数 器 PC 的 值 从 指 定 位 置 读 出 一 条 指 令 ,经 过 译 码 单 元 翻 译 出 这 条 指 令 ,然 后 在模拟器内 部 执 行。 在 译 码 阶 段,将 译 码 过 程 设 计成一个简单函 数,它 能 够 接 收 指 令 的 二 进 制 表 示,并返回对应的 指 令。 在 执 行 阶 段,由 于 ARM 体 系 结 构 支 持 庞 大 的 指 令 集 ,因 此 为 了 便 于 修 改 、 调 试 及 日 后 扩 展 ,本 文 采 用 模 块 化 的 方 法 :将 每 条 指令都设计为一 小 段 函 数,指 令 执 行 的 模 拟 方 法 即为调用该 函 数。 关 于 指 令 集 模 拟,还 需 要 考 虑 如下问题。
成 为 广 大 嵌 入 式 开 发 者/学 生 深 入 领 会 嵌 入 式 系 统底层知识的一个重大障碍。利用基于嵌入式模 拟器,开发人员则 无 需 将 应 用 程 序 下 载 到 开 发 板 上,直接在模拟器 中 运 行 即 可 掌 握 应 用 程 序 的 运 行 结 果 ,并 可 以 进 行 源 码 级 的 系 统 软 件 开 发 、方 便 修 改 与 调 试 ,提 高 了 开 发 效 率 。 而 在 现 阶 段 ,在 嵌 入式处理器 领 域,基 于 ARM 指 令 系 列 的 处 理 器 所占比例相当大。虽然 ARM 模拟器并 不 能 完全
在 ARM 处 理 器 模 拟 过 程 中,需 要 分 别 对 ARM 寄存器、ARM 指令集及 ARM 流水线进行模拟。
1.1 ARM 寄存器模拟
ARM 指令系列的处 理 器 属 于 32 位 的 RISC (reduce instruction set computer,精简指令集)体 系结构;它共有 37 个 32 位寄存器,大部分操作都 可由这些寄存器直接完成。由于寄存器是处理器 需要频繁访问的 资 源,因 此 如 何 设 计 一 个 简 单 高 效的方法将寄存器访问规则用程序表现出来是寄 存器模拟的主要问题。
后,在 ARM 模拟器上运行嵌入式 Bootloader 程序(Uboot),完成了功能测试盒的性 能 分 析,验 证 了 模 拟 器 设 计
的正确性和方法的可用性。
关键词:ARM 处理器;模拟器;指令译码
中图分类号:TP3 1 6
文献标志码:A
文章编号:1009-3486(201 6)02-0009-06
1)ARM 处理器是 32 位字长处理器,每 条 指 令的长 度 都 是 32 位,因 此 本 文 使 用 一 个 32 位 整 型变量来保存一条指令。
第2期
危 蓉 等:ARM 模拟器的设计与实现
· 11 ·
2)几乎每条 A行指令单元的开始处判断条件是否满 足(状态位的计算方法在 3.1 节给出)。即如果当 前条件不满足该指令的要求时,CPU 就会简 单 地 跳 过 这 条 指 令 ,继 续 执 行 下 一 条 指 令 。
1 ARM 处理器模拟
目前,有 多 种 ARM 平 台 的 模 拟 器,如 Android 模拟器,ARMware 模 拟 器,SkyEye 模 拟 器 等 。 [2] 其中,Android 模拟 器 是 Google 公 司 为 开 发者开发 Android 平台的应用程序而推出的一款 特定于 Android 系 统 的 ARM 模 拟 器[3],但 对 于 ARM 平台没有通用性;ARMware 是 台 湾 公 司 开 发的 一 款 优 秀 的 ARM 平 台 通 用 模 拟 器,但 ARMware 只 支 持 ARMv4 指 令 集,因 此 无 法 模 拟较新的、使 用 更 高 级 的 ARM 指 令 集 的 硬 件 平 台;SkyEye 模拟器是另一款优秀的 ARM 平台模 拟器,其指令 译 码 则 是 基 于 按 位 比 较 进 行 的。 其 他 一 些 优 秀 的 开 源 全 系 统 模 拟 器,如 GSim、 SimOS、OVPSim 等,为了模拟多种 CPU 结构,其 配置操作过程相对较复杂 。 [4]
在模拟 AMR 指 令 系 列 处 理 器 的 过 程 中,对 于运算指令,根据 相 应 的 运 算 法 则 计 算 结 果 并 修 改模拟器内部的 相 应 寄 存 器 或 内 存 的 值;对 于 访 问存储器指令,根 据 特 定 的 内 存 管 理 系 统 地 址 变 换规则计算出相 应 的 内 存 地 址,从 其 中 读 取 或 写 入 数 据 ;对 于 处 理 器 状 态 相 关 指 令 ,则 根 据 不 同 的 指令修改模拟器内部的处理器相关状态。因此,
3)ARM 处 理 器 有 两 套 指 令 集,即 ARM 指 令集和 Thumb 指 令 集,因 此 需 要 模 拟 两 套 指 令 集 ,并 且 能 够 在 指 令 集 间 进 行 切 换 ,而 本 文 主 要 针 对于 ARM 指令集的模拟。
第 28 卷 第 2 期 2016 年 4 月
海军工程大学学报
JOURNAL OF NAVAL UNIVERSITY OF ENGINEERING
DOI:10.7495/j .issn.1009-3486.201 6.02.003
ARM 模拟器的设计与实现
Vol.28 No.2 Apr.201 6
危 蓉,徐 伟,麦永浩
模拟器的工作原理是将需要运行的代码载入 到 模 拟 器 内 存 中 ,然 后 根 据 特 定 的 规 则 进 行 取 指 、 译码,以理解该指令的目的[5]。其中,处理器 的 指 令集模拟是整个模拟器的核心。通常有两种指令 集模拟方法:一是 将 目 标 平 台 的 指 令 反 汇 编 成 主 机 平 台 的 指 令 集 ,然 后 直 接 在 主 机 上 运 行 ;二 是 通 过软件的方法模拟目标平台的每条指令。前者的 优点是速度较快,但 由 于 目 标 平 台 和 主 机 平 台 的 指 令 集 的 差 异 性 ,导 致 某 些 模 拟 不 成 功 ,而 后 者 虽 然速度较慢,但可 以 在 主 机 上 模 拟 任 何 平 台 的 指 令 集 ,模 拟 器 经 过 取 指 ,再 根 据 特 定 的 规 则 进 行 译 码,可在内置 的 虚 拟 环 境 中 模 拟 指 令 的 执 行。 本 文研究的是第二种模拟方法的实现方式。
相关文档
最新文档