자동차 임베디드 SW/Aurix MCU
Aurix BMHD 그리고 Start Address
존버매니아.임베디드 개발자
2022. 9. 15. 18:18
반응형
Aurix Start Address
Aurix BMHD 개념
MCU에 전원이 딱 켜졌을때 Cpu는 무엇을 할까. Aurix에는 SSW(Start SW)라는 하드 코드 된 코드가 들어가있는데 CPU에 전원이 들어오면 SSW가 실행된다. 이 SSW 코드는 공장에서 제품 만들당시에 삽입되는 코드라 유저가 수정이 불가하다.
하지만 이 SSW가 실행될 때, 메모리의 특정영역 혹은 특정 핀의 값 등에 따라 동작이 달라지긴한다.
상세한 내용은 생략하고 아무튼 SSW가 할 일을 다 한 뒤, 가장 처음으로 실행시키는 유저 코드는 어디에 있을까?
우리가 c언어로 코딩한 코드 중에 mcu가 가장 첫번째로 실행하는 코드가 무엇일까?
그것을 결정하는 것이 바로 Start Address다.
SSW가 할 일 다하고나서 처음으로 실행하는 코드가 위치하는 메모리주소 = Start Address 이다.
이 Start Address는 유저가 Configure 할 수 있는데, 바로 BMHD 라고 하는 지정된 메모리 영역에다 값을 써놓으면 된다.
BMHD 는 부트모드헤더의 약자인데, 총 4개가 있다. 첫번째 헤더에 유효한 값을 지니고 있으면 첫번째 헤더에 셋팅된 값만 참고하고 패스, 첫번째 헤더값에 문제가 있으면 두번째 헤더값 참조.. 이런식으로 동작한다.
암튼 첫번째 BMHD 영역은
0xAF40 0000 에 위치한다.
반응형