개요 | |
EFM32 UART Bootloader 정리. 1. 모든 EFM32 는 공장출하시 플래시에 UART 부트로더가 기록된 상태. 2. 상기의 부트로더영역은 사용자 코드로 덮어쓰기 하여 해당기능을 사용하지 않을 수도 있다. 3. single character command 로 program, verify, 등 가능. 4. UART로 펌웨어데이터 수신시 XMODEM CRC 프로토콜 기반한다. 5. UART 통신규격 : 1 stop bit, no parity, 8 data bits, baud rate 57600~460800 (EFM32 에서 baud rate 자동탐지 기능 있음.) 6. 테라텀 등에서XMODEM CRC 파일 송신가능하다.
참조정보 Application Note AN003 : http://www.silabs.com/Support%20Documents/TechnicalDocs/AN0003.pdf | |
|
EFM32 UART Bootloader 모드 진입시키는 방법. | |
EFM32 핀 DBG_SWCLK 를 풀업 한 상태에서, EFM32 를 리셋하면 UART부트로더 모드로 된다. - 리셋방법: RESETN 핀에 (기본)High ->Low->High 인가한다. - DBG_SWCLK 핀은 EFM32 내부적으로 고정 풀다운 되어있음. - EFM32 RESET 핀은 내부적으로 고정 풀업 되어있음.
DBG_SWCLK 핀은 내부적으로 풀다운 되어있고 이 핀에 아무런 처리 하지 않은 상태에서 리셋하는 경우에는 통상적인 부팅절차에 따라 부터로더는 flash 영역을 조사하여 있는 경우 실행시키고, 없는 경우엔 부트로더는 EM2 sleep 상태진입하고, 주기적으로 부트로드 핀을 점검한다.
| |
|
부트로더 진입이후 펌웨어 기록위한 UART 통신 절차. | |
EFM32 가 Bootloader 모드로 진입한 상태에서 이후 통신은 UART 기반으로 이뤄진다.
UART 통신규격 : 1 stop bit, no parity, 8 data bits, baud rate 57600~460800
1. 호스트 측에서 "U" 전송. EFM32 에서 baud rate 자동탐지 기능 있으며, 이를 위하여 초기에 호스트 측에서 EFM32 측으로 U (대문자)를 전송해야 한다. 이 데이터를 기반으로 EFM32 는 자동으로 Baud rate 를 설정한다.
U 를 입력받은 EFM32 는 UART로 아래와 같은 응답 데이터를 출력한다.
1.40 ChipID: F08AB6000B153525
앞의 1.40 은 bootloader 버전이고 뒤의 것은 chip ID 이다.
2. 호스트 측에서 "u" 전송. 호스트에서 소문자 u 전송이후 EFM32 는 XMODEM-CRC 포맷으로 수신대기 상태에 있게된다.
3. 호스트에서 펌웨어 데이터 전송. - XMODEM 128 byte CRC16 규격으로 전송해야함.
| |
|
///426.
'임베디드.일렉트로닉스' 카테고리의 다른 글
Dialog사. DA14580 Secondary Bootloader (dual image booting) (0) | 2015.09.07 |
---|---|
XMODEM 128 byte CRC16 개념정리, 코드예. (0) | 2015.08.30 |
Blue Gecko BGM111 Bluetooth Smart Module (0) | 2015.08.29 |
Dialog사. DA14580 Development Kit - Basic. (0) | 2015.08.17 |
알티움 설치. (0) | 2015.08.12 |
댓글