栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

wsl2子系统下51单片机开发(环境搭建)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

wsl2子系统下51单片机开发(环境搭建)

wsl2子系统下51单片机开发(环境搭建)

文章目录
  • wsl2子系统下51单片机开发(环境搭建)
    • 一、准备工作
      • 1、映射usb设备->子系统
        • (1)、win下安装usbipd.exe
        • (2)、子系统ubuntu安装usbip
        • (3)、powershell 查看并映射
      • 2 、安装sdcc编译器,make工具
      • 3、安装stcflash.py烧录工具
    • 二、环境测试
      • 1.代码
      • 2.编译
      • 3.下载

一、准备工作
使用环境:win11子系统 ubuntu18.04
1、映射usb设备->子系统 (1)、win下安装usbipd.exe

usbipd.exe github连接
上不去的也可以到我的百度云提取码:g4cm

(2)、子系统ubuntu安装usbip
sudo apt install linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20
(3)、powershell 查看并映射

查看添加映射:

usbipd wsl list
usbipd wsl attach --busid  

解除映射:

usbipd wsl detach --busid  

附上使用图:

2 、安装sdcc编译器,make工具
sudo apt install sdcc make -y
sdcc -v
3、安装stcflash.py烧录工具

stcflash.py github
百度云盘提取码:kjue
下载后放到/usr/local/bin目录下给权限

cp ./stcflash.py /usr/local/bin/
chmod 775 /usr/local/bin/stcflash.py
二、环境测试 1.代码

main.c

#include <8051.h>
#include "led.h"

void main(void)
{
    while (1)
    {
        Led_ON();
    }
}

led.c

#include "led.h"

void Led_ON(void)
{
    led = 0;
}

void Led_OFF(void)
{
    led = 1;
}

led.h

#ifndef _LED_H_
#define _LED_H_
#include <8051.h>

//led p2.0引脚
#define led P2_0

void Led_ON(void);
void Led_OFF(void);
#endif
2.编译

我的目录结构:

直接make编译

make

这里直接附上我的makefile

CC       = sdcc
IHX2HEX  = packihx
DOWNTOOL = stcflash.py

TARGET   = main

OUTDIR   = output/

INCLUDES = libs/inc/
MAIN     = src/main.c
C_SRCS   = $(wildcard libs/src/*.c) 
		   $(MAIN)
RELS     = $(wildcard $(OUTDIR)*.rel)

RM       = rm -rf output/


.PHONY:all clean
all:$(TARGET).hex

help:
	@echo make 编译main.hex---------------------
	@echo make download 编译下载main.hex--------
	@echo make clean 清除编译结果----------------
	@echo 使用步骤:-----------------------------
	@echo ---------1.make-----------------------
	@echo ---------2.make download--------------
	@echo ---------3.make clean-----------------

rels:
	@mkdir -p output
	@for i in $(C_SRCS); do $(CC) -c $$i -I $(INCLUDES) -o $(OUTDIR); done

$(TARGET).ihx:rels
	$(CC) $(RELS) -o $(OUTDIR)$@

$(TARGET).hex:$(TARGET).ihx
	$(IHX2HEX) $(OUTDIR)$^ > $(OUTDIR)$@

clean:
	$(RM) 

download:$(TARGET).hex
	$(DOWNTOOL) $(OUTDIR)$^
3.下载

下载需要权限,我是在root用户下编译下载

su
make download

默认下载至 ttyUSB0,有需要请自行配置。
代码打包附上 提取码:kjue

转载注明,感谢支持
参考 微软官方wsl2映射usb至子系统,sdcc使用,stcflash使用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/891183.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号