文章目录
前言
在gdb的基础上,练习使用各种可视化调试前端软件Kdbg进行程序代码的跟踪查错,提升工作效率。Proteus仿真运行一个stm32程序,还有关于使用Altium Designer画一个最小stm32 最小系统的电路原理图。
一、VScode的安装
1.图形安装
.从Ubuntu桌面的应用中心安装vscode,第二个蓝色那个。
2. 命令安装
2.1. 从官网下载vscode.
2.2. 解压
sudo dpkg -i code_1.51.0-1604600753_amd64.deb
在应用区域找到vscode然后启动它,
2.3. 安装C++插件,如图:从左往右
2.4. 重新启动vscode和其运用
在终端创建一个文件夹,在里面创建文件main.cpp,gedit编译。
mkdir 文件夹
gedit main.cpp
在vscode中打开该文件夹,打开这个文件。点击第三个图标获取lanch.json文件。可能会有点卡。
修改lanch.json为下面代码
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
获取task.json文件,
修改task.json的代码如下:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${file}",
"-std=c++11",
"-o",
"${fileBasenameNoExtension}.out"
]
}
]
}
使用ctrl+shift+B,进行Build。
设置断点,开始调试,点击第一个
得到结果
至此结束。
二、Proteus仿真运行stm32程序
1.创建工程
进行如下图中的选择
2.连线和元件如图
3. 进入keil编程,生成hex文件
程序
#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
void delay_ms(uint32_t ms)
{
uint32_t i_cnt,j_cnt;
for(i_cnt=0;i_cnt<3000;i_cnt++);
for(j_cnt=0;j_cnt<ms;j_cnt++);
}
uint32_t i;
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIOC->BSRR=0xff;
while (1)
{
for(i=0;i<8;i++)
{
delay_ms(199000);
GPIOC->BRR=(1<<i);
delay_ms(199000);
GPIOC->BSRR=(1<<i);
}
for(i=0;i<8;i++)
{
delay_ms(199000);
GPIOC->BRR=0x000000ff;
delay_ms(199000);
GPIOC->BSRR=0x000000ff;
}
}
}
点击output,进行以下选项
4. 回到protues配置芯片
双击stm32f103r6芯片,选择生成的hex文件,配置Ctrystal Frequency为8M。
5. 点击进行仿真,结果如下
三. Altium Designer画最小系统
新建工程
添加原理图工程
点击库在里面选择元件库,点击安装。这里我是直接从网上下载的元件库。
绘制的元件图如下