SPARC VScode EIDE GDB 使用配置

前言

	搞了多年的SPARC 最近接触了VSCODE插件感觉好用。想想看不是能方便调试和编译SPARC,决定使用开源的SPARC仿真环境和编译器来试试。感觉的却不错,借此献给使用SPARC的朋友们。

安装

1.找微软官方的下载VSCODE.
2.电机左边的方块形状的图标,搜索下面的插件点击安装即可在线安装。有的插件是安装插件时附带安装的。必须安装C/C++的插件和Embedded IDE。

在这里插入图片描述

设置编码格式

在这里插入图片描述

设置EIDE嵌入式开发环境的编译器相关内容

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
${userRoot}/.eide/tools/sdcc

#EIDE的配置可以在这修改
在这里插入图片描述

任意其他处理器的编译器设置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

选择编译器和编译器的前缀:
在这里插入图片描述

修改Link Script file .
在这里插入图片描述

GDB调试需要在编译时添加 -g 参数加入符号表

D:***\gcc_mcu\gcc_mcu\ldscripts\sparcleon.x

添加头文件和库文件和编译的宏定义

在这里插入图片描述

DEBUG 配置可以修改

网上有个“Debugging Guide for GDB and VS Code”的文档可以参考

vscode介绍链接

在这里插入图片描述

可以添加自定义的链接工具
在这里插入图片描述
上面是标准JTAG的

    "configurations": [
        {
            "cwd": "${workspaceRoot}",
            "type": "cortex-debug",
            "request": "launch",
            "name": "jlink",
            "servertype": "jlink",
            "interface": "swd",
            "executable": "build\\Debug\\gcc_mcu.elf",
            "runToEntryPoint": "main",
            "device": "null"
        }
    ]
   

添加的标准模板,

 "configurations": [
        {
            "name": "(gdb) Windows 上的 Bash 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "输入程序名称,例如 ${workspaceFolder}/a.exe",
            "args": [],
            "stopAtEntry": false,
           "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": false,
            "pipeTransport": {
                "debuggerPath": "/usr/bin/gdb",
                "pipeProgram": "${env:windir}\\system32\\bash.exe",
                "pipeArgs": ["-c"],
                "pipeCwd": ""
            },
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
        {
            "cwd": "${workspaceRoot}",
            "type": "cortex-debug",
            "request": "launch",
            "name": "jlink",
            "servertype": "jlink",
            "interface": "swd",
            "executable": "build\\Debug\\gcc_mcu.elf",
            "runToEntryPoint": "main",
            "device": "null"
        }
    ]

我使用的模板,

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "GCC Debug ",
            "type": "cppdbg",//使用C/C++的调试,如果是JTAG 可以选择其他的 ,比如微软的“cppdbg” 或者是直接使用“gdb”,不同类型下面参数不一样
            "request": "launch",
            "program": "${workspaceRoot}/build/Debug/gcc3.elf",//工程编译的程序
            "args": [],//调用type 功能 运行的参数,gdb用不上其他调试可以用的上
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "targetArchitecture": "arm",//可以用arm 其实没有关系,屏蔽也行
            "environment": [],
            "externalConsole": true,//内置控制台或外置控制台输出externalTerminal
            "MIMode": "gdb",//MIMode:指示VS代码将连接到的调试器。必须设置为gdb或lldb。
            "miDebuggerPath": "C:\\Users\\topma\\.eide\\tools\\bcc-2.2.3-gcc\\bin\\sparc-gaisler-elf-gdb.exe",//gdb版不能过低,会出现步匹配建议6以上
            //"miDebuggerServerAddress": "localhost:12345",//setupCommands运行后连接gdb 服务器的IP和端口 ,不是本地localhost 直接换成IP地址

             "setupCommands": [
                {//如果是要下载使用命令手动连接需要用miDebuggerServerAddress
                "text": "target remote :12345"
                },   
                {
                "text": "file 'D:/**/gcc_mcu/mcu-gcc3/gcc3/build/Debug/gcc3.elf'"
                },
                              
                {
                 "description": "下载",
                 "text": "load",
                 "ignoreFailures": false           
                }        

            ],


            //"preLaunchTask": "make",//launch 前的操作
            "launchCompleteCommand": "None"
        },
    ]
}

GDB 模板

{
    "version": "0.4.2",
    "configurations": [
        {
            "name": "Debug gdb",
            "type": "gdb",
            "request": "attach",
            "executable": "${workspaceRoot}\\LPCProject\\bin\\Debug\\LPCProject.elf",
            "target": "localhost:2331",
            "cwd": "${workspaceRoot}",
            "gdbpath": "C:/gccarm/bin/arm-none-eabi-gdb.exe",
            "remote": true,
            "autorun": [
                "load ./LPCProject/bin/Debug/LPCProject.elf",
                "break main",
                "monitor reset"
            ]            
        }
    ]
}

