Debian 12/13 下使用 SDCC + VSCode 开发 51 单片机完整教程(环境配置)

Debian 10.x amd64环境下配置VScode C/C++环境 Debian 10.x amd64环境下配置VScode C/C++环境 今天在Debian系统下安装配置了一套VScode C/C++的开发环境,稍微记录一下安装过程。 1. 搭建C++开发环境 打开终端,su获取管理员权限。最好先更新一下系统软件,再安装开发环境需要的包: sudo apt update sudo apt install build-essential gdb 其中build-essential是Debian提供的一整套C/C++编译环境所需的软件包,可以节省用户配置各个包的时间(其实 阅读详情

适用对象:Linux 新手、嵌入式初学者、想用开源工具开发 STC89C52/AT89S51 等 8051 单片机的爱好者
系统环境:Debian 12 或 Debian 13(也适用于 Ubuntu 22.04+)
目标:从零搭建一个 免费、开源、命令行友好 的 51 单片机开发环境


为什么选择 SDCC + VSCode?

  • 完全免费开源:无需 Keil C51 的 2KB 代码限制
  • 跨平台:Linux / Windows / macOS 均可使用
  • 轻量高效:命令行编译 + VSCode 智能提示,无臃肿 IDE
  • 适合学习:理解编译、链接、烧录全过程

第一步:安装开发工具链

1. 安装 SDCC(Small Device C Compiler)

SDCC 是专为 8 位 MCU(如 8051、Z80)设计的 C 编译器。

sudo apt update
sudo apt install sdcc sdcc-libraries

sdcc-libraries 包含 8051.h、reg51.h 等关键头文件!

验证安装:

sdcc --version
# 应输出类似:SDCC 4.2.0 ...

2. 安装 VSCode

sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code

3. 安装烧录工具 stcgal(用于 STC 系列单片机)

由于 Debian 12/13 默认禁止 pip 修改系统 Python,我们使用 pipx 安全安装:

# 安装 pipx
sudo apt install pipx

# 配置 PATH
pipx ensurepath

# 重新加载 shell 配置(或关闭终端重开)
source ~/.profile

# 安装 stcgal
pipx install stcgal

验证:

stcgal --version
# 应输出:stcgal 1.7.0 或更高

🔌 注意:如果你用的是非 STC 芯片(如 AT89S51),需使用其他烧录工具(如 USBasp + avrdude),本教程以 STC 为例。


第二步:配置串口权限

Linux 默认禁止普通用户访问串口设备。运行以下命令将当前用户加入 dialout 组:

sudo usermod -aG dialout $USER

重要:-aG 中的 -a 表示“追加”,不能省略!否则会移除你所有其他用户组!

然后注销系统并重新登录(或重启),使权限生效。

验证:

groups
# 输出中应包含 "dialout"

第三步:创建项目结构

在任意目录创建你的项目,例如:

mkdir ~/my-8051-project && cd ~/my-8051-project
mkdir src

项目结构如下:

my-8051-project/
├── src/
│   └── main.c
├── Makefile
└── .vscode/
    └── c_cpp_properties.json

第四步:编写示例代码

创建 src/main.c:

#include <8051.h>

void delay_ms(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++)
        for (j = 0; j < 114; j++);
}

void main(void) {
    P1 = 0x00;  // 初始化 P1 口
    while (1) {
        P1 = ~P1;      // 翻转 P1(如接 LED 会闪烁)
        delay_ms(500);
    }
}

使用 #include <8051.h>(SDCC 官方头文件),也可用 #include <reg51.h>(Keil 兼容)


第五步:配置 VSCode 智能提示(关键!)

在项目根目录创建 .vscode/c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "8051 (SDCC)",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/share/sdcc/include/mcs51",
                "/usr/share/sdcc/include"
            ],
            "defines": [
                "__SDCC__",
                "__SDCC_mcs51",
                "__sfr=volatile unsigned char",
                "__sbit=volatile unsigned char",
                "__at(x)=",
                "__bit=volatile unsigned char"
            ],
            "compilerPath": "/usr/bin/sdcc",
            "cStandard": "c99",
            "intelliSenseMode": "linux-gcc-x86"
        }
    ],
    "version": 4
}

作用:让 VSCode 认识 P1、__sfr、__sbit 等 8051 特有语法,消除“未定义标识符”错误。

