关于在ubuntu中用vscode编译调试C\C++,Proteus仿真运行stm32程序,Altium Designer绘制STM32最小系统原理图

可视化的代码跟踪调试

有以下三种方法
1、可视化前端 Kdbg。参考网址:链接.
2、可视化前端 Insight。有点older,不推荐。参考网址:链接.
3、 基于跨平台多类型代码编辑器VScode,强烈推荐。参考网址:
链接1.
链接2.
l链接3.
我选择的是方法三

在ubuntu18.04版本安装vscode

1.进入ubuntu桌面版系统,点击图片中指向的图标(软件中心)。

在这里插入图片描述
2.在软件中心中,搜索Visual Studio Code

在这里插入图片描述
3.在页面中就可以直接选择安装

在这里插入图片描述
4.即可进入vscode
在这里插入图片描述

关于在ubuntu中用vscode编译调试C\C++

(注意以上过程请确保在ubuntu里面安装了c++编译器,和vscode)

1.安装vscode的C\C++插件。

(1)在vscode中安装C++的插件,按ctrl+p调出命令行,在上面输入ext install cpptools,或在也可以只输入ext install然后按空格

在这里插入图片描述
可以三个都安装了,接下来就是漫长的等待安装过程(因为网络的问题所以漫长)。安装成功后可能会有提示要重启vscode,重启后就可以了。
(2)就是配置调试和编译文件,launch.json和task.json。
首先我们在安装好了插件之后,就可以在vscode打开我们的源码文件了并且调试了,不过要注意vscode要调试的话只能打开包含源码文件的文件夹,不能打开单个文件调试。(我新建了一个main.cpp放在了主目录中)
在这里插入图片描述
在vscode中打开刚才创建的main.cpp文件。
在这里插入图片描述
点击左边三角形的图标,进行运行,然后就自带生成出来一个.json文件,在这里插入图片描述

2.配置launch.json和task.json这两个文件

想要调试源代码文件,我们需要创建或者生成tasks.json和launch.json文件,tasks.json文件帮助我们自动在终端中输入gcc指令,编译输出可运行文件的,而launch.json文件则是启动gdb程序进行调试的。
1.创建文件夹并进入该文件夹内部

mkdir test
 cd test

2.编写代码
创建并编写test.c
代码块:

#include <stdio.h>
void ShowRevertNum(int iNum)
{
 while (iNum > 10)
 {
printf("%d", iNum % 10);
 iNum = iNum / 10;
 }
 printf("%d\n", iNum);
}
int main(void)
{
 int iNum;
 printf("Please input a number :");
 scanf("%d", &iNum);
 printf("After revert : ");
 ShowRevertNum(iNum);
 return 0;
}

3.选择C++(GDB/LLDB)插件之后再根据提示,选择“g++ -生成和调试活动文件”,运行结束后VSCode会自动生成适用于gcc编译的launch.json文件。
在这里插入图片描述
4.点击工具栏上的Terminal(终端),选择Configure Tasks(配置任务) -> C/C++:gcc build active file,VSCode会自动生成适用于gcc编译的tasks.json文件保存后继续进行编译,需要在第九行后添加语句:

"${fileDirname}/test.c",

在这里插入图片描述

3.编译调试C++程序

注意:
command就是调用的控制台命令;
args就是命令行参数了,-g参数是必须的,否则到时候没有调试信息,vscode会无法设置断点。
配置好后在test.c文件界面,我们就可以先按ctrl+shift+B先编译,再按上方调试工具栏的图标绿色箭头,再点击终端:
在这里插入图片描述
发现输入为“100”时,原则上应该输出“001”,但是现在输出的是“010”,说明代码出现问题,设置断点开始调试。
(设置点击语句前面来设置断点)
在这里插入图片描述
此时点击下图箭头所指的图标开始向下调试:
在这里插入图片描述
调试后发现错误,在当iNum=10时,程序会跳出循环,对此进行修改,将循环条件改为:

while (iNum >= 10)

