zsh omz brew 在 linux mac 上的配置解决

1. 指定阿里云镜像, 安装REQUIREMENTS.TXT中的所有

pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt

2. 指定阿里云镜像, 安装FLASK

pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com flask

zsh: command not found 的部分解决方案

Golang的 解决方案方案,

# GOROOT
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin

#GOPATH
export GOPATH=$HOME/go_place
export PATH=$PATH:$GOPATH/bin

# GOPROXY
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct

#GOBIN
export GOBIN=$GOPATH/bin

# MySQL 添加MySQL到环境变量  Mac下
# export PATH=$PATH:/usr/local/mysql/bin


# 配置cuda
# 在 .bashrc 最后添加以下内容
export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 此处的11.8应该与你的安装的cuda一致

此时的系统go env 查看当前Golang的环境变量

(base) ➜  ~ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN="/home/banana/go_place/bin"
GOCACHE="/home/banana/.cache/go-build"
GOENV="/home/banana/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/banana/go_place/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/banana/go_place"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.20.5"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build403313969=/tmp/go-build -gno-record-gcc-switches"

  Golang的安装

  Go下载 - Go语言中文网 - Golang中文社区

 复制Golang的linux下载链接

# 方法一
wget -c https://studygolang.com/dl/golang/go1.19.linux-amd64.tar.gz
tar -zxvf go1.19.linux-amd64.tar.gz
sudo mv go /usr/local


# 方法二 
# step 1
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz

# 将一下内容 写入 $HOME/.profile or /etc/profile
export PATH=$PATH:/usr/local/go/bin
# 然后按 ESC :wq 确认后
source $HOME/.profile 
#or 
source /etc/profile

go env # 确认你的安装

Golang在zsh下的配置

cd ~
vim .zshrc

# 将下面的内容添加到.zshrc 中
#
# GOROOT
export PATH=$PATH:/usr/local/go/bin


#GOPATH
export GOPATH=$HOME/go_place
export PATH=$PATH:$GOPATH/bin

# ESC :wq保存后

source .zshrc  # 就可以了

 这里的基本思路就是以前golang的环境配置在bash下的profile,这里是添加到zsh的环境配置

anaconda的环境配置

anaconda/bin/conda init zsh

这里基本思路就是用conda自己自动初始化zsh

 最后写一些oh my zsh的配置

sudo apt install zsh

ubuntu默认shell是bash,apt安装zsh之后直接用oh my zsh的命令就可以自动切换到oh my zsh

# 安装  在本地克隆后获取安装脚本。
# 清华 镜像源 https://mirrors.tuna.tsinghua.edu.cn/help/ohmyzsh.git/
git clone https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git
cd ohmyzsh/tools
REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git sh install.sh

# 切换已有 ohmyzsh 至镜像源
git -C $ZSH remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git
git -C $ZSH pull

 补充内容

Brew 安装 Homebrew国内源

HomebrewCN: Homebrew 国内安装脚本

知乎文章地址:https://zhuanlan.zhihu.com/p/111014448

苹果电脑标准安装脚本:(推荐 优点全面 缺点慢一点)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

苹果电脑极速安装脚本:(优点安装速度快 缺点update功能需要命令修复 )

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed

Linux 标准安装脚本:

rm Homebrew.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh ; bash Homebrew.sh

苹果电脑卸载脚本:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

Linux卸载脚本:

rm HomebrewUninstall.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh ; bash HomebrewUninstall.sh

---Brew介绍

macOS 和 Linux 缺失软件包的管理器

---Homebrew 能干什么?

使用 Homebrew 安装 Mac(或Linux)没有预装但你需要的东西。

--Homebrew自身如何使用

知道软件包具体名称,直接 brew install 软件包名 只知道一小部分名称,用 brew search 小部分名称 查询即可 例如brew search chrome就会把带chrome的软件包全部列出

brew 安装完成检查

(base) ➜  ~ brew -v
Homebrew 4.1.25-89-g4793677
Homebrew/homebrew-core (git revision 3e153b54ec7; last commit 2023-12-17)
Homebrew/homebrew-cask (git revision 6b34c78320; last commit 2023-12-17)
(base) ➜  ~ brew search tree
==> Formulae
as-tree          datree           erdtree          pstree           tree ✔           treecc           treefrog
cherrytree       dutree           pipdeptree       python-anytree   tree-sitter      treefmt          tre

