KR19990058817A - 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법 - Google Patents

실시간 다중 작업 운용 시스템에서 메모리 디버그 방법 Download PDF

Info

Publication number
KR19990058817A
KR19990058817A KR1019970078991A KR19970078991A KR19990058817A KR 19990058817 A KR19990058817 A KR 19990058817A KR 1019970078991 A KR1019970078991 A KR 1019970078991A KR 19970078991 A KR19970078991 A KR 19970078991A KR 19990058817 A KR19990058817 A KR 19990058817A
Authority
KR
South Korea
Prior art keywords
memory
debug
address
time
data
Prior art date
Application number
KR1019970078991A
Other languages
English (en)
Other versions
KR100270655B1 (ko
Inventor
김진순
Original Assignee
윤종용
삼성전자 주식회사
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 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019970078991A priority Critical patent/KR100270655B1/ko
Publication of KR19990058817A publication Critical patent/KR19990058817A/ko
Application granted granted Critical
Publication of KR100270655B1 publication Critical patent/KR100270655B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 실시간 다중 작업 운용 시스템(RMOS)에서 메모리 디버그 방법에 관한 것으로서, 특히 코드 분할 다중 접속(CDMA) 방식을 사용하는 시스템에서 실시간 운용 시스템 내의 특정 메모리 영역을 디버그 하는 방법에 관한 것이다.
본 발명은, 시간 단위로 메모리 디버그 명령어를 입력받는 과정과; 디버그할 메모리의 주소를 입력받는 과정; 디버그 시간 단위를 설정하는 과정; 입력된 시간 단위를 가지는 타이머를 생성하여 구동시키는 과정; 타이머에 의하여 시간 단위가 될때마다 입력된 메모리 주소의 데이터를 출력하는 과정; 및 메모리 디버그 중지 명령어가 입력되었는지 확인하는 과정을 포함하여 이루어진다.
본 발명은, 응용 프로그램의 오류로 인하여 다른 응용 블럭의 텍스트나 공통 라이브러리 파일의 데이터에 덮어쓰기를 수행했을 때 현 시스템의 상태 관리의 신뢰도가 떨어져서 프로세서의 동작 이상의 유발되는 것을 막고, 메모리 디버그 방법을 제공함으로써 문제가 발생하는 경우 특정 메모리 영역에 대해 문제가 되는 작업을 검출하여 보완할 수 있다.

Description

실시간 다중 작업 운용 시스템에서 메모리 디버그 방법
본 발명은 실시간 다중 작업 운용 시스템(Real time Multitasking Operating System: RMOS)에서 메모리 디버그(Debug) 방법에 관한 것으로서, 특히 코드 분할 다중 접속(Code Division Multiple Access: CDMA) 방식을 사용하는 시스템에서 실시간 운용 시스템 내의 특정 메모리 영역을 디버그 하는 방법에 관한 것이다.
국제 표준화 기구인 IS-95에 의하면, CDMA 기술을 사용하는 통상적인 이동 통신 시스템은 서비스를 제공받는 이동 단말(MS)과, 서비스를 제공하는 기지국(Base station Transceiver Subsystem: BTS), 상기 기지국을 제어하기 위한 기지국 제어기(Base Station Controller: BSC), 여러 기지국 제어기들을 운영 관리하는 기지국 관리 시스템(Base Station Manager System: BSM) 및, 상기 기지국을 공중 교환 전화망(PSTN)으로 연결하는 교환국 시스템(Mobile Switching Center: MSC)등을 포함하게 된다.
상기 기지국 제어기 시스템의 주 프로세서(Main Processor)를 호 제어 프로세서(Call Control Processor: 이하 CCP라 약칭한다)라 하고, 기지국 시스템의 주 프로세서는 기지국 제어 프로세서(BTS Control Processor: 이하 BCP라 약칭한다)라 하자.
상기와 같이 구성된 CDMA 시스템에서 기지국과 기지국 제어기는, 호 제어 프로세서를 제외한 모든 프로세서는 실시간 다중작업 운용 시스템(Real time Multitasking Operating System: RMOS)을 사용한다. 즉, 각 프로세서의 특성과 역할에 맞게 프로세서별로 실시간 운용 시스템을 제작하여 사용하고 있다.
다중 작업을 수행할 수 있도록 구성된 운용 시스템은 미국 특허 제 5,012,409 호("OPERATING SYSTEM FOR A MULTI-TASKING OPERATING ENVIRONMNET")에 개시되어 있는 바와 같다. 프로세서에 의한 실시간 다중 작업을 제공하는 운용 시스템은 응용 블럭을 해당 메모리 영역에 로딩해 놓은 다음, 다중 작업을 수행하게 된다.
그러나, 종래 기술에 의한 통상적인 실시간 다중 작업 운용 시스템에서는 실시간을 고려한 설계로 인하여 메모리 관리 장치(Memory Management Unit: MMU)를 배제한 다중 프로세서를 사용하게 된다. 이로 인하여 프로세서에서 운용되는 각 응용 프로그램들의 텍스트는 물론 공용의 라이브러리(Library)가 보호되지 못하고 있다.
CDMA 시스템의 각 프로세서들은 실시간 운용 시스템을 제외하고 하나 이상의 응용 블럭들을 가지고 있다. 기지국 제어 프로세서(BCP)의 경우 라이브러리 파일을 포함하여 10개의 응용 블럭들이 수행된다.
이러한 상황에서는 라이브러리 영역이나 하위 프로세서 로딩 블럭의 텍스트 훼손은 물론 현재 수행이 이루어져야할 응용 블럭의 텍스트 영역에 대한 침범 등이 상황이 일어날 수 있다. 라이브러리 영역을 침범하는 경우 시스템은 잘못된 정보로 시스템을 제어하게 되며, 하위 프로세서 관리상의 오류를 범할 수 있다.
또한 응용 블럭의 텍스트를 침범하는 경우에는 버스 에러나 제외(Exception)가 발생할 수 있다. 이 경우 프로세서는 기능 수행상의 오류를 범할 수 있으며, 상위 프로세서로부터 해당 응용 블럭을 재 로딩 받아야만 복구가 가능하다.
즉, 각 응용 블럭들의 메모리 관리가 수행되지 않기 때문에 시스템 상에 중대한 문제가 발생될 수 있다.
따라서 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여, 실시간 운용 시스템에 의하여 동작되는 응용 블럭의 메모리 영역이 침범되는 경우 메모리 디버그 방식을 사용하여 특정 영역에 침범한 응용 작업(task)을 구별할 수 있도록 하기 위한 실시간 운용 시스템에서 메모리 디버그 방법을 제공하는 것을 목적으로 한다.
도 1 은 본 발명에 의한 메모리 디버그 방법을 나타낸 흐름도.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 바람직한 일 실시예는,
시간 단위로 메모리 디버그 명령어를 입력받는 제 1 과정;
디버그할 메모리의 주소를 입력받는 제 2 과정;
디버그 시간 단위를 설정하는 제 3 과정;
입력된 시간 단위를 가지는 타이머를 생성하여 구동시키는 제 4 과정;
타이머에 의하여 시간 단위가 될때마다 입력된 메모리 주소의 데이터를 출력하는 제 5 과정; 및
메모리 디버그 중지 명령어가 입력되면 메모리 디버그 과정을 종료하고 입력되지 않았으면 상기 제 5 과정을 반복하는 제 6 과정을 포함한다.
본 발명에 있어서, 특정 영역에 대한 메모리 점검 방식만 제공하는 것이 바람직하며,
온라인 확인인 가능하도록 하기 위해 유저 콤맨드로 특정 메모리 영역에 대한 디버그 방식을 제공하는 것이 바람직하며,
RMOS에서 제공하는 주기적인 타이머 루틴을 사용하는 것이 바람직하며,
메모리 영역의 변경이 확인되면 작업 어드레스로 응용 작업을 수정 보완하는 것이 바람직하다.
상기한 목적을 달성하기 위한 본 발명의 바람직한 다른 실시예는,
작업 단위로 메모리 디버그 명령어를 입력받는 제 1 과정;
디버그할 메모리 주소와 정상적인 메모리 데이터 값을 입력받는 제 2 과정;
작업의 수행이 끝날 때마다 입력된 메모리 주소의 데이터와 입력된 메모리 데이터 값을 비교하는 제 3 과정; 및
데이터 값이 서로 같으면 상기 제 3 과정을 반복하고, 데이터 값이 서로 다르면 수행한 작업의 주소를 출력하고 메모리 디버그를 종료하는 제 4 과정을 포함한다.
본 발명에 있어서, 특정 영역에 대한 메모리 점검 방식만 제공하는 것이 바람직하며,
온라인 확인인 가능하도록 하기 위해 유저 콤맨드로 특정 메모리 영역에 대한 디버그 방식을 제공하는 것이 바람직하며,
RMOS는 작업을 수행하고나서 늘 메모리 영역을 조사하여 데이터의 정상유무를 확인하는 것이 바람직하며,
데이터가 비정상인 경우 이전에 수행한 작업의 어드레스를 출력하는 방식을 제공하는 것이 바람직하며,
메모리 영역의 변경이 확인되면 작업 어드레스로 응용 작업을 수정 보완하는 것이 바람직하다.
본 발명은 각 프로세서별 메모리에 대한 전체적인 관리가 아니라, 특정 영역에 대한 메모리 점검 방식을 제공한다. 특정 영역에 대한 메모리 디버그 방식을 프로세서에 부하를 주지 않도록 고려하여 구성된다.
본 발명에 의한 디버그 방법은 온-라인상에서 확인이 가능하도록 사용자 명령어(User Command)로 제공한다. 메모리 디버그는 프로세서의 부하가 되므로, 메모리 디버그 중지 명령어를 제공하게 된다.
본 발명에 의한 메모리 디버그 방법은 아래와 같다.
첫째, 시간별 메모리 영역을 화면에 출력한다. 즉, 명령어를 통해 특정 영역의 주소와 시간 주기를 입력받아서 처리한다. 이 방법은 실시간 운용 시스템(RMOS)에서 제공하는 주기적인 타이머 라우팅을 사용한다.
둘째, 작업(task)별 메모리 영역 점검 방법을 제공한다. 이 방법은 상기의 첫 번째 방법보다 프로세서에 부하를 주게 된다. 명령어를 통해 특정 영역의 주소와 그 메모리 영역의 데이터를 입력하면 실시간 운용 시스템(RMOS)은 작업 수행 이후마다 메모리 영역을 조사하여 데이터의 정상 유무를 확인한다. 데이터가 비정상인 경우 이전에 수행한 작업의 주소를 출력하게 된다. 메모리 영역의 변경이 확인되면 작업 주소로 그 응용 블럭의 작업을 수정 보완한다.
도 1 은 본 발명에 의한 메모리 디버그 방법을 나타낸 흐름도이다. 이하 도 1을 참조하여 본 발명의 동작에 대하여 상세히 설명하면 다음과 같다.
먼저 사용자가 메모리 디버그 명령어를 입력하고 디버그상 필요한 조건 데이터들을 입력한다.
시간 단위의 메모리 디버그 방법에 대한 디버그 명령어가 입력된 경우, 디버그하고자 하는 메모리 주소값을 입력하고 디버그할 시간 단위를 입력한다. 실시간 다중 작업 운용 시스템은 주기적은 시간 단위의 타이머를 생성하여 단위 시간마다특정 메모리 주소의 데이터를 출력한다. 메모리 디버그 중지 명령어가 입력될때까지 계속 해당 메모리 주소의 데이터를 출력하고, 메모리 디버그 중지 명령어가 입력되면 메모리 디버그 과정을 종료한다.
작업 단위의 메모리 디버그 방법에 대한 디버그 명령어가 입력된 경우, 디버그하고자 하는 메모리 주소값을 입력하고 디버그할 시간 단위를 입력한다. 실시간 다중 작업 운용 시스템은 작업을 수행학 난 이후, 입력된 특정 메모리 주소의 데이터가 입력된 데이터와 같은지를 확인한다. 만약 데이터가 같으면 계속 다른 작업을 수행한다. 작업이 끝난 데이터가 입력된 데이터 값과 다른 경우에는 작업 주소를 출력한 후, 메모리 디버그 과정을 종료한다.
상기한 바와 같이 동작하는 본 발명은, 응용 프로그램의 오류로 인하여 다른 응용 블럭의 텍스트나 공통 라이브러리 파일의 데이터에 덮어쓰기(overwrite)를 수행했을 때 현 시스템의 상태 관리의 신뢰도가 떨어져서 프로세서의 동작 이상의 유발되는 것을 막고, 메모리 디버그 방법을 제공함으로써 문제가 발생하는 경우 특정 메모리 영역에 대해 문제가 되는 작업을 검출하여 보완할 수 있는 방법을 제공한다.

Claims (11)

  1. 시간 단위로 메모리 디버그 명령어를 입력받는 제 1 과정;
    디버그할 메모리의 주소를 입력받는 제 2 과정;
    디버그 시간 단위를 설정하는 제 3 과정;
    입력된 시간 단위를 가지는 타이머를 생성하여 구동시키는 제 4 과정;
    타이머에 의하여 시간 단위가 될때마다 입력된 메모리 주소의 데이터를 출력하는 제 5 과정; 및
    메모리 디버그 중지 명령어가 입력되면 메모리 디버그 과정을 종료하고 입력되지 않았으면 상기 제 5 과정을 반복하는 제 6 과정을 포함하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  2. 제 1 항에 있어서, 특정 영역에 대한 메모리 점검 방식만 제공하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  3. 제 2 항에 있어서, 온라인 확인인 가능하도록 하기 위해 유저 콤맨드로 특정 메모리 영역에 대한 디버그 방식을 제공하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  4. 제 1 항에 있어서, RMOS에서 제공하는 주기적인 타이머 루틴을 사용하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  5. 제 1 항에 있어서, 메모리 영역의 변경이 확인되면 작업(Task) 어드레스로 응용 작업를 수정 보완하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  6. 작업 단위로 메모리 디버그 명령어를 입력받는 제 1 과정;
    디버그할 메모리 주소와 정상적인 메모리 데이터 값을 입력받는 제 2 과정;
    작업의 수행이 끝날 때마다 입력된 메모리 주소의 데이터와 입력된 메모리 데이터 값을 비교하는 제 3 과정; 및
    데이터 값이 서로 같으면 상기 제 3 과정을 반복하고, 데이터 값이 서로 다르면 수행한 작업의 주소를 출력하고 메모리 디버그를 종료하는 제 4 과정을 포함하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  7. 제 6 항에 있어서, 특정 영역에 대한 메모리 점검 방식만 제공하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  8. 제 7 항에 있어서, 온라인 확인인 가능하도록 하기 위해 유저 콤맨드로 특정 메모리 영역에 대한 디버그 방식을 제공하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  9. 제 6 항에 있어서, RMOS는 작업을 수행하고나서 늘 메모리 영역을 조사하여 데이터의 정상유무를 확인하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  10. 제 9 항에 있어서, 데이터가 비정상인 경우 이전에 수행한 작업의 어드레스를 출력하는 방식을 제공하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
  11. 제 6 항에 있어서, 메모리 영역의 변경이 확인되면 작업 어드레스로 응용 작업을 수정 보완하는, 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법.
KR1019970078991A 1997-12-30 1997-12-30 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법 KR100270655B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970078991A KR100270655B1 (ko) 1997-12-30 1997-12-30 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970078991A KR100270655B1 (ko) 1997-12-30 1997-12-30 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법

Publications (2)

Publication Number Publication Date
KR19990058817A true KR19990058817A (ko) 1999-07-26
KR100270655B1 KR100270655B1 (ko) 2000-11-01

Family

ID=19529984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970078991A KR100270655B1 (ko) 1997-12-30 1997-12-30 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법

Country Status (1)

Country Link
KR (1) KR100270655B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425690B1 (ko) * 2001-12-29 2004-04-01 엘지전자 주식회사 조건부 메모리 억세스 회로
KR100700951B1 (ko) * 2006-08-23 2007-03-28 삼성전자주식회사 이동통신 시스템에서 다중 작업 관리를 위한 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581695A (en) * 1990-05-09 1996-12-03 Applied Microsystems Corporation Source-level run-time software code debugging instrument

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425690B1 (ko) * 2001-12-29 2004-04-01 엘지전자 주식회사 조건부 메모리 억세스 회로
KR100700951B1 (ko) * 2006-08-23 2007-03-28 삼성전자주식회사 이동통신 시스템에서 다중 작업 관리를 위한 장치 및 방법

Also Published As

Publication number Publication date
KR100270655B1 (ko) 2000-11-01

Similar Documents

Publication Publication Date Title
EP0782075B1 (en) Debug apparatus and method for debugging game program in ROM cartridge
KR100270655B1 (ko) 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법
CN113626227A (zh) 一种异常日志信息上报方法、智能终端及存储介质
US20070168740A1 (en) Method and apparatus for dumping a process memory space
CA2193466C (en) Game apparatus and method for debugging game program
CN110377320B (zh) 一种基于双flash的dsp代码在线更新系统及方法
JP4867557B2 (ja) プログラマブルコントローラ
CN100357908C (zh) 电子装置程序的测试方法
JPS6376028A (ja) 仮想計算機システムにおける命令ステツプ実行制御方式
JPS6295651A (ja) プログラム・ロ−ド方式
JPH03240831A (ja) 割り込み処理方式
JPS5835648A (ja) プログラム実行制御方式
CN112286820A (zh) 软件调试方法、装置、计算机设备和存储介质
CN112948196A (zh) 整机重启与睡眠的测试方法、装置、计算机设备及存储介质
KR100598370B1 (ko) 이동통신 단말기의 로깅방법
CN114296761A (zh) 一种从芯片程序更新方法及装置
CN117930797A (zh) 电子控制单元中刷写操作的执行方法、处理器和车辆
JP2003263335A (ja) デバッグモニター
JPS59139462A (ja) エラ−検出装置
JPH06175879A (ja) 疑似障害設定方式
CN113778952A (zh) 一种日志输出方法、装置、设置及存储介质
JPS6232505A (ja) 数値制御装置
CN115407937A (zh) 单片机数据存储方法、装置、电子设备及存储介质
JPH0721036A (ja) マルチタスクシステム試験装置
JPS61278953A (ja) Ramのエラ−チエツク方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080704

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee