본글은 Visual Source Code ( VsCode ) 로 Nuvoton 소스를 build ( compile ), debug 하는 글의 한 부분 입니다.
1. Nuvoton 제공 Sample Code를 Keil 에서 Compile 하기 ( https://bahk33.tistory.com/181 ) : 본글
2. gcc 로 nuvoton source 직접 build(compile) 하기 ( https://bahk33.tistory.com/183 )
3. Visual Source VS Code 로 nuvoton Build(Compile) 하기 ( https://bahk33.tistory.com/185 )
4. VS Code 로 nuvoton 디버그 하기 ( https://bahk33.tistory.com/186 )
==========================================
본문 목차.
1. Sample Code 가져오기
2. 추가 필요 파일 복사
3. Project file 수정 하기
4. Compile 하기
==========================================
Nuvoton 에서는 Sample code 를 기본적으로 제공 합니다.
이를 내 프로젝트에 맞게 정리 하여 Compile 합니다.
====================================
1. Sample Code 가져오기
> Nuvoton 에서 제공하는 샘플 코드는 BSP_CMSIS 라고
https://gitlab.com/OpenNuvoton
또는
https://www.nuvoton.com/tool-and-software/bsp-and-example-code/
등에서 받을 수 있다.
> 해당 CPU 에 맞는것 다운로드 하여 푼다.
여기서는 NUC472 를 사용하여 en-us--NUC472_NUC442_BSP_CMSIS_V3.03.005.zip 을 다운로드 하였다.
> 사용한 샘플 코드는 가장 간단한것중 하나인 UART_AutoFlow 샘플이다
E:\~\en-us--NUC472_NUC442_BSP_CMSIS_V3.03.005\SampleCode\StdDriver\UART_AutoFlow
> 일단 이것( ~ \UART_AutoFlow )을 내가 원하는 곳으로 복사 한다. 여기서는 e:\Src\prjBahk 으로 복사 한다.
2. 추가 파일 복사 및 Project file 수정 .
> 기본 소스 디렉토리에 main.c 만 있는데,
프로젝트 파일 ~/Keil/UART_AutoFlow.uvproj 을 메모장(NotePad)등 편집기로 열어 보면,
include directory 가 3개, 그리 고 소스 파일이 main.c 포함 7개 파일을 쓰고 있는것을 알 수 있다.
> 관련하여 디렉토리 3개를 복사 한다.
> e:\Src\prjBahk\UART_AutoFlow 에 "_Lib" 라는 Directory 를 만들고,
Directory "E:\~\en-us--NUC472_NUC442_BSP_CMSIS_V3.03.005\Library\Device\Nuvoton\ NUC472_442 " 를
"E:\Src\prjBahk\UART_AutoFlow\_Lib\NUC472_442" 로 복사 한다.
> Directory " E:\~\en-us--NUC472_NUC442_BSP_CMSIS_V3.03.005\Library\StdDriver" 를
"E:\Src\prjBahk\UART_AutoFlow\_LIb\StdDriver" 로 복사 한다.
> Directory "E:\~\en-us--NUC472_NUC442_BSP_CMSIS_V3.03.005\Library\CMSIS\Include" 를
"E:\Src\prjBahk\UART_AutoFlow\_LIb\Include" 로 복사 한다.
> 복사 한뒤 파일 경로는 아래와 같다.
3. Project file 수정
> "E:\Src\prjBahk\UART_AutoFlow\KEIL\UART_AutoFlow.uvproj" 을 수정 한다.
> 기본 적으로 "..\..\..\..\Library\" 와 같은 것을 "..\_Lib\" 와 같은 것으로 바꾸는 것이다.
> Include Path 고치기
고치기 전
<IncludePath>
..\..\..\..\Library\CMSIS\Include;
..\..\..\..\Library\StdDriver\inc;
..\..\..\..\Library\Device\Nuvoton\NUC472_442\Include
</IncludePath>
고친 뒤
<IncludePath>
..\_Lib\Include;
..\_Lib\StdDriver\inc;
..\_Lib\NUC472_442\Include
</IncludePath>
> Source Path 고치기
아래와 같이 파일 경로를 모두 수정 한다.
고치기 전
<File>
<FileName>system_NUC472_442.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Library\Device\Nuvoton\NUC472_442\Source\system_NUC472_442.c</FilePath>
</File>
<File>
<FileName>startup_NUC472_442.s</FileName>
<FileType>2</FileType>
<FilePath>..\..\..\..\Library\Device\Nuvoton\NUC472_442\Source\ARM\startup_NUC472_442.s</FilePath>
</File>
고친뒤
<File>
<FileName>system_NUC472_442.c</FileName>
<FileType>1</FileType>
<FilePath>..\_Lib\NUC472_442\Source\system_NUC472_442.c</FilePath>
</File>
<File>
<FileName>startup_NUC472_442.s</FileName>
<FileType>2</FileType>
<FilePath>..\_Lib\NUC472_442\Source\ARM\startup_NUC472_442.s</FilePath>
</File>
==================================================================================
고치기 전
<File>
<FileName>retarget.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Library\StdDriver\src\retarget.c</FilePath>
</File>
<File>
<FileName>clk.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Library\StdDriver\src\clk.c</FilePath>
</File>
<File>
<FileName>sys.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Library\StdDriver\src\sys.c</FilePath>
</File>
<File>
<FileName>uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Library\StdDriver\src\uart.c</FilePath>
</File>
고친뒤
<File>
<FileName>retarget.c</FileName>
<FileType>1</FileType>
<FilePath>..\_Lib\StdDriver\src\retarget.c</FilePath>
</File>
<File>
<FileName>clk.c</FileName>
<FileType>1</FileType>
<FilePath>..\_Lib\StdDriver\src\clk.c</FilePath>
</File>
<File>
<FileName>sys.c</FileName>
<FileType>1</FileType>
<FilePath>..\_Lib\StdDriver\src\sys.c</FilePath>
</File>
<File>
<FileName>uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\_Lib\StdDriver\src\uart.c</FilePath>
</File>
고친 뒤 파일 등은 첨부 파일 안에 있다.
4. Compile 하기
> Keil 을 띄운다.
- > Project > Open Project > "UART_AutoFlow.uvproj" > [열기]
> 컴파일 하기
- > Project > Build Target [F7]
- 하면, "E:\Src\prjBahk\UART_AutoFlow\KEIL\obj" 에 "UART.bin" 가 생겨 있다.
이상으로 간단히 Nuvoton Keil 에서 컴파일 하기를 마치겠읍니다.
복사하고 수정한 전체 소스 올림니다.
수고 하셨읍니다.
관련된 모든 파일은
https://1024terabox.com/s/14o6ublK_ChNyk_kNX44mLA
에서 받을 수 있읍니다.
다음글
2. gcc 로 nuvoton source 직접 build(compile) 하기 ( https://bahk33.tistory.com/183 )
입니다.
'개발 > embed' 카테고리의 다른 글
CMakeCache.txt: Error: unrecognized option '--major-image-version' (0) | 2025.01.21 |
---|---|
gcc 로 nuvoton source 직접 build(compile) 하기 (0) | 2025.01.20 |
win11에 JTAGICE mkII driver설치 ( ATMega AVR Studio 4.19 ) (0) | 2024.12.10 |
c 로 trim ( white space 빈칸, 공백 등 삭제 ) 만들기, sample source (0) | 2024.08.06 |
nuvoton, va_list 로 printf 만들기 , sample source (0) | 2024.06.05 |