==> Casks
figtree                       sourcetree                    treesheets                    trex
(base) ➜  ~ brew install tree
Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update!
Running `brew update --auto-update`...
Installing from the API is now the default behaviour!
You can save space and time by running:
  brew untap homebrew/core
  brew untap homebrew/cask
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).

You have 1 outdated formula installed.

tree 2.1.1 is already installed but outdated (so it will be upgraded).
==> Fetching tree
==> Downloading https://mirrors.bfsu.edu.cn/homebrew-bottles/tree-2.1.1_1.arm64_monterey.bottle.tar.gz
################################################################################################################# 100.0%
==> Upgrading tree
  2.1.1 -> 2.1.1_1

==> Pouring tree-2.1.1_1.arm64_monterey.bottle.tar.gz
🍺  /opt/homebrew/Cellar/tree/2.1.1_1: 8 files, 177.1KB
==> Running `brew cleanup tree`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /opt/homebrew/Cellar/tree/2.1.1... (8 files, 177.2KB)


(base) ➜  ~ neofetch
                    'c.          banana@MacBook-Pro.local
                 ,xNMM.          -----------------------------
               .OMMMMo           OS: macOS 12.7.2 21G1974 arm64
               OMMM0,            Host: MacBookPro18,1
     .;loddo:' loolloddol;.      Kernel: 21.6.0
   cKMMMMMMMMMMNWMMMMMMMMMM0:    Uptime: 7 days, 3 hours, 12 mins
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Packages: 17 (brew)
 XMMMMMMMMMMMMMMMMMMMMMMMX.      Shell: zsh 5.8.1
;MMMMMMMMMMMMMMMMMMMMMMMM:       Resolution: 1728x1117
:MMMMMMMMMMMMMMMMMMMMMMMM:       DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX.      WM: Quartz Compositor
 kMMMMMMMMMMMMMMMMMMMMMMMMWd.    WM Theme: Blue (Light)
 .XMMMMMMMMMMMMMMMMMMMMMMMMMMk   Terminal: iTerm2
  .XMMMMMMMMMMMMMMMMMMMMMMMMK.   Terminal Font: Monaco 14
    kMMMMMMMMMMMMMMMMMMMMMMd     CPU: Apple M1 Pro
     ;KMMMMMMMWXXWMMMMMMMk.      GPU: Apple M1 Pro
       .cooc,.    .,coo:.        Memory: 3951MiB / 32768MiB





(base) ➜  ~ screenfetch
zsh: command not found: screenfetch
(base) ➜  ~ brew install screenfetch
Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update!
==> Fetching screenfetch
==> Downloading https://mirrors.bfsu.edu.cn/homebrew-bottles/screenfetch-3.9.1.arm64_monterey.bottle.tar.gz
################################################################################################################# 100.0%
==> Pouring screenfetch-3.9.1.arm64_monterey.bottle.tar.gz
🍺  /opt/homebrew/Cellar/screenfetch/3.9.1: 8 files, 302.2KB
==> Running `brew cleanup screenfetch`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
(base) ➜  ~ screenfetch
awk: can't open file /proc/cpuinfo
 source line number 1
grep: /proc/cpuinfo: No such file or directory
awk: can't open file /proc/cpuinfo
 source line number 1
awk: can't open file /proc/cpuinfo
 source line number 1
grep: /proc/cpuinfo: No such file or directory
awk: can't open file /proc/cpuinfo
 source line number 1
/opt/homebrew/bin/screenfetch: line 1801: free: command not found
/opt/homebrew/bin/screenfetch: line 1803: / 1024 / 1024: syntax error: operand expected (error token is "/ 1024 / 1024")
                                             banana@MacBook-Pro.local
                                             OS: unknown
 UUU     UUU NNN      NNN IIIII XXX     XXXX Kernel: arm64 Darwin 21.6.0
 UUU     UUU NNNN     NNN  III    XX   xXX   Uptime:
 UUU     UUU NNNNN    NNN  III     XX xXX    Packages: Unknown
 UUU     UUU NNN NN   NNN  III      XXXX     Shell: 5413
 UUU     UUU NNN  NN  NNN  III      xXX      Disk:  /  ()
 UUU     UUU NNN   NN NNN  III     xXXXX     CPU: Unknown
 UUU     UUU NNN    NNNNN  III    xXX  XX    RAM:
  UUUuuuUUU  NNN     NNNN  III   xXX    XX
    UUUUU    NNN      NNN IIIII xXXx    xXXx




