STM32嵌入式应用系统

可视化的代码跟踪调试

人靠衣装马靠鞍,狗配铃铛跑的欢”。利用各种可视化调试前端软件(后端依然依赖gcc、gdb)进行程序代码的跟踪查错,提供工作效率。

Ubuntu上安装KDBG3.0.1

我使用的是ubuntu18版的,安装的时候可以直接输入以下命令进行安装

sudo apt-get install kdbg

在这里插入图片描述
输入kdbg即可进入界面
在这里插入图片描述
在这里插入图片描述

若安装的是最新版本的ubuntu,会提示无法定位软件包 kdbg,这时可以参考一下别人的博客解决问题,在此不再过多陈述https://blog.csdn.net/weixin_43820951/article/details/108817882

可视化前端 Insight。有点older,不推荐

insight概述:
Insight是一个Tcl/Tk编写的gdb的图形用户接口,它是由在Red hat以及Cygnus的工程师写的。Red hat大方的将其捐赠给大众使用,甚至不时的提供人力继续完善它的功能。Insight项目始于1994年,至今已经颇为成熟,它能很好的发挥大部分gdb的强大功能。

编写这个词条的目的,不是为了真的怎样教大家使用这个软件,因为这个软件已经相当的完善,不需要介绍就能轻松上手,主要是为了那些在internet上盲目搜索在linux下c,c++开发用什么调试器好的人提供一个hint!免得他们走歪路,或者甚至看到gdb那种单板机式的调试界面后退缩,甚至从此离开linux的人们.我可以很负责任的说,相对于xxgdb,ddd等基于gdb的的gui调试器来说,insight绝对是最棒,最易用的。

当然在linux下开发c,c++应用程序并非必须用gdb来调试,随着当今java的兴起,很多java IDE都提供c,c++开发功能,著名的有Eclipse(由iBM赞助的java IDE),NetBeans(Sun的java官方IDE),当然在安装eclipse和netbeans的时候你应该选择c/c++开发模块。
安装步骤如下:
在以下界面进行下载,6.6为稳定版
ftp://sourceware.org/pub/insight/releases .
在这里插入图片描述
ftp: 从发行目录下载
先下载cvs

sudo apt install cvs

在这里插入图片描述
然后再用以下代码

cvs -z9 -d :pserver:anoncvs@sourceware.org:/cvs/src login
[密码 "anoncvs" ]
cvs -z9 -d :pserver:anoncvs@sourceware.org:/cvs/src co -r gdb_6_6-branch insight

CVS:在gdb-6.6的分支下检查一个只读拷贝
在这里插入图片描述
好了,安装结束,想使用insight,很简单,直接在命令行中打入insight就可以了,进入insight以後,你可以在他的file菜单下选择要调试的程序名,或者

insight ./foo

基于跨平台多类型代码编辑器VScode

方式一:
桌面上找到应用中心
在这里插入图片描述
在这里插入图片描述
直接点击安装即可
方法二

  1. 从vscode官网下载最新版本,deb包下载地址:https://code.visualstudio.com/docs?dv=linux64
    使用
wget  下载地址

进行下载
2. 安装:dpkg -i 安装包
打开后界面如下
在这里插入图片描述

安装vscode的C\C++插件

1、 在vscode中安装C++的插件,按ctrl+p调出命令行,在上面输入ext install cpptools,或在也可以只输入ext install然后按空格
在这里插入图片描述
下面会弹出很多插件在C\C++插件右下面有三个蓝色框的最右边那个就是下载安装插件的。
在这里插入图片描述
接下来就是漫长的等待安装过程(因为网络的问题所以漫长)。
在这里插入图片描述
安装成功后会有提示要重启vscode,重启后就可以了。

配置调试和编译文件,launch.json和task.json

首先我们在安装好了插件之后,就可以在vscode打开我们的源码文件了并且调试了,不过要注意vscode要调试的话只能打开包含源码文件的文件夹,不能打开单个文件调试。(我新建了一个main.cpp放在了test文件夹中)
代码如下

#include<iostream>
using namespace std;
int main()
{
 cout<<"Hello World";
 return 0;
}
}

在这里插入图片描述
在vscode中打开test文件夹
在这里插入图片描述

看到vscode在最左边第四个好像虫子的图标,这个就是调试的,点一下,然后看到最上面有个齿轮那里,点一下出来一个面板,选择刚刚装好的c++插件。

在这里插入图片描述

然后就自带生成出来一个.json文件
在这里插入图片描述

回到之前的cpp编辑界面,按F5进行调试,会弹出找不到任务"task g++",选择 “Configure Task”
在这里插入图片描述
将task的文件内容替换,内容替换如下

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-g",
                "${fileDirname}/test.c",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Generated task by Debugger"
        }
    ],
    "version": "2.0.0"
}

到cpp编辑界面执行程序
在这里插入图片描述
点击代码行的数字前面设置断点
在这里插入图片描述
按绿色箭头进行调试

在这里插入图片描述

Proteus仿真运行stm32程序流水灯实验

创建工程

1.点击创建新工程,输入工程名、安装路径。
在这里插入图片描述
选择从选中的模板中创建原理图
在这里插入图片描述
选择不创建PCB布版设计
在这里插入图片描述
选择创建固件项目,其中:系列选择Cortex-M3,Controller选择STM32F103R6,点击下一步,然后创建成功。
在这里插入图片描述

配置原件

创建项目完成后就如下图所示,显示出自己所选的型号,STM32F103R6,系统并以配置好电源。
在这里插入图片描述
添加实验所需灯,点击左边P,然后进入下图,在关键字中输入LED-YELLOW,并点击确认选中
在这里插入图片描述
添加实验所需电阻,点击左边P,然后进入下图,在关键字中输入RES,并点击确认选中
在这里插入图片描述
将灯和电阻分别添加到原理图,然后右键电阻,编辑电阻,设置其阻值为50(默认阻值过大,不更换led电流达不到,亮不起来)。
在这里插入图片描述
配置好以上,然后连接电路如下
在这里插入图片描述

配置hex文件

进入keil 5中选择Option for Target,然后勾选Create HEX file,生成hex文件
在这里插入图片描述

配置芯片

双击stm32f103r6芯片,然后进入Program File 选择刚才生成的hex文件,并配置Crystal Frequency改成8M(设置晶振为8M)
在这里插入图片描述

实验结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值