CN103823731A - 一种基于安卓系统的sd协议栈调试方法 - Google Patents

一种基于安卓系统的sd协议栈调试方法 Download PDF

Info

Publication number
CN103823731A
CN103823731A CN201410100269.7A CN201410100269A CN103823731A CN 103823731 A CN103823731 A CN 103823731A CN 201410100269 A CN201410100269 A CN 201410100269A CN 103823731 A CN103823731 A CN 103823731A
Authority
CN
China
Prior art keywords
debugging
protocol stack
instruction
adjustment method
storage space
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.)
Granted
Application number
CN201410100269.7A
Other languages
English (en)
Other versions
CN103823731B (zh
Inventor
林涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201410100269.7A priority Critical patent/CN103823731B/zh
Publication of CN103823731A publication Critical patent/CN103823731A/zh
Application granted granted Critical
Publication of CN103823731B publication Critical patent/CN103823731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明披露了一种基于安卓系统的SD协议栈调试方法,包括步骤:在系统内存中开辟指令存储空间与回复存储空间;所述指令存储空间用于缓存系统执行的SD协议指令与参数,所述回复存储空间用于存储与所述SD协议指令与参数相关的回复结果;进行调试。在调试步骤中,利用sys文件系统挂载命令接口函数,并操作SD协议栈用于访问SD卡;并且所述调试包括单步调试、重演调试或自定义调试。本发明提供了一种在没有代码的情况下进行异常SD卡调试的方法,能够简便地定位SD协议栈与SD卡之间配合的异常点,降低了出错的风险,并提高了卡上数据的完整性和安全性。

Description

一种基于安卓系统的SD协议栈调试方法
技术领域
本发明涉及电子设备外设调试领域,特别涉及一种基于安卓系统的SD协议栈调试方法。
背景技术
SD卡作为安卓系统上最为普遍的外部存储设备之一,担负着保存用户资料与数据信息的任务。所有的SD卡都要求符合SD卡协议规范,但是不排除一些卡存在不合理的操作行为,以及容易在某些操作情况下不稳定,导致用户资料与数据信息丢失的情况。因而,在安卓系统中,亟需提供一种能够方便的进行SD卡的异常调试的方法,在没有代码的情况下,能够定位SD协议栈与SD卡之间配合的异常点,以处理SD卡协议栈调试的问题。
发明内容
本发明的发明目的为提供一种基于安卓系统的SD协议栈调试方法。为达到所述发明目的,本发明采取的技术方案如下:
一种基于安卓系统的SD协议栈调试方法,包括步骤:
在系统内存中开辟指令存储空间与回复存储空间;所述指令存储空间用于缓存系统执行的SD协议指令与参数,所述回复存储空间用于存储与所述SD协议指令与参数相关的回复结果;
进行调试。
进一步地,所述的SD协议栈调试方法中,在调试步骤中,利用sys文件系统挂载命令接口函数,并操作SD协议栈用于访问SD卡。
进一步地,所述的SD协议栈调试方法中,所述调试包括单步调试、重演调试或自定义调试。
进一步地,所述的SD协议栈调试方法中,在所述单步调试中,用户手动键入单步调试命令并向系统获取执行所述单步调试的指令与参数,并在读取回复后暂停调试。
进一步地,所述的SD协议栈调试方法中,在所述单步调试中,系统响应用户输入的单步调试命令,将单步调试命令写入内核的sys文件系统节点,并在所述节点对应注册的写执行函数中执行停止系统向SD协议栈队列写入指令的请求。
进一步地,所述的SD协议栈调试方法中,在所述重演调试中,系统读取并执行存储于指令存储空间中的指令及参数并再次执行,直至指令出错时停止。
进一步地,所述的SD协议栈调试方法中,所述重演调试用于查看指令出错时系统的运行状况并分析错误原因。
进一步地,所述的SD协议栈调试方法中,在所述自定义调试中,将指令及参数写入一系统节点,将上述指令及参数设定至控制器中对应的寄存器,并发起对SD卡的访问。
进一步地,所述的SD协议栈调试方法中,在自定义调试中,将指令及参数写入的系统节点为经系统驱动注册到sysfs的节点,并通过该节点绑定的写函数将上述指令集参数设定至控制器中对应的寄存器。
采取上述技术方案的有益效果为:采用本方法可以方便地对每条指令进行验证,以分析每个SD卡在不同工作状态下对每一个指令的响应情况。本发明利用了sys文件系统挂载命令接口函数,操作SD卡协议栈来访问SD卡,并且在内存中开辟指令缓存,方便进行操作追溯,从而提供一种在没有代码的情况下进行异常SD卡调试的方法,能够简便地定位SD协议栈与SD卡之间配合的异常点,降低了出错的风险,并提高了卡上数据的完整性和安全性。
附图说明
图1为本发明一实施方式中一种基于安卓系统的SD协议栈调试方法的示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,为本发明一实施方式中一种基于安卓系统的SD协议栈调试方法的示意图。
本发明所述的SD协议栈调试方法中,调试功能分为单步调试、重演调试、自定义调试三种模式。本发明所述协议栈(Protocol Stack)是指设备与外设(如SD卡)之间各种协议的总和,反映了在该信息系统中文件和信息传输过程所遵循的协议和规律。正常安卓系统中执行SD协议的代码路径是系统将上层的读写和控制需求转换成相应的指令与参数,送往SD控制器的驱动,驱动按照指令、参数以及控制器寄存器的要求对控制器进行配置,配置后的控制器将指令和参数发送到外部的SD卡,外部的SD卡回复指令执行的结果至SD控制器,触发控制器驱动程序读取结果并反馈给上层系统。为了清楚地知道各个时间点SD协议的走向和系统的控制流程以方便调试,本发明引入上述三种调试方式。为了实现这些调试手段,首先需要在系统内存中开辟两块空间,其一为指令存储空间,用于缓存系统中所有执行的SD协议指令与参数,另一为回复存储空间,用于存储与所述SD协议指令与参数相关的回复结果。
在单步调试步骤中,通过用户输入的方式发出执行SD协议的调试指令与参数,并将该指令与参数缓存于指令存储空间,进而将单步调试命令写入内核的sys文件系统节点(如S1节点),则S1节点对应注册的写执行函数中执行停止系统向SD协议栈队列写指令的请求,本步骤中,必须由用户手动键入单步调试命令才向系统获取一个指令及参数用以执行,并将得到执行上述SD协议指令与参数的回复结果存储于回复存储空间,读取回复结果之后再次暂停系统。
在重演调试步骤中,将之前缓存在指令存储空间中的SD协议指令和参数按照顺序再执行一次,直至指令出错时停止,得到的执行上述SD协议指令和参数的回复结果亦存储于回复存储空间,并在需要时调取检视。本步骤可以方便查看出错时系统的运行状况并供调试者分析错误原因。
在自定义调试步骤中,输入用于调试的SD协议指令和参数并缓存于指令存储空间,并进一步将指令和参数写入驱动注册到SYSFS的节点,由该节点绑定的写函数将指令和参数设定到控制器中对应的寄存器,发起对SD卡的访问。同样,执行所述指令和参数的回复结果亦存储于回复存储空间。
在实际调试的过程中,根据不同时间点上和不同工作状态下的调试需求选择不同的调试模式,其中单步调试应用于任何经用户判断认为需要调试并手动键入调试指令的情形;重演调试应用于需要用到之前已经缓存于指令存储空间中的SD协议指令和参数进行调试的情形;自定义调试应用于将指令和参数设定到控制器中对应的寄存器并发起向SD卡访问的情形。如此一来可以方便地对每条指令进行验证,以分析每个SD卡在不同工作状态下对每一个指令的响应情况。本发明利用了sys文件系统挂载命令接口函数,操作SD卡协议栈来访问SD卡,并且在内存中开辟指令存储空间与回复存储空间两块缓存空间,方便进行操作追溯,从而提供一种在没有代码的情况下进行异常SD卡调试的方法,能够简便地定位SD协议栈与SD卡之间配合的异常点,降低了出错的风险,并提高了卡上数据的完整性和安全性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种基于安卓系统的SD协议栈调试方法,其特征在于,包括步骤:
在系统内存中开辟指令存储空间与回复存储空间;所述指令存储空间用于缓存系统执行的SD协议指令与参数,所述回复存储空间用于存储与所述SD协议指令与参数相关的回复结果;
进行调试。
2.如权利要求1所述的SD协议栈调试方法,其特征在于,在调试步骤中,利用sys文件系统挂载命令接口函数,并操作SD协议栈用于访问SD卡。
3.如权利要求1或2所述的SD协议栈调试方法,其特征在于,所述调试包括单步调试、重演调试或自定义调试。
4.如权利要求3所述的SD协议栈调试方法,其特征在于,在所述单步调试中,用户手动键入单步调试命令并向系统获取执行所述单步调试的指令与参数,并在读取回复后暂停调试。
5.如权利要求4所述的SD协议栈调试方法,其特征在于,在所述单步调试中,系统响应用户输入的单步调试命令,将单步调试命令写入内核的sys文件系统节点,并在所述节点对应注册的写执行函数中执行停止系统向SD协议栈队列写入指令的请求。
6.如权利要求3所述的SD协议栈调试方法,其特征在于,在所述重演调试中,系统读取并执行存储于指令存储空间中的指令及参数并再次执行,直至指令出错时停止。
7.如权利要求6所述的SD协议栈调试方法,其特征在于,所述重演调试用于查看指令出错时系统的运行状况并分析错误原因。
8.如权利要求3所述的SD协议栈调试方法,其特征在于,在所述自定义调试中,将指令及参数写入一系统节点,将上述指令及参数设定至控制器中对应的寄存器,并发起对SD卡的访问。
9.如权利要求8所述的SD协议栈调试方法,其特征在于,在自定义调试中,将指令及参数写入的系统节点为经系统驱动注册到sysfs的节点,并通过该节点绑定的写函数将上述指令集参数设定至控制器中对应的寄存器。
CN201410100269.7A 2014-03-18 2014-03-18 一种基于安卓系统的sd协议栈调试方法 Active CN103823731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410100269.7A CN103823731B (zh) 2014-03-18 2014-03-18 一种基于安卓系统的sd协议栈调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410100269.7A CN103823731B (zh) 2014-03-18 2014-03-18 一种基于安卓系统的sd协议栈调试方法

Publications (2)

Publication Number Publication Date
CN103823731A true CN103823731A (zh) 2014-05-28
CN103823731B CN103823731B (zh) 2017-03-15

Family

ID=50758812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410100269.7A Active CN103823731B (zh) 2014-03-18 2014-03-18 一种基于安卓系统的sd协议栈调试方法

Country Status (1)

Country Link
CN (1) CN103823731B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105813074A (zh) * 2014-12-31 2016-07-27 希姆通信息技术(上海)有限公司 Otg设备安全接入移动终端的方法及移动终端
CN111427854A (zh) * 2020-03-23 2020-07-17 深圳震有科技股份有限公司 支持存储批量数据的栈结构实现方法及装置、设备、介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122880A (zh) * 2007-09-17 2008-02-13 福建星网锐捷网络有限公司 内嵌调试器的嵌入式系统及嵌入式系统调试方法
US20110307871A1 (en) * 2010-06-11 2011-12-15 International Business Machines Corporation Distributed Debugging
CN102929753A (zh) * 2012-09-27 2013-02-13 成都林海电子有限责任公司 Pcie总线设备存储空间的测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122880A (zh) * 2007-09-17 2008-02-13 福建星网锐捷网络有限公司 内嵌调试器的嵌入式系统及嵌入式系统调试方法
US20110307871A1 (en) * 2010-06-11 2011-12-15 International Business Machines Corporation Distributed Debugging
CN102929753A (zh) * 2012-09-27 2013-02-13 成都林海电子有限责任公司 Pcie总线设备存储空间的测试方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105813074A (zh) * 2014-12-31 2016-07-27 希姆通信息技术(上海)有限公司 Otg设备安全接入移动终端的方法及移动终端
CN111427854A (zh) * 2020-03-23 2020-07-17 深圳震有科技股份有限公司 支持存储批量数据的栈结构实现方法及装置、设备、介质
CN111427854B (zh) * 2020-03-23 2024-01-30 深圳震有科技股份有限公司 支持存储批量数据的栈结构实现方法及装置、设备、介质

Also Published As

Publication number Publication date
CN103823731B (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
US8726097B2 (en) Debugging method and computer system using the same
EP2960777B1 (en) Data protection method, apparatus and device
CN110580235B (zh) 一种sas扩展器通信方法及装置
CN100416496C (zh) 更新指令错误状态寄存器
CN103577275A (zh) 一种数据校验的方法、设备和系统
CN103810440B (zh) 存取系统及方法
CN116225932A (zh) 一种芯片自动化验证方法、系统、设备及介质
CN103823731A (zh) 一种基于安卓系统的sd协议栈调试方法
US20140325285A1 (en) Serial attached scsi expander and method for debugging faults thereof
CN110058954A (zh) 用于错误测试的存储器系统
TW201504650A (zh) Sas擴展卡、實現sas擴展卡的檢修控制系統及方法
CN104657088A (zh) 一种硬盘坏块信息的获取方法及装置
US8516311B2 (en) System and method for testing peripheral component interconnect express switch
CN101206613A (zh) 高速基本输入/输出系统调试卡
US20170052521A1 (en) Programmable controller and arithmetic processing system
TWI609378B (zh) 資料儲存裝置與操作方法
CN101533372B (zh) 数据存取系统
TWI614684B (zh) 即時韌體更新方法及其電腦可讀取媒介
KR20150110860A (ko) 차량의 펌웨어 업데이트 장치 및 그 방법
US10922023B2 (en) Method for accessing code SRAM and electronic device
US9990382B1 (en) Secure erasure and repair of non-mechanical storage media
CN109445686B (zh) 一种存储磁盘以及存取数据的方法
TWI679579B (zh) 遠端登錄伺服器子系統方法與遠端登錄系統
US9880831B2 (en) Field firmware upgrading method and computer-readable medium
US9348729B2 (en) Secured management of traces in a mail processing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant before: Fuzhou Rockchip Semiconductor Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.