(base) ➜  ~

Mac版下实现51单片机进行开发的环境搭建

brew环境下安装 sdcc 

brew install sdcc
sdcc -version
(base) ➜  ~ sdcc -version
at 1: warning 152: Only one short option can be specified at a time.  Rest of -version ignored.
SDCC : mcs51/z80/z180/r2k/r2ka/r3ka/sm83/tlcs90/ez80_z80/z80n/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15/mos6502 TD- 4.3.0 #14184 (Mac OS X ppc)
published under GNU General Public License (GPL)

安装CH341驱动

CH341SER_MAC.ZIP - 南京沁恒微电子股份有限公司

 开发板上默认已经集成了usb转串口模块,它上面使用的CH340芯片。但是在CH340官网上面没有找到mac系统的驱动,只找到了CH341版本的mac系统驱动,根据官方文档说明,这个驱动也兼容CH340芯片,所以安装CH341版本的驱动就可以了。

        记得先给安装器隐私权限!!!

 然后将下载好的 zip文件解压打开双击运行目录里面的ch34xInstall.pkg,根据提示一直点击下一步就可以了,最后按照提示重启电脑就可以了。

        接着我们就要确定驱动是否安装成功

将单片机连接到电脑上然后打开终端命令行窗口后执行:

ls /dev/tty.wchusbser*

烧录程序stcgal的安装

需要python环境,可以是anaconda或者是brew下安装

(base) ➜  ~ pip install stcgal
(base) ➜  ~ stcgal -version
(base) ➜  ~ stcgal -version
usage: stcgal [-h] [-e] [-a] [-A {dtr,rts}] [-r RESETCMD]
              [-P {stc89,stc89a,stc12a,stc12b,stc12,stc15a,stc15,stc8,stc8d,stc8g,usb15,auto}] [-p PORT] [-b BAUD]
              [-l HANDSHAKE] [-o OPTION] [-t TRIM] [-D] [-V]
              [code_image] [eeprom_image]
stcgal: error: unrecognized arguments: -version

测试单片机

写一个C程序测试 main.c 

 !!!注意是8052.h 头文件

#include <8052.h> // 引用头文件
 
 
#define ADDR0 P2_0
#define ADDR1 P2_1
#define ADDR2 P2_2
#define ADDR3 P2_3
#define ENLED P2_4
 
 
//========= 延时 ============
void delay_ms(unsigned int s){
 
    unsigned int x;
 
    for(s;s>0;s--){
        x = 98;
        while(x--);
    }
}
 
//================ 主函数 ===================
 
void main(){
 
    unsigned char i;
    
    ENLED = 0;
    ADDR3 = 1;
    ADDR2 = 1;
    ADDR1 = 1;
    ADDR0 = 0;
 
    while(1){ //主循环
    
        P2 = 0xff;
 
        delay_ms(150);
 
        for(i = 0;i<8;i++){
            P2 = P2 <<1;
            delay_ms(150);
        }
 
        P2 = 0xff;
        
        delay_ms(150);
 
        for(i = 0;i<8;i++){
            P2 = P2 >>1;
            delay_ms(150);
        }
    }
}

编译

(base) ➜ sdcc main.c
(base) ➜  ~ ls -lha main*
-rw-r--r--  1 tanhu  staff   9.7K 12 25 07:12 main.asm
-rw-r--r--  1 tanhu  staff   782B 12 25 07:12 main.c
-rw-r--r--  1 tanhu  staff   606B 12 25 07:12 main.ihx
-rw-r--r--  1 tanhu  staff   273B 12 25 07:12 main.lk
-rw-r--r--  1 tanhu  staff    28K 12 25 07:12 main.lst
-rw-r--r--  1 tanhu  staff    18K 12 25 07:12 main.map
-rw-r--r--  1 tanhu  staff   1.1K 12 25 07:12 main.mem
-rw-r--r--  1 tanhu  staff   4.5K 12 25 07:12 main.rel
-rw-r--r--  1 tanhu  staff    28K 12 25 07:12 main.rst
-rw-r--r--  1 tanhu  staff    40K 12 25 07:12 main.sym

写入单片机

