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개정 내역

중요 참고

플래시 플러그인을 개발하는 동안 유의해야 할 중요 사항

  1. 플래시 플러그인을 개발하는 동안 다음 사항을 고려해야 합니다.

  2. 플래시 플러그인이 로드되는 주 플래시 메모리 영역은 정적 쓰기 방지되어야 합니다

  3. 모든 글로벌 변수는 'Init' 기능으로 초기화되어야 합니다

  4. 4개의 플러그인 API에 대한 함수 프로토타입은 BSL 사용 설명서에 지정되어 있어야 합니다.

  5. SRAM 메모리 사용량

    1. VTOR - SRAM 시작(0x20000000). 인터럽트를 사용하는 경우 ROM BSL이 해당 주소 공간을 사용하기 때문에 VTOR는 SRAM의 시작 위치에 배치해야 합니다

    2. 스택 시작 주소 - 장치에서 사용 가능한 SRAM 메모리의 끝입니다

    3. 스택 크기 - ROM BSL 스택 크기를 초과하면 안 됩니다

    4. 데이터 섹션(.data, .bss) - 장치에 등록된 플래시 플러그인이 없는 경우 Get Device Info 명령이 반환하는 'BSL 버퍼 시작 주소'는 데이터 섹션의 시작 주소여야 합니다.

    5. 데이터 섹션 크기 - 데이터 섹션(.data, .bss)에서 소비되는 크기는 BSL 비기본 구성 메모리에 구성해야 합니다.