D001-开发工具-AVR Studio 环境配置

开发环境:AVR Studio 4.19 + avr-toolchain-installer-3.4.1.1195-win32.win32.x86


一、 编译连接类

1、 使用-Os级别的优化(执行所有优化,但不增加代码尺寸)

D001-开发工具-AVR Studio 环境配置_第1张图片


二、 编辑类

1、 退出工程时自动保存、工程中的文件只显示文件名:

D001-开发工具-AVR Studio 环境配置_第2张图片

2、 将1个tab输入替换成4个空格:


3、 设置字体格式、解决中文乱码

2016.10.16遇到一个问题:

1、将notepad++的内容复制到avr studio,发现中文乱码;

2、反过来从avr studio复制到notepad++,也是乱码。

于是将默认字体、从Courier改为新宋体,问题解决:

D001-开发工具-AVR Studio 环境配置_第3张图片    D001-开发工具-AVR Studio 环境配置_第4张图片


三、 Debug类

1、 watch窗口能显示的局部变量

一直认为局部变量都是使用寄存器来实现、也没想过寄存器是否够用。

今天Debug时发现有一类局部变量可以在watch窗口里面看到它的数值、即地址空间在RAM的局部变量。

如下图:局部变量eventRAM空间(鼠标放在变量上、会显示变量类型和地址空间),可以在watch窗口看到它的数值

             而msg_index是寄存器(鼠标放上去无任何显示),在watch窗口里不可见。

D001-开发工具-AVR Studio 环境配置_第5张图片

2、 watch窗口的变量值不更新或显示错误

遇到过好几次,在执行了赋值语句后、watch窗口中的变量值不更新,或者莫名其妙的自己更新。

后来发现,先把变量从watch窗口删除,再把变量重新拖到watch窗口,变量值就正常了。

这应该是由于代码修改之后、这些变量的地址有变化,而watch窗口里面的变量还对应着之前地址。

换句话说,watch窗口是以地址来区分变量,而不是符号/变量名/label

因此、如果代码有更新最好对一下watch窗口中的变量的地址,是否和代码中的一致(鼠标放在变量上、就会显示变量的类型和地址)。


你可能感兴趣的:(优化,环境配置,Studio,avr)