(base) ➜  ~ stcgal -P stc89 -p /dev/tty.wchusbserial130 main.ihx
Waiting for MCU, please cycle power: done
Target model:
  Name: STC89C516RD+/LE516RD+
  Magic: F110
  Code flash: 62.0 KB
  EEPROM flash: 0.0 KB
Target frequency: 11.010 MHz
Target BSL version: 4.3C
Target options:
  cpu_6t_enabled=False
  bsl_pindetect_enabled=False
  eeprom_erase_enabled=False
  clock_gain=high
  ale_enabled=True
  xram_enabled=True
  watchdog_por_enabled=False
Loading flash: 213 bytes (Intel HEX)
Switching to 115200 baud: checking setting testing done
Erasing 2 blocks: done
Writing flash: 640 Bytes [00:00, 4297.72 Bytes/s]
Setting options: done
Disconnected!

上面的参数

-P 表示使用的是stc89型号,

-p /dev/tty.wchusbserialfd120 表示usb串口设备号 ,

a.ihx 是刚刚编译好的程序!

a.ihx是文件名,其他的复制粘贴就行

输入

(base) ➜  ~ ls /dev/tty.wchusbser*
/dev/tty.wchusbserial130


就可以看到串口号


出现Waiting for MCU, please cycle power:
开关一下电源键,就OK啦!

(base) ➜  ~ ls /dev/tty.wchusbser*
/dev/tty.wchusbserial130
(base) ➜  ~ stcgal -P stc89 -p /dev/tty.wchusbserial130 main.ihx
Waiting for MCU, please cycle power: done
# 先出现上一行代码 需要你 重启单片机 即先关机在开机 才能刷程序进单片机
# 以下是程序正常刷入单片机的流程
Target model:
  Name: STC89C516RD+/LE516RD+
  Magic: F110
  Code flash: 62.0 KB
  EEPROM flash: 0.0 KB
Target frequency: 11.010 MHz
Target BSL version: 4.3C
Target options:
  cpu_6t_enabled=False
  bsl_pindetect_enabled=False
  eeprom_erase_enabled=False
  clock_gain=high
  ale_enabled=True
  xram_enabled=True
  watchdog_por_enabled=False
Loading flash: 213 bytes (Intel HEX)
Switching to 115200 baud: checking setting testing done
Erasing 2 blocks: done
Writing flash: 640 Bytes [00:00, 4297.72 Bytes/s]
Setting options: done
Disconnected!

重点

使用sdcc编译单片机程序,跟windows下面keil的c代码是有一些差别的,列表如下:

可以看到,这个差别是非常小的。一定要注意不要用错了头文件的引用,不然会报错,要多多注意一下,提高编程的效率。其它的内容,碰到了就注意用对应的语法。

        好了,这就是自己搭建环境过程的所有记录啦!!当然,在这过程我也是有在网上搜索大量的资料阅读并了解喔。哪里不懂搜哪里喔!!!

8051头文件 8051.h

/*-------------------------------------------------------------------------
   8051.h: Intel 8051 处理器的寄存器声明
 
   版权所有 (C) 2000,Bela Torok / bela.torok@kssg.ch
 
   本库是自由软件;您可以重新发布或修改它
   遵循由自由软件基金会发布的 GNU 通用公共许可证;
   要么版本 2,或者(如果您选择的话)任何以后的版本。

   本库被分发,希望它会有用,
   但没有任何担保;甚至没有对适销性或特定用途的暗示担保。
   详见 GNU 通用公共许可证获取更多详情。

   您应该已经收到一份 GNU 通用公共许可证的副本
   与本库一同;请参阅 COPYING 文件。如果没有,请写信给
   自由软件基金会,地址:51 Franklin Street,第五层,波士顿,
   MA 02110-1301,美国。

   作为一个特殊的例外,如果您将此库与其他文件链接,
   其中一些是使用 SDCC 编译的,以生成可执行文件,
   本库本身不会导致生成的可执行文件受 GNU 通用公共许可证的覆盖。
   但是,此例外并不使得其他原因导致的可执行文件不受 GNU 通用公共许可证的影响。
-------------------------------------------------------------------------*/
 
#ifndef REG8051_H
#define REG8051_H
 
