ktool
1.0.0
Ktool은 Kendryte Kflash.py 유틸리티의 향상된 버전입니다.
Kflash.py 와 호환되지만 많은 새로운 기능과 향상을 소개합니다.
이 저장소의 SRC/ISP 디렉토리에서 강화 된 2 단계 ISP 의 전체 소스를 사용할 수 있습니다.
2 단계 ISP 및 빌드 지침에 대한 자세한 내용은 빌드 디렉토리에서 확인할 수 있습니다.
IO16 낮게 유지하고 재설정 핀을 주장하여 Bootloader ISP 모드 (K210 ROM 에서 실행)로 재설정 됩니다.IO16 이 낮은 경우 K210은 ROM 에서 1 단계 ISP를 실행합니다.0x805E0000 )에 업로드하여 실행합니다.kflash.py 와 호환되면 동일한 명령 줄 옵션이 지원됩니다 (그러나 더 많은 추가)kflash.py 항상 64K 청크를 쓰고 펌웨어 주소는 64KB 정렬해야합니다 )kflash.py 이 기능을 지원하지만 SRAM에로드하는 것은 115200 Baud에서 수행되므로 더 큰 회사에 비현실적입니다 ). | 논쟁 | 설명 |
|---|---|
-h--help | 도움말 메시지와 종료를 보여주십시오 |
-v--version | 인쇄 버전 및 종료 |
-p PORT--port PORT | 커뮤니케이션 포트는 K210 보드에 연결하는 데 사용되었습니다 주어지지 않으면 자동 포트 감지가 방지됩니다 |
-b BAUDRATE--baudrate BAUDRATE | UART Baudrate는 2 단계 ISP 와의 커뮤니케이션에 사용됩니다. 1 단계 ISP 와의 통신은 항상 115200 BD에서 수행됩니다.기본값 : 115200 |
-l ISP_BIN--bootloader ISP_BIN | 2 단계 ISP 이진 파일 이름. 외부 ISP 이진은 일반적으로 테스트에만 사용됩니다. 주어지지 않으면 내부 ISP 바이너리가 사용됩니다 (권장) |
-k KEY--key KEY | 펌웨어를 암호화 해야하는 경우 16 진수의 AES 키. 작동 방식에 대한 문서가 없으므로 K210 OTP 메모리의 프로그래밍이 필요할 수 있습니다. 주어지지 않으면 AES 방사가 사용되지 않습니다 |
-t--terminal | 작업이 완료된 후 터미널 에뮬레이터 (기본값 : miniterm ) 열기기본값 : False |
-n--noansi | ANSI 색상을 사용하지 않으면 ANSI 색상이 지원되지 않을 때 권장됩니다. (예 : Windows 명령 프롬프트 에서) 기본값 : False |
-B BOARD--Board BOARD | 연결하려는 보드를 선택하십시오. 다른 보드마다 부트 로더 요구 사항에 대한 재설정이 다릅니다. 자동 보드 감지가 주어지지 않으면 일반적으로 잘 작동합니다. 지원 : , ḋan , bit , trainer , kd233 , goE , goD기본값 : None |
--verbose | 출력 진실성 증가; 기본값 : False ; 사용되지 않습니다 |
-S--Slow | 느린 다운로드 모드; 기본값 : False ; 사용되지 않습니다 |
firmware | 일반적으로 다른 모든 논쟁 후에 주어진 유일한 위치 주장 K210 SPI Flash로 플래시 할 펌웨어 또는 기타 데이터가 포함 된 파일 이름 K210 SRAM에로드하고 실행할 펌웨어 파일의 이름 지우기 작업에는 필요하지 않으며 읽기 작업을위한 선택 사항입니다 파일에는 바이너리 펌웨어/데이터, 펌웨어 엘프 파일 또는 KFPKG 패키지가 포함될 수 있습니다 (아래 참조). |
| 논쟁 | 설명 |
|---|---|
-a ADDRESS--address ADDRESS | 플래시 쓰기 작업을 위해 펌웨어/데이터가 작성 될 플래시 주소 플래시 읽기 작업을 위해 데이터를 읽을 플래시 주소 정수는 10 진수 또는 16 진수로 제공 될 수 있습니다 기본값 : 0 |
-E--erase | 전체 플래시 칩을 지우십시오 조심하세요! |
-L--rdlen | 플래시에서 읽을 데이터의 길이 정수는 10 진수 또는 16 진수로 제공 될 수 있습니다 기본값 : 0 |
-R--read | --address 로 지정된 플래시 주소에서 데이터를 읽으십시오데이터는 명령 줄에 지정된 firmware 이름으로 저장됩니다.기본값 : "flash_dump.bin" |
--swapendian | 데이터를 작성할 때 endianess를 교체하십시오. 파일 시스템 이미지와 같은 종류의 데이터를 작성할 때 필요할 수 있습니다. 기본값 : False |
-s--sram | 펌웨어를 K210 SRAM 및 부팅으로 다운로드하십시오 로딩은 2 단계 ISP에 의해 수행되며 보드가 지원하는 모든 보드 레이트에서 수행 할 수 있습니다. 기본값 : Falsekflash.py 이 기능을 지원하지만 SRAM에로드하는 것은 115200 Baud에서 수행되므로 더 큰 회사에 비현실적입니다. |
--termbdr BAUDRATE | 터미널 에뮬레이터에 사용되는 UART BAUDRATE 기본값 : 115200 |
--nosha | 펌웨어 접두사 및 SHA 접미사가없는 플래시 실행 가능한 펌웨어가 아닌 데이터를 플래시 할 때 사용됩니다 기본값 : False |
-T--onlyterm | 작업을 수행하지 않으면 터미널 에뮬레이터 만 시작하십시오. 기본값 : False |
--reset | 터미널 에뮬레이터를 실행하기 전에 보드를 재설정하십시오 --onlyterm기본값 : False |
KFPGK 패키지는 여러 펌웨어 또는 데이터 바이너리 파일을 포함하는 Zip 아카이브 와 콘텐츠를 설명하는 JSON 파일입니다.
여러 파일을 다른 플래시 주소와 다른 옵션으로 플래시해야 할 때 사용하는 것이 편리합니다.
ktool.py 이 파일을 참석하고 컨텐츠를 풀고 필요한 작업을 수행 할 수 있습니다.
패키지에는 플래시 할 파일과 방법을 설명하는 flash-list.json 이라는 JSON 파일이 포함되어야합니다.
files 객체 아래에서 각 파일을 설명하려면 다음 객체가 있어야합니다.
| 열쇠 | 가치 설명 |
|---|---|
address | 정수 ; 파일 컨텐츠가 작성 될 플래시 주소 |
bin | 끈 ; 플래시 할 펌웨어/데이터가 포함 된 파일의 이름 |
sha256Prefix | 부울 펌웨어 접두사 및 SHA 접미사가있는 true 플래시 인 경우 (실행 파일 펌웨어를 플래시)펌웨어가없는 ḟalse 인 경우 접두사 및 SHA 접미사 (데이터) |
swap | 부울은 false 될 수 있습니다 .true 이라면 데이터를 작성할 때 endianess를 교체하십시오.파일 시스템 이미지와 같은 종류의 데이터를 작성할 때 필요할 수 있습니다. |
flash-list.json 의 예 {
"version": "0.1.0",
"files": [
{
"address": 0,
"bin": "MicroPython.bin",
"sha256Prefix": true,
"swap": false
},
{
"address": 5242880,
"bin": "MicroPython_lfs.img",
"sha256Prefix": false,
"swap": true
}
]
}
{
"version": "0.1.1",
"files": [
{
"address": 0,
"bin": "bootloader_lo.bin",
"sha256Prefix": true
},
{
"address": 4096,
"bin": "bootloader_hi.bin",
"sha256Prefix": true
},
{
"address": 16384,
"bin": "config.bin",
"sha256Prefix": false
},
{
"address": 20480,
"bin": "config.bin",
"sha256Prefix": false
}
]
}