重新进行调试,并再次输入100。
在这里插入图片描述
成功编译!!!!!

proteus中运行stm32程序

(实验keil和proteus所用文件工程百度网盘链接,提取码为0f7c ,以下为链接:所用keil和proteus文件工程) 点这里.

1.创建proteus新工程文件

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

2.配置实验所需原件

1.创建项目完成后就如下图所示,显示出自己所选的型号,STM32F103R6,系统并以配置好电源。
在这里插入图片描述
2.添加实验所需灯,点击左边P,然后进入下图,在关键字中输入LED-YELLOW,并点击确认选中。在这里插入图片描述
3.添加实验所需电阻,点击左边P,然后进入下图,在关键字中输入RES,并点击确认选中。
在这里插入图片描述
4.添加完灯和电阻后屏幕会如下图所示。
在这里插入图片描述
5.设置电阻值为50在这里插入图片描述
6.链接器件,如图
在这里插入图片描述

3.keil5中编写程序

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

4.导入hex文件进入stm32芯片中

配置Crystal Frequency改成8M(设置晶振为8M)。
在这里插入图片描述

5.开始仿真

仿真结果如下:在这里插入图片描述

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

(该程序是8个led灯依次闪烁,然后全部闪烁一次,再全部熄灭,重复上述现象)

Altium Designer绘制STM32最小系统原理图

安装软件

Altium_Designer_Beta_18.1.7版本

查找STM32最小系统原理图样式

进入浏览器,搜索该网址 点这里.
进入后,选择查看产品,点击上方选择栏,点击选择3×3的图标
在这里插入图片描述
然后选择”Microcontrollers & Microprocessors”
在这里插入图片描述
再次点击选择"STM32-bits Arm cortex MCUs"
在这里插入图片描述
之后在左侧菜单栏选择"STM32 F1series"
在这里插入图片描述
再次选择"STM32F103"
在这里插入图片描述
选择"STM32F103C8"
在这里插入图片描述

选择下载“STM32F103C8"的数据表”Download datasheet“
在这里插入图片描述
之后进入查看文档,查找所需要的STM32最小系统原理图
在这里插入图片描述
在这里插入图片描述

创建stm32最小系统元件库

详细步骤可看视频:视频.

(以下为部分细节)
注意封装参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后finfish,显示如下:在这里插入图片描述
放置引脚后的原理图显示如下
在这里插入图片描述
引脚放置时需注意,点击引脚,空格键翻转,摆放到合适位置后左键点击固定位置
封装步骤:
在这里插入图片描述
点这里找到刚才画出的2D图片文件在这里插入图片描述
找到文件如图所示在这里插入图片描述
封装成功在这里插入图片描述
在这里插入图片描述

绘制stm32最小系统原理图

再新建工程,右键[Schematic]建立原理图绘制界面
在这里插入图片描述
放置元器件,右方点击Libraries,再点击installed,即可把自己创建的库加进来
在这里插入图片描述
双击放置一个芯片
在这里插入图片描述
放置线将各个引脚延长
在这里插入图片描述

连接在VBAT1端口之后,修改名称为VOUR如下

在这里插入图片描述

此时注意,查看添加网络端口时必须确认有4个点才能算是连上,(查看放大图像crtl+鼠标滚轮)如下:
在这里插入图片描述
添加VCC,电压为3.3V
在这里插入图片描述
在这里插入图片描述

添加上GND
在这里插入图片描述

再在官方库里搜索添加RES,10kΩ
在这里插入图片描述

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

再在官方库里搜索添加添加元器件,放进电路中即可;
由于在AD自带的官方库里没有USB以及AM1107(稳压模块会用到),因此仿造前文绘制元器件的办法(用系统自带的封装即可),再绘制USB、AM1107放置在自己创建的库里,步骤与前文一致,不再赘述,如下:
在这里插入图片描述

在这里插入图片描述

放置所有元器件:
在这里插入图片描述
在这里插入图片描述

参考来源:
链接.
总结:
Altium Designer软件绘制原理图比较复杂,需要多了解相关的操作

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值