保存后,在 VSCode 中按 Ctrl+Shift+P → 输入 “Reload IntelliSense” 刷新。


第六步:编写 Makefile(自动化编译)

在项目根目录创建 Makefile:

# Makefile for 8051 with SDCC

TARGET = main
SRC_DIR = src
BUILD_DIR = build
CFLAGS = --model-small --opt-code-speed

$(BUILD_DIR)/$(TARGET).ihx: $(SRC_DIR)/$(TARGET).c
	@mkdir -p $(BUILD_DIR)
	sdcc $(CFLAGS) -o $(BUILD_DIR)/$(TARGET).ihx $<

flash: $(BUILD_DIR)/$(TARGET).ihx
	stcgal -P stc89 -p /dev/ttyUSB0 $(BUILD_DIR)/$(TARGET).ihx

clean:
	rm -rf $(BUILD_DIR)

.PHONY: clean flash

⚙️ 根据你的芯片型号调整 -P 参数:

  • STC89C52 → -P stc89
  • STC12C5A60S2 → -P stc12
  • STC15 系列 → -P stc15

查看所有支持型号:stcgal -L


第七步:编译与烧录

1. 编译项目

make

生成文件位于 build/ 目录,主文件为 main.ihx。

2. 烧录到单片机

make flash

烧录操作流程:

  1. 运行 make flash
  2. 终端显示 Waiting for MCU...
  3. 此时给单片机断电 → 再上电(触发 STC ISP 下载模式)
  4. 等待自动烧录完成

硬件连接:

  • USB-TTL 模块 TX → 单片机 RXD (P3.0)
  • USB-TTL 模块 RX → 单片机 TXD (P3.1)
  • 共地(GND 接 GND)

常见问题

如何生成 .hex 文件?

packihx build/main.ihx > build/main.hex

参考资源


0007.vscode+platformio IDE+sdcc搭建51单片机开发环境 摘要:本文介绍了使用VSCode和PlatformIO IDE开发8051单片机的完整流程。首先下载安装VSCode,然后安装开源免费的PlatformIO IDE插件,该插件集成了SDCC编译工具。安装成功后,在VSCode中创建51单片机项目,编译生成HEX文件。最后通过对应烧录工具写入单片机。文中还提供了PlatformIO支持的51单片机型号查询链接。该方案为8051开发提供了现代化的开发环境。 阅读详情

相关推荐

LabVIEW小白福音:手把手教你用NI采集卡搭建振动信号采集系统(附源码和避坑指南)

本文为LabVIEW初学者提供详细的NI采集卡振动信号采集系统搭建指南,涵盖硬件连接、驱动安装、信号处理及性能优化等关键步骤。特别针对振动信号采集系统中的常见问题提供解决方案,并附源码和避坑指南,帮助用户快速上手并避免常见错误。

weixin_30485379的博客 103

debian系统安装VsCode

下载VsCode.deb 文件https://code.visualstudio.com/Download## 文件名也可补全 code_1.50.0-1602051089_amd64.deb。安装完成后 在终端 输入命令 code --no-sandbox 打开。# 如果缺少Vscode的依赖项,则先安装依赖。注意选择arm64版本。

weixin_42064949的博客 3131

并网逆变器学习笔记8---平衡桥(独立中线模块)控制

参考文献:《带独立中线模块的三相四线制逆变器中线电压脉动抑制方法》---赵文心。

圆桌骑士的博客 7314

Debian | Vscode 安装与配置 C 环境

创建一个 cpp 文件,写入 c++ 代码,并进行 Debug C/C++ File。此时在 .vscode 目录下面会多出 c_cpp_properties.json。找到 C/C++: Edit Configurations(JSON) 并点击。按 Ctrl + Shift + P 在上方输入 configuration。此时在 .vscode 文件夹下会多出 tasks.json。点击 create a launch.json file。选择 C++ (GDB/LLDB)下载插件 C/C++

DaphneOdera17的博客 2354

Transformer代码(Pytorch实现和详解)!!!

这个是第一版,有些代码如果不对,欢迎在评论指正,后续会慢慢改,我也是刚接触transformer,若有些地方理解不对还请指正。

xml的博客 5612

Linux Debian12使用VSCode和Python搭建flask开发环境

