第2节 开发环境设置
推荐给好友
打印
加入收藏
更新于2008-08-24 09:22:38

在project 菜单中选择setup project 选项,选择之后会出现如图6-2 所示

可以看到setup project 主要由general, MCU, C compiler, Assembler, Linker, Librarian, Converter, Debug 这几个选项框组成,而其中读者主要要注意的选项框有3 个,分别是MCU, C compiler, Linker 。


6.2.1 MCU 配置

MCU 选项框主要用来选择读者实际使用的MCU 芯片型号,使用者只需要在对应的Target MCU 下面的下拉菜单中选择所用的芯片型号即可。由于使用的软件softune V3 是一款向下兼容的软件,因此拥有8L 系列富士通公司的芯片也可以用此软件进行编程。在图6-3 中,可以选择实际要使用的芯片型号即可


6.2.2 C compiler 配置


C compiler 选项卡主要是用来对用户接下来进行C 编译所作的一个初始的规定。其中,Category 选项框主要是设置在编译时的一些语言习惯,编译优先级,包含的路径,宏定义以及是否现实Debug 信息等。

其中,编译优先级和编译的语言习惯是我们需要注意的。在选择框中选择编译优先级,可以看到如图6-5 的界面:

要注意的是由于用户使用softune V3 上时,在默认编程优先级别可能会自动设置成速度优先,即:Speed Priority 。从而导致一些系统认定速度级别较低的代码,如延时程序等无法被编译。此外,Size Priority 则可能在一些大的堆栈的设置下起作用进而导致部分代码无法被编译。因此,这里我们建议读者将这里的编译优先级统一设定为None ,这样就不会对你的编程造成一些意想不到的影响。
这里我们用一段程序来说明Speed Priority 对实际应用的影响。

上面的这段程序中,用黑色所表示的是笔者编写的源代码,而蓝色字体表示的是软件对所写的进行一个汇编的翻译,前面的箭头和圆圈表示设置断点的位置。对于那些编程熟练的读者可以比较容易的发现,在速度优先的情况,delay 子程序居然没有进行任何编译,或者准确的说是for 循环语句并没有进行任何编译,当然也无法设置断点。而当速度优先级设置为none 时,有下面可以看到delay 的子程序进行了编译,当然相应的断点也可以设置。在普通的编译报错里面,是完全不会提示读者的。因此,读者在初始设置时务必要小心这些隐藏的陷阱。

在设定完编译优先级之后,我们再来看下编译语言分析的设置:Language 。这里我们首先看一段报错提示:

当你看到这段报错提示,不要以为就一定是你的代码出现了语法错误。其实还有可能是因为在语言分析这一栏中你没有将最下一行的方框打上勾,更需要提醒的是如果为默认设置的话,软件将不会对下面一行勾上。那么语言分析的最下面一栏究竟是什么,其实仔细一看就可以明白,如图6-6。它是问使用者是否将’//’之后的语句看成是注释语句。勾上表示是,不勾则依然当作普通的主程序语句处理。所以如果使用类似的注释语句而又没有在编译语言习惯中设定的,那么Softune V3 会把有//之后的语句也当作程序进行编译,当然就会报错了。


6.2.3 Linker 的配置


如果你前面都已经设置正确,那么要留意的最后一个问题就是对选项框Linker 的设置,Linker 中的Category 有很多选项,我们要注意的主要由两个。第一个是Disposition/Connection 选项,第二个是Register Bank。选择Disposition/Connection 选项,可以进入图6-7 的界面,默认模式为mode 2 

 

这里需要在区域名中分别添加如图6-7 中的@INIT 和@DIRINIT 并在内容类型中分别选择Const 和Dirconst ,或者全部选择Data 类型,然后依次点Set 添加入下面区域名表即可。这主要是由于在常用的start8FX.asm 文件中,当初始化时,有部分代码被放在了ROM 区的INIT 和DIRINIT 里面。如果没有对区域进行设置,而又使用了start8FX.asm 文件,在编译时会报错提示,说在初始化中没有对应的区域。
由于编写的任何代码都要有存放的空间,因而还必须要在Register Bank 选项中为其设定一个堆栈来装载这些代码。在通常的默认情况下,软件会设定寄存器堆栈表设定堆栈0 来装载这些代码。这样的设定对于一般的程序而言已经足够,当然如果有特殊要求或者要座大型的工程也可以按读者的需要自行设定更多的堆栈。

 

上一节                    下一节

相关链接


 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.