다섯, STM32 펌웨어 라이브러리 소개 및 라이브러리 기능 템플릿 생성

포팅 및 개발을 용이하게하고 불필요한 문제를 많이 줄이기 위해 ST 사는 많은 기능을 펌웨어 라이브러리에 캡슐화합니다.

1. CMSIS 표준 소개

CMSIS 표준의 전체 영어 이름은 Cortex 마이크로 컨트롤러 소프트웨어 인터페이스 표준으로 ARM Cortex 마이크로 컨트롤러 소프트웨어 인터페이스 표준으로 변환됩니다. ST 회사뿐만 아니라 Cortex 코어를 기반으로하는 많은 칩 제조업체가 있기 때문입니다. 다른 제조업체에서 생산 한 Crotex 칩의 소프트웨어 호환성 문제를 해결하기 위해 ARM 및 기타 칩 제조업체에서이 CMSIS 표준을 개발했습니다.

2. 펌웨어 라이브러리의 폴더 및 파일 소개

1. _htmresc 폴더

Store ST 회사 로고

2. 라이브러리 폴더 아래에 CMSIS 및 STM32F10x_StdPeriph_Driver 하위 폴더가 두 개 있습니다.

CMSIS : CMSIS 표준, STM32 시작 파일, 코어 파일, 주변 장치 헤더 파일 등을 준수하는 파일을 저장합니다.

STM32F10x_StdPeriph_Driver : 두 개의 하위 폴더 inc 및 src를 포함한 주변 드라이버 파일

    inc : 주변기기의 헤더 file.h 저장

    src : 주변 장치의 소스 파일을 저장합니다 .c

stm32f10x_gpio 및 stm32f10x_rcc 두 파일이 일반적으로 자주 사용됩니다.

3. 프로젝트 폴더 아래에 STM32F10x_StdPeriph_Examples 및 STM32F10x_StdPeriph_Template의 두 하위 폴더가 있습니다.

STM32F10x_StdPeriph_Examples : ST에서 제공하는 주변 장치 드라이버 예제

STM32F10x_StdPeriph_Template : ST 공식 펌웨어 라이브러리 템플릿, 일반적으로 사용되지 않음, 직접 디자인

4. 유틸리티 파일은 ST 사 화면 버전의 소스 파일입니다.

5. stm32f10x_stdperiph_lib_um.chm 도움말 문서는 매우 중요합니다.

6. 몇 가지 문서에 집중

최신 STM32 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ CoreSupport 아래의 core_cm3.h 및 core_cm3.c는 핵심 파일이며 변경할 필요가 없습니다.

최신 STM32 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x는 시스템 초기화를위한 일부 파일을 저장하며 이동할 필요가 없습니다. 시작 폴더에는 시작 파일이 포함되어 있고 시작 폴더에는 여러 폴더가 포함되어 있습니다. 컴파일러에 따라 구별되는 Keil5 컴파일러는 arm 폴더의 파일을 사용합니다.

칩 종류에 따라 시작 파일을 선택합니다. 끝에있는 hd는 대용량, md 중용량, ld 저용량을 의미합니다. Baidu에서 칩이 사용하는 용량을 확인할 수 있습니다.

최신 STM32 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x의 stm32f10x.h 헤더 파일은 마이크로 컨트롤러의 c51.h 헤더 파일과 동일하며 매우 중요합니다. 버스를 정의하고, 메모리 및 stm32 레지스터, 클럭, 인터럽트 등

최신 STM32 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x 파일 system_stm32f10x.c 및 system_stm32f10x.h에는 온칩 주변 장치의 액세스 계층 프로그램이 포함되어 있으며 시스템 초기화 기능도 내부에 있습니다.

파일 간의 관계

세, 라이브러리 기능 템플릿 생성

(1) 펌웨어 라이브러리 획득

라이브러리 기능 프로젝트 템플릿을 생성하려면 먼저 펌웨어 라이브러리 패키지가 필요합니다. 펌웨어 라이브러리에는 여러 버전이 있습니다. 최신 버전 V3.5를 제공합니다. 나중에 새 버전이있을 경우 라이브러리 기능을 생성 할 수 있습니다. 같은 방식으로 프로젝트 템플릿. 펌웨어 라이브러리 패키지는 CD "8--STM32 관련 정보 \ STM32 최신 펌웨어 라이브러리 v3.5"에 저장되어 있으며 직접 사용할 수 있습니다. 친구들이 신경 쓰지 않는다면 ST 공식 웹 사이트에서 다운로드하거나 Baidu를 통해 검색 할 수 있지만 STM32F1 펌웨어 라이브러리를 다운로드해야합니다. STM32F4 펌웨어 라이브러리를 다운로드하는 경우 펌웨어 라이브러리에서 생성 한 프로젝트 템플릿을 사용하여 개발에 다운로드 보드에 문제가있을 것입니다. CD의 펌웨어 라이브러리 패키지가 수정되지 않았는지 확인하기 위해 백업 할 수 있습니다.

