关于 Cygwin,之前博文 《Win7下类linux终端环境—Cygwin》 已经介绍。这里介绍下 Cygwin 的一些高级用法。

1. cygwin添加到右键菜单

双击运行 setup-x86_64.exe,勾选 chere 安装包,并进行安装。

安装完成后,使用管理员身份打开 cygwin终端,并执行脚本:

chere -i -t mintty -s bash

此时右键菜单应该有 “Bash Prompt Here” 菜单选项。

为方便右键选择,可添加cygwin图标以及修改描述。使用 regedit 依次打开注册表并编辑。

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cygwin64_bash

最终注册表内容,如下:

HKEY_CLASSES_ROOT\directory\background\shell\cygwin64_bash 
 --修改默认数值内容: 此处打开 cygwin 
 --新增字符串值,名字:ICON,数值数据:D:\ProgramData\cygwin64\Cygwin-Terminal.ico
 
HKEY_CLASSES_ROOT\directory\background\shell\cygwin64_bash\commands
 --默认不修改:D:\ProgramData\cygwin64\bin\mintty.exe -e /bin/xhere /bin/bash.exe "%V"

最终右键菜单样式,如下:

此处打开cygwin此处打开cygwin.png

2. cygwin工具配置

2.1 splint 工具

在 cygwin下安装程序,以 splint 为了,此工具用于代码静态检查。

splint_安装splint_安装.png

splint工具帮助信息输出:

splint_help.pngsplint_help

2.2 GCC 编译器

官网下载 MinGW ,并拷贝到C盘根目录。mingw安装路径

mingw安装路径.png

编辑cygwin用户目录下的,.bashrc 文件,使在cygwin终端中可以通过命令直接调用。

打开 .bashrc 文件:
D:\ProgramData\cygwin64\home\Administrator

# 添加gcc编译工具
export PATH=$PATH:/cygdrive/c/MinGW/bin

重新打开终端,查看GCC版本:

gcc编译链gcc编译链.png

2.3 qemu 模拟器

访问qemu官网直接选择最新版本,下载双击安装即可。笔者安装路径,如下:

D:\ProgramData\qemu

qemu安装路径编辑 .bashrc 文件,增加如下内容:

# 添加qemu
export PATH=$PATH:/cygdrive/d/ProgramData/qemu

重新打开终端,qemu 工具链信息,如下:

qemu支持平台qemu支持平台.png

2.4 gnu-arm 编译器

访问arm官网,下载gnu-arm编译器。截止目前,最新版本为 gcc-arm-none-eabi-10.3-2021.07-win32.zip

以笔者安装目录为例,解压后如下:

gcc-arm安装路径gcc-arm安装路径.png

添加 gnu-arm编译链 、qemu 模拟器,如下:

# 添gcc-arm工具链环境变量
export PATH=$PATH:/cygdrive/d/ProgramData/arm_tools/gcc-arm-none-eabi-10.3-2021.07/bin

重新打开终端,查看 arm-none-eabi 工具链,如下:

arm-none-eabi工具链arm-none-eabi工具链.png

由于 GCC 编译器 已同时包含 mingw32-make 工具,因此可直接查看 make 版本,如下:

make版本make版本.png

2.5 安装 git

双击运行 setup-x86_64.exe,勾选 git 安装包,并进行安装。

安装完成后,打开终端,查看 git 输出信息:

git版本.pnggit版本.png

以 liteos 为例,直接 clone 下载,如下:

git clone https://gitee.com/LiteOS/LiteOS.git

liteos_git源码.png

3. 源码编译

以源码 stm32f030F4P6_gnu.zip 为例,直接cygwin终端中运行命令 mingw32-make ,如下:

arm-gcc编译过程arm-gcc编译过程.png

最终打印信息,如下:

arm-none-eabi-size build/cube_demo.elf
   text    data     bss     dec     hex filename
   2864      20    1572    4456    1168 build/cube_demo.elf
arm-none-eabi-objcopy -O ihex build/cube_demo.elf build/cube_demo.hex
arm-none-eabi-objcopy -O binary -S build/cube_demo.elf build/cube_demo.bin

为了方便make直接调用,可以在目录 C:\MinGW\bin 下,直接将 mingw32-make.exe 复制一份,并重命名为 make.exe ,之后在终端中直接运行 make 来替代 mingw32-make 

注意:本站所有文章除特别说明外,均为原创,转载请务必以超链接方式并注明作者出处。 标签:Cygwin