/*  BYTE 寄存器  */
__sfr __at (0x80) P0   ;
__sfr __at (0x81) SP   ;
__sfr __at (0x82) DPL  ;
__sfr __at (0x83) DPH  ;
__sfr __at (0x87) PCON ;
__sfr __at (0x88) TCON ;
__sfr __at (0x89) TMOD ;
__sfr __at (0x8A) TL0  ;
__sfr __at (0x8B) TL1  ;
__sfr __at (0x8C) TH0  ;
__sfr __at (0x8D) TH1  ;
__sfr __at (0x90) P1   ;
__sfr __at (0x98) SCON ;
__sfr __at (0x99) SBUF ;
__sfr __at (0xA0) P2   ;
__sfr __at (0xA8) IE   ;
__sfr __at (0xB0) P3   ;
__sfr __at (0xB8) IP   ;
__sfr __at (0xD0) PSW  ;
__sfr __at (0xE0) ACC  ;
__sfr __at (0xF0) B    ;
 
 
/*  BIT 寄存器  */
/* P0 */
__sbit __at (0x80) P0_0 ;
__sbit __at (0x81) P0_1 ;
__sbit __at (0x82) P0_2 ;
__sbit __at (0x83) P0_3 ;
__sbit __at (0x84) P0_4 ;
__sbit __at (0x85) P0_5 ;
__sbit __at (0x86) P0_6 ;
__sbit __at (0x87) P0_7 ;
 
/*  TCON  */
__sbit __at (0x88) IT0  ;
__sbit __at (0x89) IE0  ;
__sbit __at (0x8A) IT1  ;
__sbit __at (0x8B) IE1  ;
__sbit __at (0x8C) TR0  ;
__sbit __at (0x8D) TF0  ;
__sbit __at (0x8E) TR1  ;
__sbit __at (0x8F) TF1  ;
 
/* P1 */
__sbit __at (0x90) P1_0 ;
__sbit __at (0x91) P1_1 ;
__sbit __at (0x92) P1_2 ;
__sbit __at (0x93) P1_3 ;
__sbit __at (0x94) P1_4 ;
__sbit __at (0x95) P1_5 ;
__sbit __at (0x96) P1_6 ;
__sbit __at (0x97) P1_7 ;
 
/*  SCON  */
__sbit __at (0x98) RI   ;
__sbit __at (0x99) TI   ;
__sbit __at (0x9A) RB8  ;
__sbit __at (0x9B) TB8  ;
__sbit __at (0x9C) REN  ;
__sbit __at (0x9D) SM2  ;
__sbit __at (0x9E) SM1  ;
__sbit __at (0x9F) SM0  ;
 
/* P2 */
__sbit __at (0xA0) P2_0 ;
__sbit __at (0xA1) P2_1 ;
__sbit __at (0xA2) P2_2 ;
__sbit __at (0xA3) P2_3 ;
__sbit __at (0xA4) P2_4 ;
__sbit __at (0xA5) P2_5 ;
__sbit __at (0xA6) P2_6 ;
__sbit __at (0xA7) P2_7 ;
 
/*  IE   */
__sbit __at (0xA8) EX0  ;
__sbit __at (0xA9) ET0  ;
__sbit __at (0xAA) EX1  ;
__sbit __at (0xAB) ET1  ;
__sbit __at (0xAC) ES   ;
__sbit __at (0xAF) EA   ;
 
/*  P3  */
__sbit __at (0xB0) P3_0 ;
__sbit __at (0xB1) P3_1 ;
__sbit __at (0xB2) P3_2 ;
__sbit __at (0xB3) P3_3 ;
__sbit __at (0xB4) P3_4 ;
__sbit __at (0xB5) P3_5 ;
__sbit __at (0xB6)

8052头文件 8052.h

/*-------------------------------------------------------------------------
   8052.h: Intel 8052 处理器的寄存器声明
 
   版权所有 (C) 2000,Bela Torok / bela.torok@kssg.ch
 
   本库是自由软件;您可以重新发布或修改它
   遵循由自由软件基金会发布的 GNU 通用公共许可证;
   要么版本 2,或者(如果您选择的话)任何以后的版本。

   本库被分发,希望它会有用,
   但没有任何担保;甚至没有对适销性或特定用途的暗示担保。
   详见 GNU 通用公共许可证获取更多详情。

   您应该已经收到一份 GNU 通用公共许可证的副本
   与本库一同;请参阅 COPYING 文件。如果没有,请写信给
   自由软件基金会,地址:51 Franklin Street,第五层,波士顿,
   MA 02110-1301,美国。

   作为一个特殊的例外,如果您将此库与其他文件链接,
   其中一些是使用 SDCC 编译的,以生成可执行文件,
   本库本身不会导致生成的可执行文件受 GNU 通用公共许可证的覆盖。
   但是,此例外并不使得其他原因导致的可执行文件不受 GNU 通用公共许可证的影响。
-------------------------------------------------------------------------*/
 
