본문 바로가기
TI C2000

TI C2000 - 28377D CLA 공부 Part2 .현재 막히는 부분

by vpam 2021. 10. 11.

 기존 잘 돌아가던 프로젝트 기준으로 CLA 설정하고 있는데 이해할 수 없는 문제들이 발생함.

 

문제들은 죄다 illegal_isr로 막히는상태 

 

1) initPWM 해줄 때, 전처리 된 변수+함수 인풋 변수가 아닌 해당 c파일 내부에서 선언된 변수 사용해서 설정할 경우 illegal_isr 걸림 

 

#define TEST = 1000

ePWM1.TBPRD = TEST/2 TEST/3  (해당 연산 결과가 소숫점으로 나와서 오류인건지, 아니면 pwm 함수 input 이 아닌 변수를 썼을 때 오류가 뜨는건지 확인하기)

ePWM1. dbred = test (위와 마찬가지, 처음엔 메모리 초과 관련 문제일 거라고 생각했는데 그건 아님, 변수 타입같은거 변경해가면서 비교해보기)

아니면 clatask 쪽에 epwm 사용 설정을 해둔 상태라면 함수 input 변수들도 다 타입 맞춰줘야하는 문제인가? (Uint16_t) 

 

2) main함수 for문에 ePWM AQCSFRC 설정하면 illegal_isr 걸림, CLATASK에 설정하면 안걸림

왠지모르겠음. 기존 프로젝트랑 비교했을때 달라진건 링커커맨드로 메모리 설정한 거 밖에 없는데

LS0LS1 혹은 메세지 영역에 aqcsfrc 쓴거랑 관계가 있나?? 

 

3) main 함수 for문에 TBPRD 값 설정할 때 clamsg 에 지정하지 않은 변수 쓰면 illegal_isr

main 함수 (CPU쪽) 인데 clamsg 변수랑 무슨상관이지. 

 

4) Ls0LS1을 cla data 영역으로 설정했을떄 cpu에서 접근이 가능하다면 (2837x에는 레지스터 설정해주면 가능함)

  굳이 cpu<->cla msg ram을 설정할 이유가 있을까? (TI Powersuite 예제들은 이렇게 함)  

 

 

 

반응형

'TI C2000' 카테고리의 다른 글

28377d CPU1, CPU2 간 변수 공유  (0) 2021.11.03
TI C2000 - 28377D CLA 공부 Part 1. CLA 특징  (0) 2021.09.21
28377d - CAN 예제 (loopback)  (0) 2021.09.09
TI C2000 28377D 모듈 공부  (0) 2021.09.08

댓글