본문 바로가기

전체 글377

Aurix MCU Memory Protection 메모리 프로텍션 개념 정리 현재 실행중인 SW가 값을 읽고, 쓰고, 명령어를 실행하는 과정에서 접근할 수 있는,메모리의 범위를 하드웨어적으로 Setting 해 놓은 후,메모리 프로텍션 기능을 Enable 할 경우.지정되지 않은 메모리에 접근하려고 하면 트랩과 SMU Error 가 발생되는 기능이 메모리 프로텍션 기능이다 Ex)  예시메모리프로텍션 기능 활용을 위해 기억해야할 포인트는 3가지이다.- 접근 가능한 범위를 지정하기 (Range 셋팅)  1개가 아니라 여러 종류를 지정할 수 있음 (예를들어 아래와 같이 3개의 범위 지정)  Ex) 0x1000~ 2000 , 0x2000~0x3000,  0x3500 ~ 0x5000 - 위에 지정된 각 범위에 대하여 접근 권한 셋팅하기 . 근데 이것도 1개가 아니라 여러개를 지정해놓을 수 있.. 2024. 10. 3.
Aurix Swap flash 이슈 메모리 스왑 기능을 쓰는 상황일 때. FLASH 커맨드를 통해 flash write/erase/verify 등을 한다면 이때 target address는 물리 주소값을 적어야한다. flash 커맨드에서 아규먼트로 전달되는 주소값은 swap이 자동 적용 되지않는다.쉽게 말해서 Flash Erase 명령을 날린다고 할 때. 예를 들어 내가 실제 메모리 주소 0x8060 0000 영역을 지우고싶은 상황일 떄. 이 때 만약 B Bank가 활성화된 상태라고 가정하면. 단순히 0x8060 0000 영역의 값을 읽고(read) 싶은 상황이라면, 현재 B Bank가 활성화된 상태니까 unint32 test_data = (uint32*)(*(0x8000 0000)); 이런식으로 읽어야 8060 0000 으로 읽힐 것이다.. 2024. 9. 25.
Aurix Swap과 OTA 위에 필요한 핵심 개념들이 모두 잘 적혀있다.차량용 제어기에 OTA가 적용되면서 MCU에 메모리스왑 기능이 만들어졌다.이 기능의 목적은, 제어기가 동작중인 상황에서도 Sw를 업데이트하기 위함이다. 기존에 mcu sw 업데이트를 할 때는. 기존 sw가 설치돼있는 flash 영역을 지운 후, 지워진공간에 새로운 sw를 재설치하는 방식이었다.이 방식의 경우,  sw를 업데이트하려면 기존 sw를 지워야하므로, 기존 동작을 하면서 동시에 sw 업데이트가 불가하다.그래서 도입한 개념이 뭐냐면, FLASH를 A영역,  B영역 2개로 나눠놓은 후.기존 sw가 동작중인 상황에서 새로운 sw를 기존 flash영역이 아니라, 다른 flash 영역에 다운로드 시키는 것이다. ex)기존 sw가 A 영역에 있었다면, 새로운 SW.. 2024. 9. 25.
Aurix Trap 발생시키기 Trap에 대한 정보는Aurix User Manual이 아니라 아래의 Core Architecture User manual 문서에서 확인해야한다.홈피에서 다운로드 가능인피니언의 문서들은 뭐가 어딨는지 알기가 참 힘들다.   Class1 Tin6null 포인터에 변수값 write 하기class1 tin7A0 레지스터에 값 write 하기어셈블리 코드 필요class2 tin5CSFR(Core SFR) 레지스터에 포인터로 접근해서 값 write하기. CPU 관련 레지스터중에 Memory주소갖는 애들이 있다. ex)PXI 레지스터 등Class3 tin2함수콜 리커시브하게 무한하게 부르기class3 tin 7RFE(Return From Exception) 명령어를 트랩루틴이 아닌곳에서 부르기class4 tin2D.. 2024. 9. 5.
Aurix Contex Save Area 와 aurix trap 공부 Aurix CSA 컨셉 Aurix Trap 공부 함수콜,인터럽트,트랩 호출시 Upper Context는 자동으로 저장. Lower Context는 별도의 istruction 호출해야 저장됨 upper, lower context에 저장되는 정보는 아래와 같다.트랩이 발생된 위치 찾기 A11 레지스터(Return Address. 줄여서 RA) 레지스터를 활용한다. 트랩발생시 최초로 호출되는 코드. (트랩 백터테이블에 등록돼있는 함수) 에서 곧바로 트랩 발생위치를 찾으려면 이때는 CSA에 저장된거 말고 현재의 RA 레지스터값을 읽으면된다. 트랩 발생 -> 현재의 context가 저장 -> RA 값 업데이트 및 트랩 루틴 실행. 이므로, 이때는 RA 값을 읽어보면 트랩 발생 위치가 된다. 만약, 트랩 루틴에서 .. 2024. 9. 4.
슈퍼노말 독후감 오늘 아무것도 시도하지 않는 것이 가장 큰 리스크다. 아무것도 하지 않고 하루가 지나가는 것에 공포를 느껴야한다.성공 케이스 찾기 열악한 조건에서도 엄청난 성과를 이룬 돌연변이 캐이스 찾기. 해당 돌연변이에 대해 낯낯이 분석해보기. 모방하고 차별화해보기 프로세스화. 분해하기 시도하려는 어떤 일에 대하여 시작부터 끝까지를 세부적으로 분해하여 프로세스로 정리해보기. 각 프로세스에 대해 운과 실력의 요소로 구분하기. 실력을 쌓으며 여러번 시도하기. 의도된 훈련 모든 과정을 잘게 쪼개고 분석하여 프로세스로 구분. 각 프로세스별로 세부목표 및 실천계획 세우고 수행하고 달성하기 성장하고 있음을 확인할 수 있는 단순 지표를 만들고 확인하면 도움이 된다. (동일 시간에 생산하는 결과물의 양.질을 체크 동일한 결과를 만.. 2024. 8. 28.
기능안전과 mcu safety manual 개념이해 기능안전과 aurix safety manual 개념 이해 기능안전 aurix safety mechanism 개념 이해 배경지식. 주요 용어는 아래글 참고 https://newbie-developer.tistory.com/m/443 ◇ Fault(결함) 과 Failure(고장) 제품이 정상 동작 못하게 되는 상태가 고장 결함은 고장을 유발할 수 있는 비정상적 상태를 의미. 결함이 고장을 일으키는 것. 그러나 모든 결함이 고장을 일으키는 것은 아님. 고장이 좀 더 치명적인(?) 중요한 개념이라 볼 수 있다. 결함은 고장을 유발할 가능성이 있는 요소들(?)이랄까 ◇ random hardware fault vs systematic fault systematic은 일정한 조건에서 반복 재연 가능. 간단히 말하면 .. 2024. 8. 14.
미국 주식 분위기 기록 24.11.04 sp500 5728 나스닥100 20030 반도체 5001 per 애플 36 엔비디아63 ms 34 아마존42 메타26 구글a 21 구글b 22 테슬라 65 브로드컴114 코스트코53 넷플릭스43 asml 35 24.08.16 sp500 5543 나스닥100 19490 반도체 5137 불과 일주일전에 경기침체 야단떨며 급락하더니 그 다음날부터 갑자기 야금야금 꾸준히 반등해서 벌써 다 회복하고도 남았다. 24.08.09 sp500 5319 나스닥100 18413 반도체 4730 경기침체라며 역대급 급락한지 고작 3일만에 순식간에 급반등했다. 신규 실업수당 신청수가 예상보다 낮아서 경기침체 우려가 줄어서 그렇단다. 뭔 경제 예측이 몇일만에 쉭쉭 바뀌는건지.. 24.08.05 sp500 517.. 2024. 8. 6.
T32 spotlight , T32 Highlight T32 변수 깜빡깜빡 1.메모리덤프, 레지스터. 페리펄럴 등에서 변경사항 생겼을때 깜빡거리기. 해당창 마우스 우클릭 후, 아래 커맨드 덧붙이기/Spotlight 2. watch window에 변수값 깜빡이기 %spotlight 2024. 7. 30.