Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Arm Developer Suite™ (ADS)
ARM ADS
ARM ADS는 크게 다음의 두개의 프로그램으로 구성되어 있다.
CodeWarrior for ARM
ARM Project Manager (APM)은 윈도우 환경에서 소스편집/컴파일/링킹 기능을 제공하는 프로그램이다.
AxD (ARM Extended Debugger)
AxD는 윈도우 환경에서 사용자의 프로그램을 디버깅/실행해 볼 수있는 디버거이다.
이 프로그램은 기본적으로 시뮬레이터(Armulator)를 제공하고 RDI 프로토콜을 사용하여 에뮬레이터에 연결하여 실시간으로
프로그램을 디버깅할 수 있는 기능을 제공한다.
Code Warrior
New Project Window
프로젝트이름
저장 경로(path)
프로젝트 타입
Code Warrior
Project Window
툴옵션설정
컴파일/링킹
디버거로실행
데이터수정동기화
File page프로젝트에포함된파일보여줌
Link Order링킹순서설정
Target포함된타겟표시여기서말하는타겟은일종의컴파일/링킹옵션의묶음이라고할수있다.
Touch해당 파일 무조건재 컴파일
Untouch강제로 재 컴파일하지 않음
Code Warrior
Target Setting- binary 이미지 생성 여부
Access Path- 파일에 포함된 파일의 경로추가 및 삭제
툴옵션Window
Assembler, compiler 옵션설정- 타겟 코어 설정- Endian 설정- ARM/Thumb 모드 설정- 크기/속도 최적화 설정- 디버그 정보 포함 범위 설정
Linker 옵션설정- 읽기 (RO), 읽기 쓰기 (RW)영역 설정
- 프로그램 시작 위치 설정(오브젝트 파일, 섹션)
프로그램 개발순서
ADS 및 ICE를이용한프로그램개발1. CodeWarrior를 이용하여 프로젝트 파일 생성
2. C/C++ 또는 Assembly 소스 파일 생성
3. 프로젝트의 개발툴 옵션 설정(어셈블러/컴파일러/링커옵션)
4. 컴파일 (Build)하여 실행이미지 생성
5. AxD실행
6. 에뮬레이터 관련 옵션 설정
7. 이미지를 에뮬레이터를 통해서 타겟 보드에 다운로드
8. 디버깅 수행
ADS 프로젝트예제
프로젝트 만들기
1. [File]-[New] 선택
2. 다이얼로그 박스에서 Project 선택
3. New Project 윈도우에서 다음 사항 설정한다.
► Type: 템플릿을 선택한다. ARM Executable Image를 선택
► Project Name: 프로젝트 이름 입력.
► Location: 프로젝트 경로 설정
4. OK
ADS 프로젝트예제
프로젝트에 파일 추가
1. [Project]-[Add Files..] 선택
2. 추가할 파일들을 선택 후 Open 버튼 클릭
ADS 프로젝트예제
툴 옵션 설정
Project 윈도우에서 타겟 탭 선택 (DebugRel) 후 설정할 타겟더블클릭
또는 툴 설정 아이콘 클릭
ADS 프로젝트예제
툴 옵션 설정(1)- C Compiler
1. Language Settings-ARM C compiler 의 Target and Source 윈도우에서 다음 사항 설정하고 Save 버튼 클릭
► Byte Sex = “Little Endian”
► Processor = “ARM920T”
► Floating Point = “None”
► Source Language =“ANSI/ISO Standard C”
ADS 프로젝트예제
툴 옵션 설정(1)- ARM C Compiler
2. Debug / Opt 페이지에서 다음과 같이 설정하고 Save 버튼 클릭
► Debug Control.Enable debug Table Generation -> 체크.Include Preprocessor Symbol -> 체크
► Optimization Level = “None”
ADS 프로젝트예제
툴 옵션 설정(2)- ARM Assembler
1. Language Settings-ARM C compiler 의 Target and Source 윈도우에서 다음 사항 설정하고 Save 버튼 클릭
► Byte Sex = “Little Endian”
► Processor = “ARM920T”
► Floating Point = “None”
► Initial Sate =“ARM”
ADS 프로젝트예제
툴 옵션 설정(3)- ARM Linker
1. Linker-ARM Linker 의 Output 윈도우에서 다음 사항 설정하고
Save 버튼 클릭
► Linktype = “Simple”
► RO base = “0x30000000”
► RW base
ADS 프로젝트예제
툴 옵션 설정(3)- ARM Linker
2. Layout 윈도우에서 다음 사항 설정하고 Save 버튼 클릭
► Object/Symbol = “init.o”
► Section = “Init”
ADS 프로젝트예제
툴 옵션 설정(4)- 바이너리 출력 설정
바이너리 이미지도 함께 생성하기 위하여 다음과 같이 설정한다.
1. Target Setting 윈도우에서 Post-linker를 설정한다.
► Post-linker: ARM fromELF”
ADS 프로젝트예제
툴 옵션 설정(4)- 바이너리 출력 설정
바이너리 이미지도 함께 생성하기 위하여 다음과 같이 설정한다.
2. Linker-ARMfromELF 윈도우에서 Post-linker를 설정한다.
► Output format = “Plain binary”
ADS 프로젝트예제
컴파일 (이미지파일 생성)
어셈블러/컴파일러/링커의 옵션을 설정한 후, 프로젝트를컴파일/링킹한다.
[Project] -> [Make] 선택 또는 Make 아이콘 클릭
ADS 프로젝트예제
AxD 실행
PC - Emulator - 보드 연결
► PC와 연결
에뮬레이터에 따라서 지원하는 방식에 차이가 있다.
OPENice32-A900: Serial /USB/Ethernet 지원, 보통 USB로연결한다.
► 타겟 시스템과 연결
플랫 케이블로 타겟의 에뮬레이터 인터페이스용 커넥터에
연결한다.
타겟 및 에뮬레이터 리셋
타겟 리셋 -> 에뮬레이터 리셋 (eg. OPENice32-A900)
디버거 (AxD) 실행
ADS 프로젝트예제
AxD – 타겟 설정
► 1. [Option]-[Configure Target..] 선택
► 2. Target Environment 에서 OPENice32-A900을 선택한다.
► 3. Configure 버튼을 클릭한다.
ADS 프로젝트예제
AxD – 타겟 설정
통신 설정
► 1. Remote 페이지에서 USB 선택
ADS 프로젝트예제
AxD – 타겟 설정
통신 설정
► 1. Debugger 페이지에서 다음과 설정후 확인 버튼 클릭
Byte Sex=“Little Endian”
SysReset Enable=“체크”
TRST Enable=“체크”
To init SMU= “체크 안함”
Execute boot code=“체크”
Flash Download=“체크 안함”
ADS 프로젝트예제
AxD – 이미지 다운로딩
통신 설정
1. [File]-[Load Image]를 선택하여 해당 이미지 (test.axf) 를선택한다. 그러면 파일이 타겟으로 다운로딩 된다.
ADS 프로젝트예제
AxD – 디버깅 수행
1. 다양한 디버깅 기능들을 이용하여 디버깅 기능 수행.
ADS 프로젝트예제
Go Stop Step
Step In
Run to Cusor
Step Out
기능 설명
Step: 다음 한 라인 실행 (함수일 경우에도 함수 내부로 이동하지 않음)
Step In: 다음 한 라인 실행 (함수일 경우에는 함수 내부로 이동)
Step Out: 현재 함수의 끝까지 실행(함수 실행후 다음 라인 위치)
Run to Cursor: 커서 위치 까지 실행
Go: 프로그램 실행 (Breakpoint, Watchpoint를 만나면 정지)
Stop: 프로그램 실행 멈춤
ADS 프로젝트예제
Memory/Register/Variable
Processor Views menu에서 선택
► Variables : Local variables, Global varibles
► Registers : Current mode 및 6개의 모드 register
► Memory : 특정영역 Memory
역 어셈블 모드 <-> 일반 모드
[Option]-[Toggle Interleaving] 선택
Breakpoint 설정
Code Breakpoint 설정 방법
► 해당라인 double-click
► [Execute]-[Toggle Breakpoint]선택
► F9 key