当前位置:   article > 正文

HPM5300系列--第二篇 Visual Studio Code开发环境以及多种调试器调试模式_hpm studio

hpm studio

注意:该版本用的HPM-SDK是1.4之前的版本​​​​​​​

一、目的

        在博文《HPM5300系列--第一篇 命令行开发调试环境搭建》、《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》中我们介绍了命令行方式开发环境,也介绍了HPM6750evkmini开发板如何使用Visual Studio Code进行开发调试(其中调试方式使用openocd + ft2232的组合方式)。

        本篇我们主要介绍HPM5300evk开发板在vscode如何开发调试,其中关于编译环境的构建请参考 《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》(必须要看)。

        

二、介绍

        必须查看 《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》章节创建工程目录并拷贝示例工程之前的内容。

        1.打开工程
  1. cd ~/workspace/work/hpm/hpm5300evk/hello_world
  2. code .

        由于HPM5300evk开发板有FT2232芯片,故可以使用openocd进行调试;另外板载有JTAG接口,可以配合Jlink调试器进行调试。

        

        2.配置调试器启动文件

        使用openocd + ft2232模式

        

        如果使用HPM-SDK 1.4的版本,需要将configFiles中的"soc/hpm5361.cfg"修改为"soc/hpm5300.cfg" 

         


 

        使用openocd + jlink模式(板子上的跳线帽需要都取消掉)

        需要安装jlink驱动

https://www.segger.com/downloads/jlink/icon-default.png?t=N7T8https://www.segger.com/downloads/jlink/

        如果使用HPM-SDK 1.4的版本,需要将configFiles中的"soc/hpm5361.cfg"修改为"soc/hpm5300.cfg" 


 

         

        使用jlink调试器模式(板子上的跳线帽需要都取消掉)

 

        完整的launch.json文件内容(hpm-sdk 1.4之前的版本)

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "HPM Debug OpenOCD FT2232",
  6. "cwd": "${workspaceRoot}",
  7. "executable": "${command:cmake.launchTargetPath}",
  8. "request": "launch",
  9. "type": "cortex-debug",
  10. "servertype": "openocd",
  11. "gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb",
  12. "searchDir": ["${env:OPENOCD_SCRIPTS}"],
  13. "device": "HPM5361",
  14. "configFiles": [
  15. "probes/ft2232.cfg",
  16. "soc/hpm5361.cfg",
  17. "boards/hpm5300evk.cfg"
  18. ],
  19. "interface": "jtag",
  20. //"svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml",
  21. "runToEntryPoint": "main",
  22. // Work around for stopping at main on restart
  23. "postRestartCommands": [
  24. "break main",
  25. "continue"
  26. ]
  27. },
  28. {
  29. "name": "HPM Debug OpenOCD JLINK",
  30. "cwd": "${workspaceRoot}",
  31. "executable": "${command:cmake.launchTargetPath}",
  32. "request": "launch",
  33. "type": "cortex-debug",
  34. "servertype": "openocd",
  35. "gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb",
  36. "searchDir": ["${env:OPENOCD_SCRIPTS}","${env:HPM_OPENOCD_PATH}/tcl"],
  37. "device": "HPM5361",
  38. "configFiles": [
  39. "probes/jlink.cfg",
  40. "soc/hpm5361.cfg",
  41. "boards/hpm5300evk.cfg"
  42. ],
  43. "interface": "jtag",
  44. "svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml",
  45. "runToEntryPoint": "main",
  46. // Work around for stopping at main on restart
  47. "postRestartCommands": [
  48. "break main",
  49. "continue"
  50. ]
  51. },
  52. {
  53. "name": "HPM Debug Jlink",
  54. "cwd": "${workspaceRoot}",
  55. "executable": "${command:cmake.launchTargetPath}",
  56. "request": "launch",
  57. "type": "cortex-debug",
  58. "servertype": "jlink",
  59. "gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb",
  60. "device": "HPM5361xCBx",
  61. "interface": "jtag",
  62. "svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml",
  63. "runToEntryPoint": "main",
  64. // Work around for stopping at main on restart
  65. "postRestartCommands": [
  66. "break main",
  67. "continue"
  68. ]
  69. }
  70. ]
  71. }

        hpm-sdk 1.4版本修改后的launch.json

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "HPM Debug OpenOCD FT2232",
  6. "cwd": "${workspaceRoot}",
  7. "executable": "${command:cmake.launchTargetPath}",
  8. "request": "launch",
  9. "type": "cortex-debug",
  10. "servertype": "openocd",
  11. "gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb",
  12. "searchDir": ["${env:OPENOCD_SCRIPTS}"],
  13. "device": "HPM5361",
  14. "configFiles": [
  15. "probes/ft2232.cfg",
  16. "soc/hpm5300.cfg",
  17. "boards/hpm5300evk.cfg"
  18. ],
  19. "interface": "jtag",
  20. "svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml",
  21. "runToEntryPoint": "main",
  22. // Work around for stopping at main on restart
  23. "postRestartCommands": [
  24. "break main",
  25. "continue"
  26. ]
  27. },
  28. {
  29. "name": "HPM Debug OpenOCD JLINK",
  30. "cwd": "${workspaceRoot}",
  31. "executable": "${command:cmake.launchTargetPath}",
  32. "request": "launch",
  33. "type": "cortex-debug",
  34. "servertype": "openocd",
  35. "gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb",
  36. "searchDir": ["${env:OPENOCD_SCRIPTS}","${env:HPM_OPENOCD_PATH}/tcl"],
  37. "device": "HPM5361",
  38. "configFiles": [
  39. "probes/jlink.cfg",
  40. "soc/hpm5300.cfg",
  41. "boards/hpm5300evk.cfg"
  42. ],
  43. "interface": "jtag",
  44. "svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml",
  45. "runToEntryPoint": "main",
  46. // Work around for stopping at main on restart
  47. "postRestartCommands": [
  48. "break main",
  49. "continue"
  50. ]
  51. },
  52. {
  53. "name": "HPM Debug Jlink",
  54. "cwd": "${workspaceRoot}",
  55. "executable": "${command:cmake.launchTargetPath}",
  56. "request": "launch",
  57. "type": "cortex-debug",
  58. "servertype": "jlink",
  59. "gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb",
  60. "device": "HPM5361xCBx",
  61. "interface": "jtag",
  62. "svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml",
  63. "runToEntryPoint": "main",
  64. // Work around for stopping at main on restart
  65. "postRestartCommands": [
  66. "break main",
  67. "continue"
  68. ]
  69. }
  70. ]
  71. }

        有了以上的配置后,三种方式都可以根据需要自行选择。

        如果你觉得有用,麻烦关注一下公众号哈。 

         

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/982668
推荐阅读
相关标签
  

闽ICP备14008679号