(2) 기능 프로젝트 생성

1. "라이브러리 기능 템플릿 생성"폴더와 같은 파일을 생성하고 폴더에 세 개의 새 하위 폴더를 생성합니다.

User 폴더는 사용자가 작성한 프로그램 파일, 필요한 헤더 파일 등을 저장하는 데 사용되며 Obj 폴더는 시스템에서 생성 된 프로세스 파일을 저장하고 Libraries 폴더는 펌웨어 라이브러리에서 가져온 파일을 저장합니다.

2. 필요한 파일 복사

Libraries 폴더에 CMSIS 하위 폴더를 만들고 다음 5 개의 파일을 CMSIS 폴더에 복사합니다.

펌웨어 라이브러리에있는 두 파일을 복사합니다. STM32 최신 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ CoreSupport 디렉토리

시작 파일을 복사하고 펌웨어 라이브러리를 복사합니다. STM32 최신 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x \ startup \ arm 및 디렉터리에 startup_stm32f10x_hd.s 파일을 복사합니다.

펌웨어 라이브러리의 두 파일을 복사합니다. STM32 최신 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x 디렉토리

3. 헤더 파일 및 소스 파일

펌웨어 라이브러리 폴더에서 STM32 최신 펌웨어 라이브러리 v3.5 \ Libraries 디렉토리의 STM32F10x_StdPeriph_Driver 폴더를 직접 생성 한 라이브러리 라이브러리로 복사합니다.

4. 사용자 폴더

펌웨어 라이브러리에서 최신 STM32 펌웨어 라이브러리 v3.5 \ Project \ STM32F10x_StdPeriph_Template 아래의 5 개 파일을 사용자 디렉터리에 복사합니다.

펌웨어 라이브러리 디렉토리 아래의 stm32f10x.h 파일을 복사합니다. STM32 최신 펌웨어 라이브러리 v3.5 \ Libraries \ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x를 User 폴더에 복사합니다.

5. 프로젝트 만들기

새 폴더 "라이브러리 기능 템플릿 생성"에 자신의 프로젝트를 생성하고 중국어 이름을 사용하지 않도록주의하십시오.

6. 프로젝트에 파일 추가

관리를 용이하게하기 위해 디렉토리를 생성하고 디렉토리 생성 아이콘을 클릭합니다.

새로 만들기를 클릭하여 다음 4 개의 디렉토리를 만듭니다.

디렉터리에 파일을 추가하고 사용자 디렉터리를 선택한 다음 추가를 클릭합니다.

사용자 디렉터리에 두 파일을 추가합니다.

시작 디렉터리에 시작 파일 추가

파일 형식을 .s 파일로 선택해야합니다.

StdPeriph_Driver 디렉토리 아래에 주변 장치 드라이버 파일을 추가하고 가장 일반적으로 사용되는 두 개의 주변 장치 드라이버 파일을 추가합니다.

CMSIS 디렉터리 아래에 파일 추가

확인을 클릭하고 종료

7. 마술 지팡이 구성

마술 지팡이 아이콘을 클릭하고 MicroLIB를 사용하십시오. printf로 출력하는 데 편리합니다.

출력 인터페이스에서 HEX 파일 생성을 선택합니다.

자신이 정의한 폴더에 개체 출력 파일을 넣습니다.

마찬가지로 목록 출력 파일을 자신이 정의한 폴더에 넣습니다.

C / C ++ 인터페이스에서 매크로 정의 USE_STDPERIPH_DRIVER, STM32F10X_HD를 추가해야합니다. 그렇지 않으면 경보가 나타납니다. 두 매크로 사이에 쉼표가 있습니다.

헤더 파일의 경로 추가

3 개의 경로 추가

마술 지팡이를 종료하려면 저장을 클릭하십시오.

8. main.c 파일 처리

두 번 클릭하여 main.c 파일을 열고 내부의 모든 내용을 삭제 한 다음 프로그램으로 들어갑니다.

#include "stm32f10x.h"
int main()
{
	while(1)
	{
		
	}
}

컴파일, 오류 및 경고 없음, 템플릿이 성공적으로 생성됩니다. 오류가있는 경우 다음 해결 방법을 참조 할 수 있습니다. 1. 오류 : 펌웨어 라이브러리 템플릿 프로그래밍 : core_cm3.c_not silly 가운에 대한 4 가지 오류 솔루션 -CSDN 블로그

 

 

 

 

 

 

 

추천

출처blog.csdn.net/qq_40836442/article/details/109543551