본문 바로가기
관리자 기고

vscode stm32 st

by 와이즈캣 2025. 1. 2.
728x90
반응형

파일 : 250102.code-workspace

{
	"folders": [
		{
			"path": "."
		}
	],
	"settings": {
		"files.associations": {
			"main.h": "c"
		},
		"files.exclude": {
			"**/**.su": true,
			"**/**.d": true,
			"**/**.i": true,
			"**.s": true,
			"Debug/**.s": true,
			"Drivers/**.s": true,
		},
		"command-runner.commands": {
			"테스트1": "make clean",
			"테스트2": "make clean",
			"테스트3": "make clean",
		},
		"command-runner.terminal.cwd": "${workspaceFolder}/Debug",
		"command-runner.terminal.name": "주수홍 command-runner 확장 사용",
	}
}

 

파일 : keybindings.json

// 키 바인딩을 이 파일에 넣어서 기본값 재정의
[
    {
        "key": "f7",
        "command": "workbench.action.tasks.build"
    },
    {
        "key": "ctrl+shift+b",
        "command": "-workbench.action.tasks.build"
    },
    {
        "key": "f8",
        "command": "workbench.action.tasks.test",
    },
    {
        "key": "ctrl+f1",
        "command": "command-runner.run",
        // "args": { "command": "make clean" }
        "args": { "command": "STM32_Programmer_CLI -c port=SWD freq=4000 -w 250102.bin 0x08000000 -v -rst" }
    },
    {
        "key": "ctrl+shift+r",
        "command": "-command-runner.runInTerminal"
    },
]

 

파일 : c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-arm",
            "browse": {
                "limitSymbolsToIncludedHeaders": true
            }
        },
        {
            "name": "stm32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-arm",
            "browse": {
                "limitSymbolsToIncludedHeaders": true
            }
        }
    ],
    "version": 4
}

 

파일 : settings.json

{
    "C_Cpp.errorSquiggles": "Disabled"
}

 

파일 : tasks.json

{
    // 2025.01.02. 주수홍 생성
    "version": "2.0.0",
    "tasks": [
        {
            "label": "STM32 빌드",
            "type": "shell",
            "command": "make all",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "options": {
                "cwd": "./Debug"
            },
            "problemMatcher": []
        },
        {
            "label": "STM32 클리어",
            "type": "shell",
            "command": "make clean",
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "options": {
                "cwd": "./Debug"
            },
            "problemMatcher": []
        },
    ]
}

 

STM32_Programmer_CLI.exe

STM32_Programmer_CLI.exe -c port=SWD freq=8000 -w 250102.bin 0x08000000 -v -rst
STM32_Programmer_CLI.exe -c port=SWD freq=8000 -w 250102.hex -v -rst
STM32_Programmer_CLI.exe -c port=SWD freq=8000 -e all -rst
STM32_Programmer_CLI.exe -c port=SWD freq=8000

///////////////////////////////////////////////////////////////////////////
// 주파수를 높게 설정해도 STM32_Programmer_CLI.exe 시도해보고 안되면 낮춰서 다시 시도함
///////////////////////////////////////////////////////////////////////////
// • ST-LINK v2/v2.1
// - SWD (4000, 1800, 950, 480, 240, 125, 100, 50, 25, 15, 5) kHz
// - JTAG (9000, 4500, 2250, 1125, 562, 281, 140) kHz
///////////////////////////////////////////////////////////////////////////
// • ST-LINK v3
// - SWD (24000, 8000, 3300, 1000, 200, 50, 5)
// - JTAG (21333, 16000, 12000, 8000, 1777, 750)
///////////////////////////////////////////////////////////////////////////
// • Default frequency values
// – SWD: STLinkV2: 4000 kHz, STLinkV3: 24000 kHz
// – JTAG: STLinkV2: 9000 kHz, STLinkV3: 21333 kHz
///////////////////////////////////////////////////////////////////////////
728x90