stm32flash - 클라우드의 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 stm32flash 명령입니다.

프로그램:

이름


stm32flash - UART 또는 I32C를 통한 STM2용 플래싱 유틸리티

개요


stm32플래시 [-cfhjkouvCR] [-a 버스 주소] [-b 전송 속도] [-m 직렬 모드] [-r 파일 이름]
[-w 파일 이름] [-e NUM] [-n 계산] [-g 주소] [-s 시작 페이지] [-S 주소[:길이]] [-F
RX_길이[:TX_길이]] [-i GPIO_문자열] [tty_장치 | i2c_device]

기술


stm32플래시 STM32의 플래시 메모리를 읽거나 씁니다.

ST 애플리케이션 노트 AN32 또는
AN4221. stm32플래시 직렬 포트를 사용 tty_장치 또는 i2c 포트 i2c_device 상호 작용하다
STM32의 부트로더로

옵션


-a 버스 주소
버스의 주소 지정 i2c_device. 이 옵션은 I2C 인터페이스에 필수입니다.

-b 전송 속도
전송 속도 지정 tty_장치. ST 부트로더는
AN2의 3155장에 설명된 대로 전송 속도를 자동으로 감지합니다. 이것
옵션과 함께 옵션이 필요할 수 있습니다. -c 또는 다음과 상호 작용하는 경우
부트로더가 예상됩니다. 기본값은 57600.

-m 모드
UART 데이터의 형식을 지정합니다. 모드 각각 XNUMX자 길이의 문자열입니다.
문자는 이 엄격한 순서로 문자 크기, 패리티 및 정지 비트를 지정합니다.
현재 사용되는 유일한 값은 8e1 표준 STM32 부트로더 및 8n1 을 통한
표준 STM32W 부트로더. 기본값은 8e1.

-r 파일 이름
STM32 플래시를 읽고 내용을 쓰도록 지정합니다. 파일 이름 원시 바이너리
형식(아래 참조 FORMAT 변환).

-w 파일 이름
내용으로 STM32 플래시를 쓰도록 지정합니다. 파일 이름. 파일 형식은
원시 바이너리 또는 인텔 XNUMX진수(아래 참조 FORMAT 변환). 파일 형식은
자동으로 감지됩니다. 형식 감지를 우회하고 바이너리 모드를 강제 실행하려면(예:
STM32 플래시에서 인텔 XNUMX진 콘텐츠 작성), 사용 -f 옵션을 선택합니다.

-u STM32 플래시에서 쓰기 방지를 비활성화하려면 지정합니다. STM32가 재설정됩니다.
이 작업 후.

-j 플래시 읽기 방지를 활성화합니다.

-k 플래시 읽기 방지를 비활성화합니다.

-o 지우기만 합니다.

-e NUM 지우기만 지정 NUM 플래시를 쓰기 전에 페이지. 기본값은 지우는 것입니다.
전체 플래시. 와 함께 -e 0 플래시가 지워지지 않습니다.

-v 쓰기 작업 후 플래시 내용을 확인하도록 지정합니다.

-n 계산
실패한 쓰기를 재시도하도록 지정 계산 타임스. 기본값은 10회입니다.

-g 주소
실행을 시작할 주소를 지정하십시오(0 = 플래시 시작).

-s 시작 페이지
플래시 페이지 오프셋을 지정합니다(0 = 플래시 시작).

-S 주소[:길이]
읽기/쓰기/지우기/crc 작업의 시작 주소와 길이를 선택적으로 지정합니다.

-F RX_길이[:TX_길이]
현재 인터페이스의 최대 프레임 크기를 지정합니다. STM32 부트로더로 인해
프로토콜, 호스트는 RX에서 256바이트 또는 에서 258바이트보다 큰 프레임을 처리하지 않습니다.
텍사스 현재 코드로 인해 RX의 최저 한계는 20바이트입니다(완전한 응답을 읽기 위해
명령 GET). TX의 최소 제한은 프로토콜에서 요구하는 5바이트입니다.

-f 다음을 사용하여 파일을 읽는 동안 강제 바이너리 파서 -w.

-h 도움말을 표시합니다.

-c 기존 UART 연결을 재개하고 초기 INIT 시퀀스를 보내지 않도록 지정합니다.
전송 속도를 감지합니다. 전송 속도는 기존 연결과 동일하게 유지되어야 합니다.
재설정에 실패한 경우에 유용합니다.

-i GPIO_문자열
호스트에서 GPIO 시퀀스를 지정하여 STM32가 부트로더에 들어가고 나가도록 합니다.
방법. GPIO는 호스트에서 UART 옆의 STM32로 연결된 실제 GPIO일 수 있습니다.
연결 또는 GPIO로 사용되는 UART의 모뎀 신호. (아래 참조 부트로더 GPIO
순차 형식에 대한 GPIO_문자열 및 추가 설명).

-C 메모리 콘텐츠에 대한 CRC를 계산하도록 지정합니다. 기본적으로 CRC는 다음에서 계산됩니다.
전체 플래시 콘텐츠. 사용하다 -S 다른 메모리 주소 범위를 제공합니다.

-R 종료 시 장치를 재설정하도록 지정합니다. 이 옵션은 다음과 같은 경우 무시됩니다. -g, -j, -k
or -u 도 지정됩니다.

부트로더 GPIO 순차


이 기능은 현재 Linux 호스트에서만 사용할 수 있습니다.

