본글은 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. OpenOCD 설치
2. VS Code Extension ( cortex debug )설치
3. Cortex-Debug launch 파일 추가
4. 디버그 하기
==========================================
1. OpenOCD 설치
> Open OCD 는 https://sourceforge.net/projects/openocd/ 에 있으나. windown용 컴파일된 파일은 제공 하지 않아,
> NuEclipse 에 들어 있는 OpenOCD 를 꺼내야 합니다.
https://www.nuvoton.com/tool-and-software/ide-and-compiler/ 에 있는
NuEclipse_V1.02.027_Windows NuEclipse_Windows (For NuMicro ARM) 를 download 받읍니다.
> 다운로드(250110) 받아 뽑은거(OpenOCD-fromNuEclipseV1.2.27.zip) 아래에 첨부 하였읍니다. 귀찮으심 이거 쓰셔요.
> 다운 로드 된 파일에서 OpenOCD 꺼내기
1) 7zip 에서 다운 로드 한 파일을 [내부열기] , Ctrl+PgDn 하며 찾어 들어 가면,
2) NuEclipse_V1.02.027r_Windows-Setup.exe \NuEclipse.zip\NuEclipse\eclipse\ 에 OpenOCD 가 보입니다.
이것을 꺼냅니다.
- 찝어서 적당한 디렉토리에 가져다 놓는다. Drag and Drop
- 여기서는 "E:\_t\_d\_VSCode\OpenOCD" 에 가져다 놓읍니다.
3) "E:\_t\_d\_VSCode\OpenOCD" 을 확인 합니다.
> 뽑은거 첨부 합니다.
2. VS Code Extension ( cortex debug )설치
> Ctrl+Shift+X 를 누르면 Externtions Market Place 가 나오며 여기서 " cortex debug " 를 타이핑 합니다.
> [install] 해 주셔요
> 250110 현재 1.12.1 버전이 깔립니다. 이곳 저곳에서 1.2.2 버전을 깔라 하는데, 흠..
> 버전 1.4.4 는 안된다 하여 1.2.2 를 설치 하기 위하여 [Uninstall [v]] 에 있는 [v] 를 누르면 "Install Another Version" 이 나옵니다.
> 여기서 1.2.2 를 선택 하여 설치 합니다.
> downgrade 뒤 [Restart Extensions] 선택 합니다.
> 250122 현재 최종 버전은 1.12.1 인데 이것으로 하면 디버그 하다가 "Timeout" Error 가 납니다.
1.2.2 로 설치 하니 정상 동작 합니다.
> 자동 업데이트 방지
1) View > Extention : Shift+Ctrl+X 하고
2) EXTENSIONS 옆에 점 3개 ( ... ) 누르고 "Disable Auto Update too All Extensions" 선택 하셔요.
3. Cortex-Debug launch 파일 추가
> VSCode에서 플러그인으로 디버깅 할 수 있는 launch.json 파일을 디렉토리 ".vscode" 에 추가합니다
> 추가할 launch.json 파일 내용은 아래와 같읍니다. (참고만 하셔요, 첨부 파일에 있읍니다)
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"cwd": "${workspaceRoot}",
"executable": "./build/UART_AutoFlow.elf",
"name": "Debug with OpenOCD",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"armToolchainPath": "E:/_t/_d/_VSCode/gcc-arm-none-eabi-10.3-2021.10/bin",
// "gdbPath": "E:/_t/_d/_VSCode/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-gdb.exe",
"serverpath": "E:/_t/_d/_VSCode/OpenOCD/bin/openocd.exe",
"searchDir": ["E:/_t/_d/_VSCode/OpenOCD/scripts"],
"configFiles": [
"interface/nulink.cfg",
"target/numicroM4.cfg",
],
"interface": "swd",
"device": "NUC472HI8AE",
"runToEntryPoint": "main",
"showDevDebugOutput" :"none",
"postRestartCommands": [
"break main",
"continue"
],
"overrideLaunchCommands": [
"set mem inaccessible-by-default off",
"-enable-pretty-printing",
// to flash application by GDB/OpenOCD/NuLink
"monitor flash write_image erase build//UART_AutoFlow.bin",
"monitor reset halt",
]
}
]
}
> 주의 또는 신경 써서 볼 부분 또는 수정 하실 부분은
1) 실행 바이너리 지정부 : "executable": "./build/UART_AutoFlow.elf"
2) OpenOCD 설치된곳 지정부 : "serverpath": "E:/_t/_d/_VSCode/OpenOCD/bin/openocd.exe"
"searchDir": ["E:/_t/_d/_VSCode/OpenOCD/scripts"]
3) Device Type : "target/numicroM4.cfg"
이것이 M0 이면 수정 하셔요.
4) Device 이름 : "device": "NUC472HI8AE"
5) 다운로드 위한 flash 부 : "monitor flash write_image erase build/UART_AutoFlow.bin"
입니다.
4. 디버그 하기
> 디버그 하기 전에 혹시 "NuLink ICP" Program 이 실행 되고 있으면, 반드시 끝내 주셔요.
이게 Nu-Link 잡고 있으면 디버그 안됩니다.
> View 옆 점 3개 (...) > "Run" > "Start Debuging" 하시든 [F5] 를 누르 시면 디버그가 시작 됩니다.
5. 덧붙임
> 소스 첨부 합니다.
- 소스상 이제 GCC, IAR, KEIL 디렉토리는 필요 없으나 지우지 않았읍니다.
> OpenOCD 뽑은거 첨부 합니다.
관련된 모든 파일은
https://1024terabox.com/s/14o6ublK_ChNyk_kNX44mLA
에서 받을 수 있읍니다.
수고 하셨읍니다.
도움이 되셨으면, 댓글 부탁합니다. 댓글 하나에 힘이 됩니다.
고맙읍니다.
'개발 > VS Visual Studio Code' 카테고리의 다른 글
stm32cubeIDE 에서 build 하던거 vs code 에서 build/debug 하기 2 (0) | 2025.02.05 |
---|---|
stm32cubeIDE 에서 build 하던거 vs code 에서 build/debug 하기-1 (0) | 2025.02.04 |
Visual Source VS Code 로 nuvoton Build(Compile) 하기 (1) | 2025.01.21 |
(portable) Visual Studio (VS) Code 설치 , Extension 설치, 삭제 (0) | 2024.07.01 |