1.在新建文件夹testFlask中,新建文件夹static和文件夹templates,以及新建文件app.py。在Linux Debian12系统上安装VSCode教程可以参考网上相关教程。2.在VSCode菜单“终端”->“新建终端”,此时终端目录前带有“env”。2.用vscode打开文件夹testFlask,选择“是,我信任此作者”并回车,选择其中带有“env”的Python解析器。这时会在testFlask文件中产生env文件夹。1.新建文件夹testFlask。,网页显示如下,表示成功!

星如雨落 2057

6、业务影响分析(BIA)的数据收集与关键指标评估

本文全面解析了业务影响分析(BIA)的核心内容,包括数据收集、业务流程分析、信息系统与资产清单、人员与供应商依赖、影响声明、关键指标评估(如MTD、RTO、RPO)、威胁建模与风险分析等。通过详细的介绍和图表展示,帮助组织系统性地制定灾难恢复计划,以应对各种潜在风险,确保关键业务流程在灾难发生后能够快速恢复并持续运营。

moss5的博客 374

Debian系列-VS Code Chrome 安装

为啥要安装VS Code呢,因为我不会用Vi 和VIm,尽管他们被认为是神一样的文本编辑器,但是就我个人而言,我还是不会用,还是和Win的操作一样最好,所以就要安装VScode。

DreamLife&Yaothos 1799

PCL 贪婪投影三角剖分算法【2025最新版】

本博客在学习PCL中的贪婪投影三角算法的基础上,实现了使用彩色点云重建彩色模型的应用案例。博客长期更新,最近一次更新时间为:2025年7月6日。

点云侠的博客 37万+

家用扫地机器人研发技术路线-第四部分:如何一步步做出来 | 4阶段 · 从原型到量产

摘要:本文详细介绍了扫地机器人从原型到量产的研发流程,分为4个关键阶段。首先聚焦四大技术难点:SLAM定位、AI视觉识别、仿生机械臂和静音风机系统。研发过程包括实验室原型验证、工程样机测试、小批量真实场景测试和量产导入四个阶段,每个阶段设有严格评审标准。特别强调测试贯穿全程,包括模块单元测试、整机集成测试、长期可靠性测试和多样化场景模拟,确保产品在上市前完成数百次真实环境验证。整个流程体现了从技术攻关到产品落地的系统性工程思维。

智能硬件研发,欢迎交流 191

单片机(一):VScode+SDCC+Make的Windows下51(CH552)单片开发环境搭建

抛弃Keil,使用VScode+SDCC+Make组合的方式来开发51单片机。

zcz_822的博客 8846

【点云鸟瞰图BEV】点云鸟瞰图BEV原理与可视化

本节将介绍激光雷达等点云的鸟瞰图生成原理、代码及效果图。 1 BEV视图原理 点云BEV(Bird's Eye View)视图是指点云在垂直于高度方向的平面上的投影。通常,在获得bev视图前,会将空间分割成体素,利用体素对点云进行下采样,然后将每个体素作为一个点进行投影。体素是指将三维空间按照固定尺寸长方体进行划分时的长方体(Δl*Δw*Δh)。 体素投影时可以得到BEV视图的像素点坐标。每个像素点的特征取值则可以通过多种方式得到。 ...

叶子的博客 2万+

debian 11.6 如何安装 vscode

在 Debian 11.6 中安装 Visual Studio Code 的方法如下: 首先,打开终端(Terminal)。 使用以下命令添加 Visual Studio Code 的存储库: sudo apt-get install curl curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor &g...

weixin_35756130的博客 1761

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

51 单片机基础

打开下载软件 --> 选择相应的芯片型号 --> 设置好下载配置 --> 连接单片机并按单片机上的 download 键 --> 选择刚才编译好的文件 --> 点击下载 --> 显示第一号设备下载完成,即可看到单片机上的 LED 等开始闪烁,若没有闪烁,可以按单片机上的 RST 键。中断优先级:高优先级的中断会打断低优先级的中断,在执行完高优先级的中断之后,再去执行低优先级的中断。分频器:将时钟信号转换为原来的时钟信号的频率的整数分之一(1/2, 1/3),出现 sdcc 的版本信息,说明安装完成。

哦豁灬 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C51 开源编译器SDCC学习笔记-安装

关于SDCC SDCC官网的原话是这样子的: SDCCis aretargettable, optimizing Standard C (ANSI C89, ISO C99, ISO C11) compiler suitethat targets theIntel MCS51based microprocessors(8031, 8032, 8051, 8052, etc.),...

Brook博客栏 8917

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

debian安装vscode(openkylin)

https://www.cnblogs.com/taylorshi/p/16598601.html

a445454545的专栏 441

SDCC编译器 + VSCode开发 8位微控制器

写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 SDCC是一个小型设备的 C语言编译器,该编译器支持标准 C语言;相对于 GCC编译器来说可能知名度不是很高,但它跟 GCC一样,是跨平台,并且遵循 GPL开源协议。本次实验是使用 nuvoton的 MS51系列单片机来操作(基于 8051内核) sdcc官方网址:http://sdcc.sourceforge.net/ Wiki主页:http

夏沫的杂物间 1万+

Visual Studio Code 在Ubuntu Debian Redhat 等Linux系统下详细安装配置步骤

Visual Studio Code 在Ubuntu Debian Redhat 等Linux系统下详细安装配置步骤

星卯教育-信奥教练tony 3634

Windows 上使用 VSCode + SDCC 开发 51 单片机完整教程

本文介绍了一种免费开源的8051单片机开发环境搭建方案,使用VSCode+SDCC替代Keil C51。该方案支持代码补全、一键编译和烧录,适合嵌入式初学者和电子爱好者。主要内容包括:1)安装SDCC编译器、VSCode、Python和stcgal烧录工具;2)创建项目结构并配置智能提示;3)编写Makefile实现一键编译;4)通过串口烧录程序到STC单片机。该方案具有完全免费、跨平台支持、轻量化等优势,同时帮助开发者理解完整的编译-链接-烧录流程。文章还提供了常见问题解答和硬件连接说明。