ST 애플리케이션 노트 AN2606에 설명된 대로 리셋 후 STM32는 다음 중 하나를 실행합니다.
적용된 레벨에 따라 사용자 플래시 또는 부트로더의 응용 프로그램
재설정하는 동안 STM32의 특정 핀.

STM32 부트로더는 BOOT0="high" 핀을 구성하고
BOOT1="low"로 설정한 다음 재설정을 적용합니다. 사용자 플래시의 응용 프로그램이 활성화됩니다.
핀 BOOT0="low"(BOOT1의 레벨은 무시됨)를 구성한 다음
초기화.

호스트 컴퓨터의 GPIO가 구성 및 재설정 핀 중 하나에 연결되면
STM32, stm32플래시 호스트 GPIO를 제어하여 STM32를 재설정하고 강제 실행
부트로더 또는 응용 프로그램 실행.

부트로더 모드에 들어가고 나가는 GPIO 값의 순서는 다음과 같이 제공됩니다.
명령줄 옵션 -i GPIO_문자열.

형식 GPIO_문자열 입니다
GPIO_string = [진입 순서][:[종료 순서]]
시퀀스 = [-]n[, 시퀀스]

위의 시퀀스에서 음수는 "낮은" 수준의 GPIO에 해당합니다. 숫자
부호가 없는 것은 "높은" 수준에서 GPIO에 해당합니다. 값 "n"은 GPIO일 수 있습니다.
호스트 시스템의 번호 또는 "rts", "dtr" 또는 "brk" 문자열. 문자열 "rts" 및 "dtr"
해당 UART의 모뎀 라인 RTS 및 DTR을 GPIO로 구동합니다. 문자열 "brk" 힘
TX 라인에서 BREAK 시퀀스를 보내기 위한 UART; BREAK 후 UART는 정상으로 반환됩니다.
"비 중단" 모드. 참고: 문자열 "-brk"는 효과가 없으며 무시됩니다.

종료 시퀀스는 -R이 지정된 경우에만 실행됩니다. -R이 지정되었지만
종료 시퀀스가 ​​없으면 소프트웨어 트리거 재설정이 수행됩니다.

예를 들어 호스트와 STM32 간의 다음 연결을 가정해 보겠습니다.
· STM3의 리셋 핀에 연결된 호스트 GPIO_32;
· STM4 핀 BOOT32에 연결된 호스트 GPIO_0;
· STM5 핀 BOOT32에 연결된 호스트 GPIO_1.

이 경우 부트로더 모드로 들어가는 순서는 다음과 같습니다. 먼저 GPIO_4="high"를 입력하고
GPIO_5="낮음"; 그런 다음 GPIO_3="low" 다음에 GPIO_3="high"로 리셋 펄스를 보냅니다. NS
해당 문자열 GPIO_문자열 "4,-5,-3,3"입니다.

부트로더를 종료하고 응용 프로그램을 실행하는 순서는 다음과 같습니다.
GPIO_4="낮음"; 그런 다음 리셋 펄스를 보냅니다. 에 해당하는 문자열 GPIO_문자열 is
"-4,-3,3".

완전한 명령줄 플래그는 "-R -i 4,-5,-3,3:-4,-3,3"입니다.

STM32W는 패드 PA5를 사용하여 부팅 모드를 선택합니다. 재설정하는 동안 PA5가 "낮음"이면 STM32W는
부트로더 모드로 들어가십시오. PA5가 "높음"이면 플래시에서 프로그램을 실행합니다.

예를 들어 GPIO_3이 PA5에 연결되고 GPIO_2가 STM32W의 리셋에 연결된다고 가정합니다. 명령:
stm32flash -R -i -3,-2,2:3,-2,2 /dev/ttyS0
제공 :
· 입력 순서: GPIO_3=낮음, GPIO_2=낮음, GPIO_2=높음
· 종료 순서: GPIO_3=높음, GPIO_2=낮음, GPIO_2=높음

사용 예


기기 정보 얻기:
stm32flash /dev/ttyS0

확인으로 작성한 다음 실행을 시작합니다.
stm32flash -w 파일 이름 -v -g 0x0 /dev/ttyS0

파일로 플래시 읽기:
stm32flash -r 파일 이름 /dev/ttyS0

실행 시작:
stm32flash -g 0x0 /dev/ttyS0

지정 :
· 입력 순서: RTS=낮음, DTR=낮음, DTR=높음
· 종료 시퀀스: RTS=높음, DTR=낮음, DTR=높음
stm32flash -R -i -rts,-dtr,dtr:rts,-dtr,dtr /dev/ttyS0

FORMAT 변환


ST에서 제공하거나 ST 도구로 만든 플래시 이미지는 파일 형식인 경우가 많습니다.
에스 레코드. 원시 바이너리, 인텔 XNUMX진수 및 모토로라 S-레코드 간의 변환이 가능합니다.
소프트웨어 패키지 SRecord를 통해.

작가


원래 소프트웨어 패키지 stm32플래시 작성자 : 제프리 맥래 <geoff@spacevs.com>
2012년부터 토르모드 볼든 <debian.tormod@gmail.com>.

매뉴얼 페이지 및 STM32W 및 I2C 확장은 다음과 같이 작성되었습니다. 안토니오 보르네오
<Borneo.antonio@gmail.com>.

버그는 프로젝트 홈페이지에서 신고해주세요. http://stm32flash.sourceforge.net .

onworks.net 서비스를 사용하여 stm32flash 온라인 사용



최신 Linux 및 Windows 온라인 프로그램