본문 바로가기

자동차 임베디드 SW/툴- T3212

T32 - 특정 이벤트 발생 시 특정 스크립트 실행하기 참고 문서 : Interrupt Service Routine 처럼T32가 특정한 이벤트를 감지했을때만 특정 스크립트가 실행되도록 구성할 수 있다 'ON' 이라는 커맨드를 사용하는 것이다.아래와 같은 양식으로 cmm을 작성하면된다.ON 어떤 이벤트>를 감지할 수 있는지, 어떤 액션>들을 실행할 수 있는지를 스터디하고 cmm을 구성하면 된다.일단 간단한 예시를 보자.(참고로 cmm커맨드는 대소문자 구분하지 않음)ON SYSUP GOSUB Fun_GoSub ; System Up 상태가되면 Fun_GoSub라는 서브루틴을 실행해라Fun_GoSub:print "System is Up"return위 커맨드를 해석해보면,T32 시스템 메뉴중에 System Up 이라는 버튼이 있는데. 유저가 이걸 눌러서 System.. 2024. 11. 30.
T32 spotlight , T32 Highlight T32 변수 깜빡깜빡 1.메모리덤프, 레지스터. 페리펄럴 등에서 변경사항 생겼을때 깜빡거리기. 해당창 마우스 우클릭 후, 아래 커맨드 덧붙이기/Spotlight 2. watch window에 변수값 깜빡이기 %spotlight 2024. 7. 30.
Aurix 관련 T32 유용한 문서 아래 문서에 유용한 내용들이 굉장히 많음. 2024. 7. 24.
T32 커맨드 명령 로깅하기 T32 로깅. T32 Logging T32에서 마우스를 통해 제어하는 모든 것은 cmm의 커맨드와 매칭된다. ex) System Menu의 go 버튼 클릭은 cmm명령어 system.mode.go 와 일치한다. 우리가 마우스를 통해 조작한 것들을 모두 cmm 명령 형태로 로깅해주는 기능이 있다. 이를 활용하면 cmm을 이용한 t32 자동화를 할 때 스크립트를 직접 코딩하지않고 마우스로 제어한 결과를 로깅해두고, 해당 내용을 cmm 파일로 관리하면 된다.log.open.test_log 마우스로 이런저런 명령 실행 후 log.close위와 같이 수행하면 test_log.log라는 파일이 생성되고 안에 커맨드 쓰여있음 파일말고 그냥 그동안 실행한 명령보고싶은 경우 아래 히스토리 명령 입력history 2024. 7. 24.
T32 watch 창 복사하기. 변수 복사. 배열 복사 T32 사용시 watch 창에 여러가지 변수나 배열 등을 올려놓고 관찰하는 경우가 많다. 이 때 이 값을 모두 복사하거나 밖으로 빼고 싶은 경우가 있는데 이 때 watch 창 왼쪽 상단에 선글라스 모양. 버튼을 누르면 여러가지 옵션들이 나온다. 그 메뉴를 활용해서 클립보드로 복사하면 된다. 2023. 9. 19.
T32 멀티코어 디버깅 명령 System down 상태에서 수행해야 함 core.number 3 코어갯수 셋팅(예시의 경우 3개 셋팅)core.list셋팅한 코어목록 나열됨 여기서 마우스 더블클릭해서 디버깅하려는 코어 선택하면 된다. 2023. 5. 12.
Flash write,erase시 유의사항!!! T32의 기능 중에 Var.watch 또는 Memory dump 기능이 있는데 이 기능들은 모두 mcu의 현재 메모리값을 유저에게 보여주는 역할을 한다. 한편, 부트로더 등을 사용하여 MCU의 Flash를 write하거나 erase를 하는 경우가 있는데, 이때 만약 T32를 연결해놓은 상태라면 위 기능들로 인해 문제가 생길 수 있다. flash 명령을 수행하는 메모리 영역과 var.watch 또는 dump 기능에서 접근하는 메모리영역이 겹치면 이로 인해 모종의 문제가 발생하여 flash write , erase 도중 런타임 에러가 발생하여 mcu reset이 일어나거나 mcu의 동작이 이상해질 수 있다. 그러므로, T32 연결 상태에서 sw가 flash write, read,erase 등을 할 때는 du.. 2023. 2. 9.
t32 dump file로 저장하기 유의사항 덤프 하려는 플래시 영역이 erased 상태라 읽을 수 없는 상태라면 dump 할 때 버스에러 난다. 바이너리로 덤프data.save.binary 파일명 d:0xa0080000--0xa00a0000Hex파일로 덤프(출력결과는 시작주소 0번지부터 시작)data.save.IntelHex filename.hex D:0xAf000000--0xAF07FFF hex 파일로 저장하면서, 메모리주소도 그대로 뽑고 싶은 경우 TYPE4 옵션을 붙이면 주소영역도 똑같이해서 dump가능. 옵션 없이하면 dump 된 hex 파일의 start address는 0번지가 된다.data.save.IntelHex filename.hex D:0xAf000000--0xAF07FFF /TYPE4 아래와 같이 시작주소 + Lengt.. 2023. 2. 8.
Aurix 이슈. 디버깅시 STM Stop Aurix에는 STM 이라는 타이머가 있는데 RTOS를 만들때 OS의 System Timer로 STM을 많이 사용함. 한편 RTOS에서 일반적으로 주기 Task를 많이 사용하는데, 오토사 OS에는 동일한 Task가 동시에 최대 몇번 Activation이 가능한지 설정할 수 있다. 예를 들어 1ms 주기의 TASK A가 있는데 TASK A의 실행시간이 1ms를 초과한다면, TASK A가 아직 실행중인데 TASK A가 또 한번 Activation 될 것이다. 이런 경우가 Activation이 2번 된 것이다. 만약 해당 Task의 Activation 제한값이 1인 경우,이때 에러로 판단해서 OS hook이 발생한다. 한편, Sw디버깅을 하다보면 break point에 멈춰놓고 쓸 때가 있다. 이때 break.. 2022. 9. 22.