본문 바로가기

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

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.
T32 System Menu T32 NoDebug T32의 JTAG이나 DAP 포트를 제어보드에 꽂아놓으면 보드에 전원공급해도 sw가 실행이 안되고 멈춰 있음. 근데 NoDebug를 누른 상태에서 제어기를 껐다가 켜면 t32 포트가 꽂혀있어도 sw가 실행이 된다. T32 Attach 앞에서 말했던 NoDebug 상태로 코드가 돌고있는 상황에서, 이제 다시 t32가 연결되어 디버깅을 하고 싶을때 .Attach 버튼을 누르면 다시 t32로 디버깅이 가능하게 됨 2022. 9. 7.