CN100485637C - 一种基于嵌入式应用系统实现硬件寄存器的方法 - Google Patents
一种基于嵌入式应用系统实现硬件寄存器的方法 Download PDFInfo
- Publication number
- CN100485637C CN100485637C CNB2006101496796A CN200610149679A CN100485637C CN 100485637 C CN100485637 C CN 100485637C CN B2006101496796 A CNB2006101496796 A CN B2006101496796A CN 200610149679 A CN200610149679 A CN 200610149679A CN 100485637 C CN100485637 C CN 100485637C
- Authority
- CN
- China
- Prior art keywords
- file
- hardware
- hardware register
- register
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于嵌入式应用系统实现硬件寄存器的方法,包括如下步骤:寻找不同读写特性的硬件寄存器,确定其特性及特性标识符;建立文件,将特性标识符加入到文件中;把硬件寄存器的地址和值加入到文件中,作为一条记录;定义一用于区分硬件寄存器操作函数和文件操作函数的标识符;实现文件的操作函数。本发明为嵌入式软件的开发脱离嵌入式硬件进行调试提供了一种理想的解决方案。它简单易行,在应用代码里只有最少的额外代码插入量;使用统一的接口,具有很好的重用性,可以在不同的项目下使用,为嵌入式软件的开发调试提供了极大的便利。
Description
技术领域
本发明涉及嵌入式应用系统的研发领域,具体涉及一种仿真硬件寄存器实现脱离硬件平台先行开发调试嵌入式软件的方法。
本发明应用于在嵌入式应用系统的研发过程中。
背景技术
在当今信息化浪潮中,从普通的家用电器到复杂的通讯设备和机器人,越来越多的电器设备,被赋予越来越多的智能,被称为智能机器。在这些智能机器里面,都有一个共同的东西,就是嵌入式软件。正是这个嵌入式软件的存在,才使得这些机器智能化程度越来越高。
嵌入式软件的开发不同于那些纯软件的开发,只要有PC机,就可以完成整个开发过程,在开发这些智能机器的嵌入式软件过程中,通常需要这些机器设备硬件上的支持,这样嵌入式软件才能完成整个开发和调试过程。
由于嵌入式软件需要特定硬件的支持,使得嵌入式软件的开发过程受到硬件的限制。在嵌入式软件编码完成后,需要等到特定硬件调试正确后才能进行调试,这样加长了新产品的推出时间。
在当前激烈的竞争中,产品晚推出就可能意味着失败。因此,如果能让嵌入式软件的开发和硬件开发同时并行进行,即嵌入式软件首先能够在PC机的环境下先行调试,完成大部分的调试工作,这样在后期与硬件的结合调试工作将大大减少,可以缩短整个系统的开发时间,有利于产品的及早发布。
但是目前没有有效的方法解决这个问题。
发明内容
为了克服现有技术中存在的问题,本发明提出一种方法,解决了嵌入式软件在PC机环境中运行时操作嵌入式设备硬件寄存器。
本发明使用文件代替特定硬件,把特定硬件寄存器(用地址标识)及寄存器的值抽象为文件中的一条记录,用寄存器的操作特性来把这些记录进行分类。这样对硬件寄存器的操作就转为操作这个文件。
本发明具体是这样实现的:
一种基于嵌入式应用系统实现硬件寄存器的方法,其特征在于,包括如下步骤:
第一步:寻找不同读写特性的硬件寄存器,确定其特性及特性标识符;
第二步:建立文件,将特性标识符加入到文件中;
第三步:把硬件寄存器的地址和值加入到文件中,作为一条记录;
第四步:定义一用于区分硬件寄存器操作函数和文件操作函数的标识符;
第五步:实现文件的操作函数。
所述第一步中,硬件寄存器的读写特性包括:
接读写型,间接读写型,读后清零型,写后清零型,写转移型,关联写型,写寄存器某位,其它位有变化型。
所述第三步中,将硬件寄存器的地址和值按照地址等于值的方式加入到相应的特性标识符的后面,下一个特性标识符的前面,作为一条记录放在文件中。
本发明为嵌入式软件的开发脱离嵌入式硬件进行调试提供了一种理想的解决方案。它简单易行,在应用代码里只有最少的额外代码插入量;使用统一的接口,具有很好的重用性,可以在不同的项目下使用,为嵌入式软件的开发调试提供了极大的便利。
附图说明
图1为本发明所述方法的流程图;
图2为本发明的读寄存器软件处理流程图;
图3为本发明的写寄存器软件处理流程图。
具体实施方式
下面结合附图对本发明所述方法进行详细的描述。
如图1所示基于文件的硬件寄存器仿真方法,其具体步骤如下:
第一步:分析硬件,找出不同读写特性的寄存器类型且明确描述出它们的特性并确定它们的特性标识符;
第二步:创建文件并把所有的特性标识符加入到文件中;
第三步:把寄存器的地址和寄存器的值加入到文件中该寄存器操作特性对应特性标识符的后面,下一个特性标识符的前面,作为一条记录;
第四步:在嵌入式应用软件中定义一个标识,来区分嵌入式应用软件运行在嵌入式硬件环境和仿真环境下所要调用的寄存器操作函数;
第五步:编写操作这个文件的软件代码。
下面结合具体的实施例对发明进行详细描述。
本实例使用ini文件作为仿真文件,使用VC编写ini文件的操作代码,具体实现步骤如下:
第一步:此实例的迁入时硬件的寄存器特性有:a,直接读写型(DIR_RW);b,间接读写型(INDIR_RW);c,读后清零型(RD&CLR);d,写后清零型(WR&CLR);e,写转移型(WR&SHT);f,关联写型(co_WR);g,写寄存器某位,其它位有变化型(BIT_WR)。
第二步:创建ini文件,并把第一步中定义的特性标识符加入到文件中,每个特性标识符作为一行;
第三步:把硬件寄存器按照“地址=值”的方式加入到相应的特性标识符的后面,下一个特性标识符的前面,每条“地址=值”占一行;
第四步:使用VC集成开发环境中的“_WIN32”宏作为区分嵌入式硬件环境下寄存器操作函数和仿真环境下ini文件操作函数的标识符;
第五步:在VC环境下编写实现ini文件的操作函数。
通过上面步骤创建的一个硬件ini仿真实例,可以在PC环境下正常运行起来,通过读写ini文件来调试嵌入式应用软件的逻辑和大部分功能,使嵌入式应用软件的开发和调试可以和嵌入式硬件同步进行,从而有效地缩短了整个应用系统的开发周期。
Claims (3)
1、一种基于嵌入式应用系统实现硬件寄存器的方法,其特征在于,包括如下步骤:
第一步:寻找不同读写特性的硬件寄存器,确定其特性及特性标识符;
第二步:建立文件,将特性标识符加入到文件中;
第三步:把硬件寄存器的地址和值加入到文件中,作为一条记录;
第四步:定义一用于区分硬件寄存器操作函数和文件操作函数的标识符;
第五步:实现文件的操作函数。
2、如权利要求1所述的基于嵌入式应用系统实现硬件寄存器的方法,其特征在于:
所述第一步中,硬件寄存器的读写特性包括:
直接读写型,间接读写型,读后清零型,写后清零型,写转移型,关联写型,写寄存器某位,其它位有变化型。
3、如利要求1所述的基于嵌入式应用系统实现硬件寄存器的方法,其特征在于:
所述第三步中,将硬件寄存器的地址和值按照地址等于值的方式加入到相应的特性标识符的后面,下一个特性标识符的前面,作为一条记录放在文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101496796A CN100485637C (zh) | 2006-10-13 | 2006-10-13 | 一种基于嵌入式应用系统实现硬件寄存器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101496796A CN100485637C (zh) | 2006-10-13 | 2006-10-13 | 一种基于嵌入式应用系统实现硬件寄存器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101162439A CN101162439A (zh) | 2008-04-16 |
CN100485637C true CN100485637C (zh) | 2009-05-06 |
Family
ID=39297366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101496796A Expired - Fee Related CN100485637C (zh) | 2006-10-13 | 2006-10-13 | 一种基于嵌入式应用系统实现硬件寄存器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100485637C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627303B2 (en) * | 2009-11-30 | 2014-01-07 | International Business Machines Corporation | Memory optimization of virtual machine code by partitioning extraneous information |
CN101859242B (zh) * | 2010-06-08 | 2013-06-05 | 广州市广晟微电子有限公司 | 一种寄存器读写方法及装置 |
CN109358839B (zh) * | 2017-12-29 | 2022-09-02 | 深圳Tcl新技术有限公司 | 一种嵌入式单片机软件开发的方法及存储介质 |
CN109144849B (zh) * | 2018-07-23 | 2022-04-01 | 武汉虹信科技发展有限责任公司 | 一种嵌入式软件调测方法 |
-
2006
- 2006-10-13 CN CNB2006101496796A patent/CN100485637C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101162439A (zh) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7058855B2 (en) | Emulation interface system | |
TWI410864B (zh) | 在一處理環境中控制指令執行 | |
CN100367253C (zh) | 一种扩展外设的方法及系统 | |
CN100422953C (zh) | 利用HDL扩展串口的SoC系统在线调试方法 | |
US20080021693A1 (en) | Storage Device Simulator | |
KR101874416B1 (ko) | 주변 디바이스들의 유니버셜 시리얼 버스 에뮬레이션 | |
CN101060372A (zh) | 一种快速生成自动化测试脚本的方法及系统 | |
CN102968377A (zh) | 一种基于虚拟机技术的机载软件系统测试通用平台 | |
JP2004227588A (ja) | Sdioカード開発システム | |
CN101458725B (zh) | 微控制器芯片及其调试方法 | |
CN110197698B (zh) | 自动测试ssd不同电源状态影响的方法及装置 | |
CN100485637C (zh) | 一种基于嵌入式应用系统实现硬件寄存器的方法 | |
CN1650276B (zh) | Ata/sata组合控制器 | |
CN102480467A (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN103853147B (zh) | 一种嵌入式系统的在线调试系统 | |
CN100501683C (zh) | 对产品中所使用的闪存型号的自动识别方法 | |
CN102236618A (zh) | 一种usb设备的量产方法及系统 | |
US7131080B2 (en) | Simulation management system | |
US7131099B2 (en) | Method, apparatus, and computer program product for RTL power sequencing simulation of voltage islands | |
CN102193860B (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN100391290C (zh) | 一种使用集成测试工具进行测试的方法 | |
CN105446856A (zh) | 电子设备接口的检测方法、装置 | |
CN100498732C (zh) | 通用串行总线装置的测试系统及其方法 | |
CN100357909C (zh) | 一种仿真器芯片 | |
CN100533401C (zh) | 测试具有异步微控制器的集成电路的仿真和调试接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090506 Termination date: 20151013 |
|
EXPY | Termination of patent right or utility model |