二级域名iis建立网站,网站设计的设计方案,昆明做网站优化,有个做搞笑视频的网站安装 JLINK
JLINK 官网链接 下载安装后找到安装路径下的可执行文件 将此路径添加到环境变量的 Path 中。
创建 JFlash 项目
打开 JFlash#xff0c;选择新建项目 选择单片机型号 在弹出的窗口中搜索单片机 其他参数根据实际情况填写 新建完成#xff1a; 接下来设置…安装 JLINK
JLINK 官网链接 下载安装后找到安装路径下的可执行文件 将此路径添加到环境变量的 Path 中。
创建 JFlash 项目
打开 JFlash选择新建项目 选择单片机型号 在弹出的窗口中搜索单片机 其他参数根据实际情况填写 新建完成 接下来设置一下项目 把 Start Application 勾上复位方式选择通过复位引脚复位。如果没有这个硬件条件则使用软件复位。 最后保存工程
编写 powershell 脚本
新建一个脚本叫 jlink-release-download.ps1
# 项目参数
$project_name test
$cmake_config gcc-release
$project_path Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
$workspace_path Split-Path $project_path -Parent
$build_path $workspace_path/out/build/$cmake_config
$install_path $workspace_path/out/install/$cmake_config# 开始操作
New-Item -Path $build_path -ItemType Directory -Force
Push-Location $build_path
try
{cmake -G Ninja $workspace_path --preset $cmake_configif ($LASTEXITCODE){throw 配置失败}ninja -j12if ($LASTEXITCODE){throw 编译失败}ninja install
}
finally
{Pop-Location
}Push-Location $install_path
try
{arm-none-eabi-objcopy -O binary $install_path/bin/${project_name}.elf $install_path/bin/${project_name}.bin$jflash_arg_array (-openprj${workspace_path}/jflash-project.jflash,-open${install_path}/bin/${project_name}.bin,0x8000000,-auto,-startapp,-exit)$jflash_arg $jflash_arg_array -join $jflash_arg $jflash_arg.Trim()Write-Host $jflash_argStart-Process -FilePath JFlash.exe -ArgumentList $jflash_arg -WindowStyle Normal -Waitif ($LASTEXITCODE){throw 将 ${project_name}.bin 下载到单片机失败。}Write-Host 将 ${project_name}.bin 下载到单片机成功。
}
finally
{Pop-Location
}
项目参数部分根据实际情况修改。
为 DEBUG 配置也创建一个 powershell 脚本叫作 jlink-debug-download.ps1
# 项目参数
$project_name test
$cmake_config gcc-debug
$project_path Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
$workspace_path Split-Path $project_path -Parent
$build_path $workspace_path/out/build/$cmake_config
$install_path $workspace_path/out/install/$cmake_config# 开始操作
New-Item -Path $build_path -ItemType Directory -Force
Push-Location $build_path
try
{cmake -G Ninja $workspace_path --preset $cmake_configif ($LASTEXITCODE){throw 配置失败}ninja -j12if ($LASTEXITCODE){throw 编译失败}ninja install
}
finally
{Pop-Location
}Push-Location $install_path
try
{arm-none-eabi-objcopy -O binary $install_path/bin/${project_name}.elf $install_path/bin/${project_name}.bin$jflash_arg_array (-openprj${workspace_path}/jflash-project.jflash,-open${install_path}/bin/${project_name}.bin,0x8000000,-auto,-startapp,-exit)$jflash_arg $jflash_arg_array -join $jflash_arg $jflash_arg.Trim()Write-Host $jflash_argStart-Process -FilePath JFlash.exe -ArgumentList $jflash_arg -WindowStyle Normal -Waitif ($LASTEXITCODE){throw 将 ${project_name}.bin 下载到单片机失败。}Write-Host 将 ${project_name}.bin 下载到单片机成功。
}
finally
{Pop-Location
}
创建 task.json
在 vscode 项目根目录下的 .vscode 目录创建 task.json 文件 填入以下内容
{version: 2.0.0,tasks: [{label: stflash-release-download,type: shell,command: pwsh,args: [./stflash-release-download.ps1],options: {cwd: ${workspaceFolder}/test},problemMatcher: []},{label: stflash-debug-download,type: shell,command: pwsh,args: [./stflash-debug-download.ps1],options: {cwd: ${workspaceFolder}/test},problemMatcher: []},{label: jlink-debug-download,type: shell,command: pwsh,args: [./jlink-debug-download.ps1],options: {cwd: ${workspaceFolder}/test},problemMatcher: []},{label: jlink-release-download,type: shell,command: pwsh,args: [./jlink-release-download.ps1],options: {cwd: ${workspaceFolder}/test},problemMatcher: []},],
}
args 是传递给 pwsh 进程的参数向它传递 ps1 文件。cwd 是启动 pwsh 进程时赋予它的当前路径将它改成刚刚创建的 ps1 文件所在的目录。
创建 launch.json
在 vscode 项目根目录的 .vscode 目录创建 launch.json 文件 填入以下内容
{// 使用 IntelliSense 了解相关属性。// 悬停以查看现有属性的描述。// 欲了解更多信息请访问: https://go.microsoft.com/fwlink/?linkid830387version: 0.2.0,configurations: [{name: ST-Link Debug,preLaunchTask: stflash-debug-download,cwd: ${workspaceFolder}/out/install/gcc-debug/bin/,executable: ${workspaceFolder}/out/install/gcc-debug/bin/test.elf,request: launch,type: cortex-debug,runToEntryPoint: main,servertype: stlink,showDevDebugOutput: raw,liveWatch: {enabled: true,samplesPerSecond: 4},},{name: JLink Debug,preLaunchTask: jlink-debug-download,cwd: ${workspaceFolder}/out/install/gcc-debug/bin/,executable: ${workspaceFolder}/out/install/gcc-debug/bin/test.elf,request: launch,type: cortex-debug,runToEntryPoint: main,servertype: jlink,showDevDebugOutput: raw,device: STM32H743II,liveWatch: {enabled: true,samplesPerSecond: 4},serverArgs: [-if,JTAG],}]
}
CMakePresets.json
附上我的 CMakePresets.json 文件的内容。这不是本文要讲述的。本文只讲述如何在已经配置好 cmake 和 GNU 工具链的情况下配置 JLINK
{version: 3,configurePresets: [{name: options,hidden: true,cacheVariables: {platform: arm-none-eabi-cortex-m7,obj_copy: arm-none-eabi-objcopy,CMAKE_SYSTEM_PROCESSOR: arm,CMAKE_SYSTEM_ARCH: armv7-m,CMAKE_SYSTEM_NAME: Generic,CMAKE_C_COMPILER: arm-none-eabi-gcc,CMAKE_CXX_COMPILER: arm-none-eabi-g,CMAKE_ASM_COMPILER: arm-none-eabi-gcc,CMAKE_LINKER: arm-none-eabi-ld,CMAKE_SIZE: arm-none-eabi-size,CMAKE_STRIP: arm-none-eabi-ld},vendor: {microsoft.com/VisualStudioSettings/CMake/1.0: {intelliSenseMode: linux-gcc-arm,disableExternalAnalysis: true}}},{name: gcc-debug,displayName: gcc-debug,inherits: options,generator: Ninja,binaryDir: ${sourceDir}/out/build/${presetName},installDir: ${sourceDir}/out/install/${presetName},cacheVariables: {CMAKE_BUILD_TYPE: Debug}},{name: gcc-release,displayName: gcc-release,inherits: options,generator: Ninja,binaryDir: ${sourceDir}/out/build/${presetName},installDir: ${sourceDir}/out/install/${presetName},cacheVariables: {CMAKE_BUILD_TYPE: Release}}]
}