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

SRAM 메모리 사용량

SRAM 메모리 레이아웃에는 부트로더의 작동에 사용되는 메모리가 설명되어 있습니다.

  • 데이터 및 스택 섹션 - BSL에서 작업을 위해 사용합니다. 부트로더를 종료하면 SRAM의 이러한 섹션이 지워집니다.
  • 가변 버퍼 공간 - BSL 통신 도중 수신/전송된 데이터 패킷을 저장하는 데 사용되는 버퍼 공간입니다

호스트에서 읽기 및 쓰기 액세스가 허용되는 SRAM 메모리는 [SRAM 종료 주소- 0x120]의 BSL 버퍼 시작 주소입니다. 여기에서 SRAM 종료 주소는 각 장치에서 사용 가능한 SRAM 메모리에 따라 결정됩니다. 동일한 SRAM 공간이 가변 버퍼 공간과 공유되므로 SRAM 쓰기/읽기 작업 중에 덮어 쓰일 가능성이 있습니다.

GUID-20221116-SS0I-PBMP-X8WG-FPCFCQKXCCQ1-low.png그림 3-3 SRAM 사용량

A - SRAM 시작 주소(0x20000000)

B - 등록된 플래시 플러그인 인터페이스가 없는 경우 'Get Device Info' 명령 응답에서 알 수 있는 'BSL 버퍼 시작 주소'

C - 'Get Device Info' 명령 응답에서 알 수 있는 'BSL 버퍼 시작 주소'. 등록된 플래시 플러그인 인터페이스가 없는 경우 'B'와 동일합니다

D-BSL 버퍼 끝 주소 = 'BSL 버퍼 시작 주소' + (2 * 'BSL 최대 버퍼 크기'). 여기서 BSL 버퍼 시작 주소 및 BSL 최대 버퍼 크기는 'Get Device Info' 명령 응답에서 알 수 있습니다

E - 스택 할당의 시작 주소(E-0x120). 'BSL 최대 버퍼 크기'가 0xFFFF보다 작을 때 'D'와 동일합니다.

F - 장치에서 사용할 수 있는 SRAM 메모리의 끝 주소입니다. 자세한 내용은 장치별 데이터 시트를 참조하십시오.

섹션 B-C:

  • BSL 구성에 등록될 때 플래시 플러그인 작업에 할당되는 데이터 섹션입니다.

섹션 C-D:

  • 데이터 패킷을 저장하는 데 사용되는 버퍼 공간

  • 최대 크기는 (2 * 0xFFFF)입니다.

섹션 C-E:

  • BSL 명령을 통해 SRAM 읽기 및 쓰기 작업에 사용 가능한 메모리