C++无脑入~~~~ 3169

debian系统里用vscode编译arduino代码,并用pyocd烧录

于是被迫把代码开发环境转移到了linux下,debian系统是个简单,稳定,好用的系统,我用的发行版是MX linux,基于debian,更新是半滚动的,你可以几天更新一次,也可以几年不更新都可以正常使用。这几天在试用一个国产的超级便宜的arm cortex-m0芯片PY32F003芯片,它的代码在gcc下,eide下编译,下载都没问题,这两天看到py32f003还支持arduino,喜欢的看这里。现在的win10感觉越来越霸道了,几乎每天都要更新,而且是强制更新,不管你喜不喜欢。

linuxunion的博客 1058

在debian中安装vs code及配置C/C++环境

Debian 9.x64安装并使用vs code安装vs code基本步骤遇到问题的解决办法c环境的配置 安装vs code 基本步骤 在vs code的官网下载对应版本的安装包 根据需要下载,我下载的是debian系统的.deb文件 图形化界面可以直接双击安装,我使用的是命令行 cd进入.deb文件所在目录 su使用最高级权限 输入dpkg -i file.deb安装完成 输入code即可...

快乐肥宅的学习室 8017

Visual Studio Code + SDCC开发51单片机 1 - 环境安装

1. 安装Visual Studio Code 在Visual Studio Code的扩展(应用商店)中输入“Chinese”找到“Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code” 安装中文插件。 2. 安装EIDE 在Visual Studio Code的扩展(应用商店)中输入“EIDE”找到“Embedded IDE” 安装完成后左边的工具栏多了一个ICON 3. 安装SDCC 可以下载...

pq的博客 6126

Visual Studio Code + SDCC开发51单片机 2 - 特殊之处

SDCC中51寄存器的定义与Keil的不同。为了与Keil保持兼容性,将SDCC的关键字做一些定义,可以通过EIDE创建一个blink例程,然后里面会有一个reg52.h,拷贝这个文件并添加自己选择的MCU额外定义的寄存器即可。 1. 特殊寄存器命令 typedef __sfr sfr; typedef __sfr16 sfr16; typedef __sfr32 sfr32; typedef __sbit sbit; typedef __bit bit; 2. 存储类型 #define ree

pq的博客 5018

【VSCode PlatformIO】STC8系列SDCC专用头文件内容分享

【STC系列之SDCC】STC8系列SDCC专用头文件内容分享

perseverance51博客 4578

SDCC+vscode+make搭建开源stc8g开发环境

帮助你用scode+sdcc+make开发stc8g

qq_65174983的博客 1971
上一篇: 嘉立创EDA2kicad封装符号库转换工具
下一篇: Windows 上使用 VSCode + SDCC 开发 51 单片机完整教程
DennisReYoonjiho
博客等级 码龄7年 216粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值