Linux & Ubuntu to RUST re-install 2

Nitroblue 1·2025년 8월 24일

error : could not found 'cc' ...

인터넷 서칭하니까 가볍게 해결 방법이 나와있었다.

sudo apt-get update
sudo apt install build-essential

해결 완.


Panic Handler

  • 패닉이 뭔데?
    러스트에서는 일반적으로 복구 가능한 오류인지가 기준이다.
    어떤 함수에서든 오류 상태를 입력하여 결과 유형을 반환하면 되므로 패닉은 기본적으로 fatal error에 대해 예약되어 있다.
    assertion이 실패하거나 panic handler가 실패하는 것 같이 다루기 힘든 문제가 발생했을 때를 의미한다.

패닉 핸들러는 매우 구체적인 function signature를 가진 패닉 핸들러 속성으로 표시된 또 다른 function일 뿐이다.

패닉 정보 인수에 대한 참조를 가져오고 결코 반환하지 않는다.

코드나 종속성 중 하나가 패닉 매크로를 직접 호출하거나, 유효하지 않은 상태에서 결과나 옵션을 풀려고 할 때 호출된다.

어떤 경우에는 컴파일러가 패닉에 분기를 추가한다. 예를 들어 인덱스로 배열 요소에 접근할 때, 컴파일러는 범위를 벗어난 액세스에서 패닉을 일으키는 런다임 경계 검사를 코드에 삽입하므로, 링크되지 않더라도 이것이 필요하다. Compiler 또한 이런 기능을 원한다.


cargo embed
-> 위 명령어는 코드를 다시 빌드하고, 보조 디버그 마이크로컨트롤러(내 작업 환경에서는 bluepill)와 통신한다. 바이너리를 보내서 기본 마이크로컨트롤러를 프로그래밍하며, 디버거를 연결하여 중단점을 설정하고, 메모리를 수정하고, 코드를 단계별로 실행하여 cargo embed를 설정할 수 있다.


cargo embed --chip ~
이 명령어는 2025년부터 없어진듯.
대신 probe-rs chip list | grep -i stm32f103C8 사용하니 해결.


처음으로 별 큰 문제없이 해결했다...ㅠㅠ

0개의 댓글