링크 :
https://software-dl.ti.com/ccs/esd/documents/ccs_breakpoint_watchpoint_c2000.html
Breakpoint 탭에 들어가면 다음과 같은 세부 기능을 사용할 수 있다.
- Breakpoint : Software Breakpoint
- Hardware breakpoint : halt execution of the processor at a pre-defined place in the code.
- Hardware watchpoint : allow execution to halt when a read or write access is made to a data variable address.
- Count Event : can be used to measure clock cycles between two points in the code.
- Data Access Count : can be used to determine the number of times a data variable address has been accessed.
Software breakpoint를 제외한 4가지 기능은 모두 on chip hardware resource를 사용하므로 동시에 사용할 수 있는 개수의 한계가 있다. 이는 코어별로 정해져있으며 C28x의 경우 두 개의 hardware breakpoint를 쓸 수 있다.
❗여기서 hardware breakpoint와 software breakpoint의 차이는?
실행 코드를 플래시 메모리에 다운로드 후 코드 수행 중에 사용하는 것이 hardware breakpoint이고, 코드를 RAM상에 실행시킨 상태에서 사용하는 것이 software breakpoint이다. 보통 hardware breakpoint는 코어에서 지원하는 개수 만큼의 제한이 있지만 software breakpoint는 개수 제한없이 쓸 수 있다.
그럼 breakpoint는 잘 아는 기능이니 나머지 watchpoint, count event, data access count에 대해서 알아보자.
Watchpoint
Location에는 주소값 또는 심볼, 전역변수명을 넣을 수 있다.
읽기 엑세스가 있을 때 중단할지 쓰기 엑세스가 있을 때 중단할 지 선택한다.
우클릭 후 Breakpoint Properties 에 들어가서 특정값(With Data Value)이 읽기/쓰기 될 때만 중단되도록 설정할 수 있고 Data Size(16bit, 32bit)와 Mask를 설정할 수도 있다.
예를들어 아래와 같이 설정하면 0x300000 번지에 0x101 값이 쓰일 때만 Halt한다.
Count Event
Breakpoint를 하나 더 설정하고
Breakpoint Properties 의 Action을 remain Halted가 아니라 Refresh All windows로 선택한다.
중단점의 실행 주기를 계산하는 데 유용하다.
Data Access Count
Location에 메모리 주소, 변수명 등을 입력한다.
Refresh window를 해주어야 화면에 업데이트가 반영된다.
Reset Count on Run을 true로 하면 중단 이후 재실행 때마다 count를 reset할 수 있다.
'임베디드 개발 > TMS320F2838x (C28x)' 카테고리의 다른 글
lwIP UDP 예제 [공개] (3) | 2023.02.25 |
---|---|
TMS320F28388D ] getTick 구현 (0) | 2023.02.21 |
TMS320F28388D ] eCAN, DCAN, MCAN bit Timing Calculator (0) | 2023.02.10 |
TMS320F28388D ] Hardware Access 매크로 (0) | 2023.02.01 |
TMS320F28388D ] IPC 사용하여 CPU1과 CPU2 타이머 Tick 값 Synchronization (0) | 2023.01.26 |