KOKU005 February   2023

 

  1.   요약
  2.   상표
  3. 1BSL 기능 개요
  4. 2용어
  5. 3BSL 아키텍처
    1. 3.1 설계
      1. 3.1.1 타임아웃 기능
        1. 3.1.1.1 인터페이스 자동 감지
        2. 3.1.1.2 명령 수신
    2. 3.2 BSL 호출
      1. 3.2.1 빈 장치
      2. 3.2.2 애플리케이션 요청
      3. 3.2.3 GPIO 기반 호출
      4. 3.2.4 사서함 디버그 명령
      5. 3.2.5 기타
        1. 3.2.5.1 부팅 전 애플리케이션 확인
    3. 3.3 메모리
      1. 3.3.1 SRAM 메모리 사용량
    4. 3.4 BSL 구성
    5. 3.5 BSL 상태
  6. 4부트로더 프로토콜
    1. 4.1 패킷 형식
    2. 4.2 UART 및 I2C BSL 프로토콜
      1. 4.2.1 BSL 승인
      2. 4.2.2 주변 기기 구성
        1. 4.2.2.1 UART
        2. 4.2.2.2 I2C
        3. 4.2.2.3 CRC
    3. 4.3 부트로더 코어 명령
      1. 4.3.1  Connection
      2. 4.3.2  장치 정보 가져오기
      3. 4.3.3  부트로더 잠금 해제
      4. 4.3.4  데이터 프로그래밍
      5. 4.3.5  빠른 데이터 프로그래밍
      6. 4.3.6  데이터 다시 읽기
      7. 4.3.7  플래시 범위 삭제
      8. 4.3.8  대량 삭제
      9. 4.3.9  공장 초기화
      10. 4.3.10 독립 실행형 검증
      11. 4.3.11 애플리케이션 시작
      12. 4.3.12 전송 속도 변경
    4. 4.4 BSL 코어 응답
      1. 4.4.1 BSL 코어 메시지
      2. 4.4.2 자세한 오류
      3. 4.4.3 메모리 다시 읽기
      4. 4.4.4 장치 정보
      5. 4.4.5 독립 실행형 검증
    5. 4.5 부트로더 보안
      1. 4.5.1 암호로 보호된 명령
        1. 4.5.1.1 보안 경고
      2. 4.5.2 BSL 입력
  7. 5부트로더를 사용한 샘플 프로그램 흐름
  8. 6보조 부트로더
    1. 6.1 보조 부트로더 예
  9. 7인터페이스 플러그인
    1. 7.1 구현
      1. 7.1.1 Init
      2. 7.1.2 Receive
      3. 7.1.3 Transmit
      4. 7.1.4 Deinit
      5. 7.1.5 중요 참고
    2. 7.2 플래시 플러그인 유형
    3. 7.3 기존 인터페이스 재정의
      1. 7.3.1 UART 인터페이스 플래시 플러그인 예
  10. 8참고 문헌
  11. 9개정 내역

BSL 코어 메시지

조직

헤더길이RSP데이터CRC32
0x080x020x000x3BMSGC1C2C3C4

설명

일부 명령의 경우 BSL은 처리된 명령의 상태를 나타내는 메시지 응답을 호스트에 보냅니다. 이 표에는 BSL에서 사용 가능한 모든 메시지가 나열되어 있습니다.

MSG 의미 가능한 원인(1)
0x00 작업 성공
0x01 BSL 잠김 오류 BSL이 아직 부트로더 잠금 해제 암호 명령으로 잠금 해제되지 않았거나 BSL 잠금 해제 후에 명령 수신 단계에서 시간 초과가 발생했습니다
0x02 BSL 암호 오류 부트 로더 잠금 해제를 위한 잘못된 암호가 전송되었습니다.
0x03 여러 BSL 암호 오류입니다. 보안 경고 조치가 수행됩니다. 부트 로더 잠금 해제를 위한 잘못된 암호가 3번 전송되었습니다.
0x04 알 수 없는 명령 BSL에 지정된 명령이 유효한 명령으로 인식되지 않았습니다
0x05 잘못된 메모리 범위 지정된 메모리 범위가 잘못되었습니다.
0x06 잘못된 명령 BSL에 제공된 명령은 알려진 명령이지만 현재 잘못되어 처리할 수 없습니다.

0x07

공장 초기화 비활성화 BCR 구성에서 공장 초기화가 비활성화되었습니다

0x08

공장 초기화 암호 오류 BCR 구성이 '암호로 활성화됨'으로 공장 초기화되었을 때 올바르지 않거나 공장 초기화 명령과 함께 암호가 전송되지 않았습니다.

0x09

읽기 오류 BCR 구성에서 메모리 읽기가 비활성화되었습니다

0x0A

잘못된 주소 또는 길이 정렬 플래시 프로그래밍의 시작 주소 또는 데이터 길이가 8바이트로 정렬되지 않았습니다

0x0B

독립 실행형 검증의 길이가 잘못되었습니다 독립 실행형 검증을 위해 전송된 데이터 크기가 1KB 미만입니다
여기에 나열된 가능한 원인이 상태 또는 오류의 유일한 원인은 아닙니다. 여기에는 호스트에 의해 수정될 수 있는 오류의 가능한 소프트웨어 이유만 나열되어 있습니다.