기술나눔

[Beijing Xunwei] "i.MX8MM 임베디드 Linux 개발 가이드" - 임베디드 Linux에 대한 첫 소개 - 19장 Linux 도구: Make Tool 및 Makefile 파일

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

i.MX8MM 프로세서는 고급 14LPCFinFET 프로세스를 채택하여 더 빠른 속도와 더 높은 전력 효율성을 제공합니다. 쿼드 코어 Cortex-A53, 단일 코어 Cortex-M4, 최대 5개 코어, 최대 1.8GHz 클록, 2G DDR4 메모리, 8G EMMC 저장. 기가비트 산업용 이더넷, MIPI-DSI, USB HOST, WIFI/BT, 4G 모듈, CAN, RS485 및 기타 인터페이스를 모두 사용할 수 있습니다. H264, VP8 비디오 하드 코딩, H.264, H.265, VP8, VP9 비디오 하드 디코딩 및 관련 프로세스를 제공하며 8-way PDM 인터페이스, 5-way SAI 인터페이스 및 2-way 스피커를 지원합니다. 이 시스템은 Android9.0(루트 권한 획득 지원) Linux4.14.78+Qt5.10.1, Yocto, Ubuntu20 및 Debian9 시스템을 지원합니다. 스마트 충전 파일, 사물 인터넷, 산업 제어, 의료, 지능형 운송 등에 적합하며 일반 산업 및 사물 인터넷 애플리케이션에 사용할 수 있습니다.

[공용 계정] Xunwei Electronics

[팬 그룹] 258811263(드라이버 문서 + 루틴을 얻으려면 그룹에 가입하세요)


19장. 리눅스 도구: Make Tool과 Makefile

이 장의 내용에 해당하는 비디오 설명 링크(온라인 보기):

Linux 도구: make 도구 및 makefile  https://www.bilibili.com/video/BV1M7411m7wT?p=19

이전에는 Linux에서 첫 번째 프로그램 hello world를 작성할 때 gcc 명령을 직접 사용했습니다. 프로그램을 컴파일하는 것은 매우 간단합니다. gcc를 직접 입력하고 프로그램 이름과 지정된 생성 프로그램 이름을 따르기만 하면 실행 파일 hello를 쉽게 컴파일할 수 있습니다. 하지만 나중에 작업할 때 프로젝트를 컴파일해야 한다면 이 프로젝트에는 소스 파일이 너무 많아서 이 명령을 사용하여 소스 파일을 모두 수정하면 매우 번거로울 것입니다. , 그런 다음 명령을 사용합니다. 컴파일하려면 이 프로세스를 다시 수행해야 하며 이는 매우 시간이 많이 소요됩니다.

이전에 마이크로 컨트롤러에 대해 배운 친구가 있다면 마이크로 컨트롤러 개발 소프트웨어 keil의 개별 컴파일 및 전체 컴파일과 비교할 수 있습니다. 단독으로 컴파일하는 것은 시간을 절약해 주지만, 모두 컴파일하는 것은 시간이 많이 걸립니다. 우리는 명령을 사용하여 컴파일하는데, 이는 마이크로 컨트롤러 소프트웨어의 모든 컴파일과 동일합니다. 프로젝트를 컴파일하는 것이 매우 번거로운 문제를 해결하기 위해 선배들은 우리를 위해 컴파일 보조 도구를 개발했습니다. 이 도구의 컴파일 아이디어는 파일을 컴파일하기 전에 변경된 시간을 비교하는 것입니다. 컴파일에 의해 생성된 파일보다 나중에 수정된 경우 다른 파일을 다시 빌드하는 데 시간을 낭비하는 대신 필요에 따라 이러한 파일을 다시 빌드합니다. 마이크로컨트롤러에서 keil을 사용하여 c 파일을 작성하고 프로젝트의 다른 파일이 변경되지 않은 경우 모두 컴파일을 클릭할 필요가 없으며 수정한 파일만 컴파일하면 됩니다. 더 똑똑하다는 점을 제외하면 make도 마찬가지입니다. 컴파일 전에 자동으로 판단할 필요가 없습니다.

19.1 사용만들다도구

make 도구는 명령을 사용하여 프로젝트를 컴파일하는 지루한 문제를 해결하는 데 사용되는 컴파일 보조 도구입니다.

이 명령 도구를 호출합니다. Windows에서 프로그래밍을 위해 IDE를 사용합니다. 그래픽 인터페이스와 해당 버튼(예: 빌드 또는 컴파일 실행)이 있습니다. 실제로 make는 사용하기 매우 간단한 컴파일 보조 도구입니다. 콘솔에 make 명령을 직접 입력하면 자동으로 make 도구가 호출됩니다.

작성자는 이 디렉토리에 make를 직접 입력한 다음 오류를 보고했습니다. 왜냐하면 프로그램을 컴파일하기 위해 따라야 하는 규칙을 make 도구에 알려주지 않았기 때문입니다. 아래 그림과 같이.

19.2 메이크파일

Makefile은 전체 프로젝트의 컴파일 및 연결 규칙을 설명하는 파일입니다. 터미널에 make 명령을 입력하고 make 도구를 호출하면 make는 파일 이름에 따라 현재 디렉터리에서 makefile 파일을 찾습니다. Makefile의 이름은 makefile 또는 Makefile이어야 하며 대문자와 소문자 m이 허용됩니다.

작성자가 방금 명령을 입력했을 때 오류가 발생했다고 보고한 이유는 현재 디렉터리에 makefile이 없기 때문입니다. 작성자는 여기에 새로운 Makefile을 생성한 후 make 명령을 입력한 후 현재 디렉터리에 make 명령을 입력합니다. , make 도구를 호출합니다. make 도구는 현재 디렉터리에서 makefile 파일을 찾고 여기에 다시 오류가 보고됩니다. 작성자가 여기에서 makefile 파일을 만들었지만 발견했지만 비어 있었기 때문입니다. 어떤 규칙도 포함하지 않습니다. 아래 그림과 같이.

작성자는 먼저 모든 사람이 시도해 볼 수 있는 간단한 코드를 작성합니다. 입력할 때 첫 번째 줄을 들여쓰기하려면 Tab 키를 누르십시오. 그런 다음 내용을 입력하고 저장하고 종료합니다. 아래 그림.

그런 다음 make를 입력하면 hello 실행 파일이 성공적으로 생성됩니다. 이를 실행하면 성공적인 출력을 볼 수 있습니다. 이 시점에서 makefile 파일과 make도 성공적으로 사용되었습니다. 도구를 사용하여 hello.c를 hello 실행 파일로 컴파일합니다. 아래 그림과 같이.

make 도구가 무엇인지, make 도구를 어떻게 호출하는지, makefile이 무엇인지 알아보았습니다. 이들의 관계를 명확히 한 후에는 makefile 구문을 배우고 나중에 makefile을 베어 메탈에 작성하는 것이 매우 쉬울 것입니다.