본문 바로가기

자동차 임베디드 SW98

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.
오토사 OS 에러 E_OS_Limit 오토사 Os의 basic Task는 동시에 허용가능한 최대 Activation Number를 갖는다. 태스크를 이 제한 값보다 여러번 activate 했을때 E_Os_Limit 에러가 발생한다. 2023. 2. 4.
오토사 Fee , Ea 개념 정리 오토사 모듈 중 NVM 모듈이 있다. NVM은 Non Volatile Memory의 약자로 전원 Off 되도 지워지지 않는 메모리를 의미한다. 컴퓨터로 치면 하드디스크, SSD 같은 저장공간을 의미한다. 일반적으로 Mcu에서는 이러한 저장공간으로 일반적으로 2가지가 사용되는데 하나는 Flash memory. 또 하나는 EEPRom 이다. EEPRom은 일반적으로 mcu에 내장된게 아니라 별도의 소자(IC) 형태로 제공되고, 내 개발경험상 이런 eeprom 은 모두 SPI통신을 통하여 제어하는 방식이었다. 그래서 우리가 사용하는 Mcu랑 eeprom을 연결해서 spi 로 명령을 날려서 데이터를 저장.읽기 를 한다. 근데, eeprom의 경우 erase 명령과 write 명령으로 읽고 쓸 수 있는 메모리 사.. 2023. 1. 31.
Aurix Flash 기본지식 flash erase의 최소단위는 sector flash write의 최소단위는 page sector와 page 크기는 hardware 적으로 사전에 정해져있다. 유저매뉴얼을 보고 확인하면된다. (보통 sector가 page보다 훨씬 크다) Aurix에는 Pflash , Dflash 라는 2가지 타입의 flash가 존재함 각각 Program flash , Data Flash 의 약자이다. Pflash와 Dflash는 섹터와 페이지 크기가 서로 다르다. Pflash page : 32byte Dflash page : 8 byte flash에 write를 하기전에는 항상 erase를 해놓은 상태여야한다. (덮어쓰기가 안됨) 덮어쓰기 시도 할 경우(erase 상태가 아닌 flash에 write시도) trap 발.. 2023. 1. 19.
floating point routine 앞에 __f 면 float function 앞에 __d면 double function ftod - float to double dtof - double to float fgt - double variable precision compare STARCORE_ABI_RM.PDF 참조 2023. 1. 9.
vector Hexview 개요 vector에서 제공하는 툴중에 Hexview라는 프로그램이 있다. 정식으로 돈 받고 따로 파는 sw라기보다는 다른 sw 구매할때 같이 들어있는 경우가 있음. 제일 기본적인 기능은 .hex 열어서 보여주는 기능임. 이것 외에도 여러가지 유용한 기능들이 있다. hex파일 상에 어드레스 빈 공간을 특정패턴으로 채워주는 기능 (fill) (이 기능을 사용해서 hex파일 내부에서 띄엄띄엄 떨어져있는 블록들을 하나의 블록으로 합칠 수 있음) 특정 사이즈의 오프셋만큼 옮기는 기능 ex)0번지부터 100번지까지 쓰여져있던 데이터를 데이터는 그대로인데 어드레스만 400~500번지로 이동 영역지정해서 해당 영역에 해당되는 crc값 출력 여러개의 hex 파일을 하나로 합치기(merge) hex 파일의 내용을 c파일에 ar.. 2023. 1. 6.
신입사원을 위한 UDS 진단통신 개요 알아보기 오늘날의 자동차 안에는 수많은 전자 장치가 들어간다. 그리고 각각의 전자장치들을 컨트롤하는 작은 컴퓨터가 있는데, 자동차업계에서는 이 작은 컴퓨터를 제어기라고 부른다.조향 제어기, 제동제어기, 에어백 제어기 등등.. 각각의 장치마다 그 장치를 컨트롤하는 제어기가 자동차 속에 들어있다. 이러한 제어기는 보통 임베디드(embedded) 제어기 라고 불리는데, 임베디드라는 단어의 뜻은 '내장된' 이라는 뜻이다. 임베디드 제어기 = 내장된 제어기 차량용 임베디드 제어기 = 자동차 속에 내장된 제어기 라고 생각하면 된다. 오늘날의 자동차안에는 이러한 임베디드 제어기가 수십개가 들어가있다. 그런데 우리가 자동차를 타면서 이런 제어기를 본적이 있는가? 없을 것이다. 왜냐면.. 내장(embedded) 돼있으니까!임베디.. 2022. 12. 7.
Autosar DEM 모듈 개요 제어기의 고장 진단과 관련된 기능을 제공하는 모듈이다. UDS나 OBD 같은 진단통신과 연관이 깊다. DEM Event 각각의 고장을 Dem Event 라고 정의한다. 예를 들어 배터리 고전압, 배터리 저전압, 캔버스오프 라는 3개의 고장이 있다면 dem에 3개의 event를 정의하는 것이다. 각 event는 여러가지 파라미터를 갖는다. Operation Cycle 해당 이벤트에 설정된 operation cycle을 활성화시킨 상태에서만 이벤트에 대한 명령들이 유효하게 된다. operation cycle을 활성화(시작)하는 방법은 SetOperationCycle 함수를 사용하면 된다. DTC 매핑 각 Event는 DTC에 매핑될 수 있다. Event와 DTC는 N:1 관계이다. Freeze Frame F.. 2022. 11. 29.