#ifndef REG8052_H
#define REG8052_H
 
#include <8051.h>     /* 载入 8051 核心的定义 */
 
#ifdef REG8051_H
#undef REG8051_H
#endif
 
/* 仅定义 8052 特定的寄存器 */
 
/* T2CON 寄存器 */
__sfr __at (0xC8) T2CON ;
 
/* RCAP2 L & H 寄存器 */
__sfr __at (0xCA) RCAP2L  ;
__sfr __at (0xCB) RCAP2H  ;
__sfr __at (0xCC) TL2     ;
__sfr __at (0xCD) TH2     ;
 
/*  IE 寄存器  */
__sbit __at (0xAD) ET2    ; /* 使能定时器2中断 */
 
/*  IP 寄存器  */
__sbit __at (0xBD) PT2    ; /* T2 中断优先级位 */
 
/* T2CON 寄存器位定义 */
__sbit __at (0xC8) T2CON_0 ;
__sbit __at (0xC9) T2CON_1 ;
__sbit __at (0xCA) T2CON_2 ;
__sbit __at (0xCB) T2CON_3 ;
__sbit __at (0xCC) T2CON_4 ;
__sbit __at (0xCD) T2CON_5 ;
__sbit __at (0xCE) T2CON_6 ;
__sbit __at (0xCF) T2CON_7 ;
 
__sbit __at (0xC8) CP_RL2  ;
__sbit __at (0xC9) C_T2    ;
__sbit __at (0xCA) TR2     ;
__sbit __at (0xCB) EXEN2   ;
__sbit __at (0xCC) TCLK    ;
__sbit __at (0xCD) RCLK    ;
__sbit __at (0xCE) EXF2    ;
__sbit __at (0xCF) TF2     ;
 
#endif

PyTorch 中 选择指定的 GPU 

PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。

有如下两种方法来指定需要使用的GPU。

1. 类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。

1.1 直接终端中设定:

CUDA_VISIBLE_DEVICES=1 python main.py


1.2 python代码中设定:

这里是在主函数入口处设置

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"


2. 使用函数 set_device

import torch
torch.cuda.set_device(id)


 

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux配置zsh,您可以按照以下步骤进行操作: 1. 首先,确保您的系统已经安装了zsh。如果没有,请使用适合您系统的包管理器进行安装。例如,在Ubuntu上,可以运行以下命令安装zsh: ``` sudo apt-get install zsh ``` 2. 安装zsh后,您需要设置zsh为默认的shell。可以使用以下命令将zsh设置为默认shell: ``` chsh -s $(which zsh) ``` 您可能需要输入您的密码来确认更改。 3. 重新登录系统以使更改生效,或者使用以下命令重新加载shell: ``` source ~/.zshrc ``` 4. 现在,您可以通过编辑.zshrc文件来自定义zsh配置。该文件位于您的用户主目录下。使用文本编辑器打开该文件: ``` nano ~/.zshrc ``` 5. 在.zshrc文件中,您可以添加各种配置选项和插件来定制zsh的外观和行为。例如,您可以更改主题、启用自动补全、添加别名等。以下是一些示例配置: - 更改主题:在.zshrc文件中找到`ZSH_THEME`行,并将其设置为您喜欢的主题,例如`ZSH_THEME="agnoster"`。 - 启用自动补全:在.zshrc文件中找到`plugins=(...)`行,并确保其中包含了`zsh-autosuggestions`和`zsh-syntax-highlighting`插件。如果没有,请添加它们。 - 添加别名:在.zshrc文件中找到`aliases`部分,并在其中添加您想要的别名。例如,您可以添加`alias ll="ls -al"`以将`ll`命令映射到`ls -al`。 6. 保存并关闭.zshrc文件后,重新加载配置: ``` source ~/.zshrc ``` 现在,您已经成功配置zsh作为默认的shell,并进行了一些基本的自定义设置。您可以根据个人喜好和需求进一步调整和扩展zsh的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值