주어진 파일을 Nucleo STM32 가상 드라이브에 복사하기 위해 다음 Windows 배치 스크립트를 작성했습니다.
@echo off
for /f %%D in ('%SystemRoot%\System32\wbem\WMIC.exe volume get DriveLetter^, Label ^| find "NODE_F446RE"') do set nucleo_drive=%%D
rem echo Nucleo drive: %nucleo_drive%
IF EXIST %nucleo_drive%\DETAILS.TXT (
IF EXIST %1 (
@echo on
xcopy %1 %nucleo_drive%
@echo off
echo Copied %1 on nucleo
) ELSE (
echo Binary %1 not found. Run `mingw32-make` in this directory to compile the project.
)
) ELSE (
echo Nucleo drive not found. If needed, edit the `find "NODE_F446RE"` part of this script to refference your nucleo volume name.
)
Nucleo의 드라이브는 가상 파일 드라이브입니다. 호환 가능한 바이너리를 복사하면 실제 Nucleo 프로세서에서 바이너리가 플러시되고 다시 시작됩니다. 나는 bash 스크립트를 사용하여 Linux, 특히 Ubuntu에서 동일한 작업을 수행하고 싶지만 호환성이 더 좋습니다.
경로에 Nucleo가 나타나는 것을 볼 수 있습니다 /media/MY_USERNAME/NODE_F446RE
. 하지만 저는 Linux에 대한 경험이 거의 없습니다. 이것이 표준 경로입니까? 파일을 에 복사할 수 있습니까 /media/%username%/NODE_F446RE
?
아니면 이동식 장치 경로를 얻는 더 좋은 방법이 있습니까(예: 더 많은 볼륨이 있는 경우 첫 번째 볼륨, Nucleo는 그렇지 않음)?
답변1
/media/$username/NODE_F446RE
컴퓨터에 나타나는 이 특정 이동식 장치를 신뢰할 수 있습니다 . 이것은 Linux 세계에서는 흔하지 않지만 (최근) Ubuntu 및 오늘날 대부분의 다른 배포판에는 , /media
사용자 이름, 파일 시스템 레이블이 있습니다.
고정 경로를 보장하는 다른 방법이 있지만 기본 설정에서 이미 사용하는 것과 동일한 메커니즘을 다시 생성하면 됩니다(USB 2). 특정 장치가 설치된 위치를 찾는 방법에는 여러 가지가 있습니다( /dev/disks
알려진 특성을 사용하여 장치를 찾은 다음 /proc/mounts
또는 df
또는 를 사용하여 findmnt
장치가 설치된 위치를 찾습니다). 그러나 컴퓨터에서는 해당 장치가 필요하지 않습니다. 따라서 다른 사람의 환경에서 작동하는 것을 만들어야 하는 경우가 아니면 다른 방법을 살펴볼 필요가 없습니다.