多个操作一起处理

    "compounds": [
        {
          "name": "Server/Client",
          "configurations": ["Debug gdb", "GCC Debug"],//前面两个调用的名字
          "preLaunchTask": "make",
        }
      ]

点击绿箭头开始GDB调试
在这里插入图片描述

链接上后找到这个浮动的控制TAB可以运行,单步,退出等操作。
在这里插入图片描述

碰到的问题

当前不能通过 “setupCommands” 直接“load”下程序,只能连上后通过再DEBUG CONSOLE 输入下面命令下载后再点击运行。不清楚问什么自动处理不行。报告 vscode gdb -interpreter-exec **错误。
Error: You can’t do that when your target is `exec’ (ExcaliburTM, GDB) ,是没有连接上gdbserver 需要下载必须用命令连接服务器,不能用miDebuggerServerAddress参数。他比较靠后。
-exec monitor gdb reset //有时候傻了可以用改方式复位再连接
-exec load

Monitor 后的命令是server的,需要server 支持’

有时候sh

PostBuild Task 编译后做的处理
O u t D i r / {OutDir}/ OutDir/{ProjectName}.hex

  • 17
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 非常感谢您的问题。我是 ChatGPT,一个AI语言模型,我能够回答很多问题,但我不是专门的技术支持人员,因此我可能无法回答某些特定问题。 关于您提出的问题,我了解到SPARC T4是甲骨文(Oracle)开发的一个服务器处理器,它有自己的操作系统和硬件架构。如果您需要查看SPARC T4的硬盘状态,您可以使用类似iostat或vmstat的性能监测工具。您还可以查看/proc/diskstats文件,该文件列出了所有磁盘的读写统计信息。 但是,请注意,这些都是一般的技术建议,具体的解决方案可能需要更多的信息和细节,而这些信息可能需要更专业的技术支持人员提供。因此,如果您需要更详细的帮助,请考虑咨询甲骨文的技术支持人员或其他相关专业人员。 最后,感谢您使用CSDN学习和探索技术,希望我的回答能够对您有所帮助。 ### 回答2: 要查看SPARC T4服务器的硬盘状态,可以通过以下步骤: 1. 登录到服务器的操作系统。可以使用远程登录工具,如SSH。 2. 打开终端窗口,输入命令“cfgadm -al”来列出系统中所有的设备和连接。 3. 根据列表中显示的信息,找到对应硬盘设备的连接端口。通常,硬盘设备的连接端口名称以“c”和“d”开头,后面跟着数字。 4. 输入命令“cfgadm -al <连接端口名称>”,将连接端口名称替换为硬盘设备的实际连接端口名称。这将显示该硬盘设备的详细信息。 5. 在显示的硬盘设备信息中,可以看到硬盘的状态、容量、连接状态等。 6. 如果需要进一步了解硬盘的健康状况和SMART(Self-Monitoring, Analysis, and Reporting Technology)信息,可以使用相关命令,如“iostat -En”和“smartctl”。 请注意,具体的命令和步骤可能会因操作系统版本和配置而有所不同。因此,在查看硬盘状态之前,建议查阅相关的文档或咨询系统管理员以确保正确操作。 ### 回答3: 在 SPARC T4 服务器上查看硬盘状态,可以通过以下步骤进行: 1. 首先,登录到 SPARC T4 服务器的管理界面。 2. 进入浏览器,并输入 SPARC T4 服务器的 IP 地址,登录管理界面。 3. 选择硬盘状态查看选项。在管理界面的导航栏中,可能有一个名为硬件或存储的选项。点击该选项以展开更多子选项。 4. 在硬盘状态查看选项中,您可能会看到一个列表,其中显示了各个硬盘的状态信息。这些信息可能包括硬盘的位置、型号、容量和健康状况等。 5. 查看硬盘状态。在列表中,您可以查看每个硬盘的状态。通常,如果硬盘状态正常,它将被标记为“健康”或“工作正常”。如果硬盘状态异常,它可能会被标记为“错误”、“失败”或“故障”。 6. 获取更多详细信息。如果您想获取更多关于硬盘状态的详细信息,您可以点击每个硬盘的名称或相关链接。这可能会打开一个新页面,显示更多与该硬盘相关的详细信息,例如健康状况报告、错误日志等。 请注意,上述步骤可能因 SPARC T4 服务器的具体品牌和型号而有所不同。对于特定的服务器型号,最好参考相关的用户手册或联系供应商以获取准确的信息和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值