Open techiall opened 6 years ago
------------------------- 2018.05.09 update -------------------------------------
强烈安利用 Vim ,再加上配置 Makefile ,写起来更方便,保存直接编译成 hex 文件。
Vim
Makefile
hex
AVR 开发环境很简单,老师让我们使用的是 ICC AVR 这个软件,基于 Mega16。
ICC AVR
Mega16
AVR 开发软件链接:AVR开发软件下载
界面如上
个人是觉得这个界面很简单,对于一个强迫症患者来说,颜值第一,再考虑实用性,可惜这个软件,这两点都达不到。
我觉得写代码也要写的舒适一点,为革命保护视力,给 Visual Studio 换颜色 ,这个是之前看的文章。我觉得一个好的编译器配色方案,可以让人写代码更加舒服。
下面介绍如何用 vscode 写 avr 程序并编译成 hex 文件。
vscode
先安装好 ICC AVR ,接着找到 ICC AVR 安装路径。打开 bin 文件夹,复制该文件夹的路径。
bin
假设路径为 D:\iccv7avr\bin
其实和配置 Java 和 Python 环境变量差不多。
电脑(右键) - 属性 - 高级系统设置 - 环境变量 - 系统变量 - Path - 新建 - 粘贴 bin 路径 - 保存 - 退出。
打开 cmd ,输入 imakew ,若出现以下信息则说明配置成功。
cmd
imakew
D:\iccv7avr\bin\imakew.exe: Can't open makefile
安装 vscode 的过程就省了,官网就可以下载安装即可。
新建一个文件夹,名字任意。
vscode 打开该文件夹。
接着创建三个文档。
main.o
CC = iccavr LIB = ilibw CFLAGS = -e -D__ICC_VERSION=722 -DATMega16 -l -g -MLongJump -MHasMul -MEnhanced -Wf-const_is_flash -DCONST="" ASFLAGS = $(CFLAGS) LFLAGS = -g -e:0x4000 -ucrtatmega.o -bfunc_lit:0x54.0x4000 -dram_end:0x45f -bdata:0x60.0x45f -dhwstk_size:16 -beeprom:0.512 -fihx_coff -S2 FILES = main.o FIRST: $(FILES) $(CC) -o FIRST $(LFLAGS) @FIRST.lk -lcatm128 main.o: D:\iccv7avr\include\iom16v.h D:\iccv7avr\include\macros.h D:\iccv7avr\include\AVRdef.h main.o: main.c $(CC) -c $(CFLAGS) main.c
D:\iccv7avr\include\iom16v.h D:\iccv7avr\include\macros.h D:\iccv7avr\include\AVRdef.h 这个 include 的路径要修改成安装 avr 的目录。 该文件为什么要这样子配置,前半部分是单片机的一些配置,后半部分类似 Makefile ,有兴趣可以去了解一下。
include
/* imakew -f FIRST.mak */ #include <iom16v.h> #include <macros.h> int main(void) { return 0; }
按下 ctrl + ` 快捷键,打开终端,或者从 vscode 界面下方拉起。
在该文件夹的目录下,输入以下命令 imakew -f FIRST.mak ,即可编译成功。成功编译的截图如下
imakew -f FIRST.mak
回到项目工程的文件夹,会发现生成了一下其他的文件,其中就包括了后缀名为 hex 的文件。
修改 main.c 文件的内容,保存后使用刚才的编译命令即可编译生成新的文件。其实这个过程和用 Java 写代码,然后用命令行编译 Java 过程类似。
为啥用链接头文件库?因为强迫症,头文件下方有波浪线,受不了。
把鼠标放到头文件处,如下图。
点击 Edit "includePath" setting ,弹出配置文件,,找到 name: "Win32" ,如下图。 在 includepath 的最后面添加 ivvavr 的 include 文件夹,记得配置好了之后记得保存。
Edit "includePath" setting
includepath
ivvavr
假设路径为 E:/7/dpj/include
最后一个建议,开启 vscode 的自动保存功能。这样子就不需要每一次写完就 Ctrl + S 。那只要写完之后,在下方的 shell 编译成 hex 即可。(很容易没保存,然后生成的 hex 文件和上一次一样。
Ctrl + S
开启方法: 文件 - 自动保存
这样子就链接到了 avr 的头文件库了。这样子就可以在 vscode 愉快的写 avr 代码。
vscode and vcc 对比图
您好,很感谢您的教程!我们学校也要求我们使用ICCAVR开发mega16,同样迫于颜值转而想要使用VScode开发mega16,按照您的教程已经完成使用VScode生成hex文件,但是我想问ICCAVR导入已写的库文件如何实现?(比如#include pwm.h,需要修改.lk,.mak文件)
------------------------- 2018.05.09 update -------------------------------------
强烈安利用
Vim
,再加上配置Makefile
,写起来更方便,保存直接编译成hex
文件。------------------------- 2018.05.09 update -------------------------------------
前言废话
AVR 开发环境很简单,老师让我们使用的是
ICC AVR
这个软件,基于Mega16
。AVR 开发软件链接:AVR开发软件下载
界面如上
个人是觉得这个界面很简单,对于一个强迫症患者来说,颜值第一,再考虑实用性,可惜这个软件,这两点都达不到。
我觉得写代码也要写的舒适一点,为革命保护视力,给 Visual Studio 换颜色 ,这个是之前看的文章。我觉得一个好的编译器配色方案,可以让人写代码更加舒服。
下面介绍如何用
vscode
写 avr 程序并编译成hex
文件。一、配置 ICC AVR 环境变量
先安装好
ICC AVR
,接着找到ICC AVR
安装路径。打开bin
文件夹,复制该文件夹的路径。其实和配置 Java 和 Python 环境变量差不多。
电脑(右键) - 属性 - 高级系统设置 - 环境变量 - 系统变量 - Path - 新建 - 粘贴
bin
路径 - 保存 - 退出。打开
cmd
,输入imakew
,若出现以下信息则说明配置成功。二、打开 vscode 写代码并编译
安装
vscode
的过程就省了,官网就可以下载安装即可。新建一个文件夹,名字任意。
vscode 打开该文件夹。
接着创建三个文档。
按下 ctrl + ` 快捷键,打开终端,或者从 vscode 界面下方拉起。
在该文件夹的目录下,输入以下命令
imakew -f FIRST.mak
,即可编译成功。成功编译的截图如下回到项目工程的文件夹,会发现生成了一下其他的文件,其中就包括了后缀名为 hex 的文件。
修改 main.c 文件的内容,保存后使用刚才的编译命令即可编译生成新的文件。其实这个过程和用 Java 写代码,然后用命令行编译 Java 过程类似。
三、链接到 avr 头文件库
为啥用链接头文件库?因为强迫症,头文件下方有波浪线,受不了。
把鼠标放到头文件处,如下图。
点击
Edit "includePath" setting
,弹出配置文件,,找到 name: "Win32" ,如下图。 在includepath
的最后面添加ivvavr
的 include 文件夹,记得配置好了之后记得保存。最后一个建议,开启 vscode 的自动保存功能。这样子就不需要每一次写完就
Ctrl + S
。那只要写完之后,在下方的 shell 编译成 hex 即可。(很容易没保存,然后生成的 hex 文件和上一次一样。这样子就链接到了 avr 的头文件库了。这样子就可以在 vscode 愉快的写 avr 代码。
vscode and vcc 对比图