- 回答:
你可以在h'0000 到 h'03FF的范围内使用。由于“the_io type modifier”变量要参考直接地址处理,生成的编码小于正常变量参考值。
似乎FR的C编译器用同样的方法来处理"char"类型、signed "char"类型。实际上,它们之间有区别吗?
- 回答:
从语法角度而言,“char”类型被划分为有符号的“char”和无符号的“char”类型。在编程的时候,如果C编译器将“char”作为有符号的, "char"类型就是有符号的"char"类型;如果操作“char”作为无符号类型,"char"类型就是无符号类型。在默认的情况下,富士通的编译器把它作为无符号的"char"类型处理。你可以通过使用选项(-K SCHAR/UCHAE)来改变类型。
定义初始变量的时候,是否有必要用启动程序(startup.asm)把初始值区域的ROM区传输到RAM区?
- 回答:
在用 C编译器进行程序开发时,有初始值的变量被生成,并不断执行重写变量的处理。有初始值的变量位于ROM中,但是变量将在执行中被重写。因此,它们在应用执行时位于ROM中。因此,在应用执行之前会传输初始值到RAM。
告诉我们如何来确定Softune的每个工具的版本
- 回答:
如果仅要确定Workbench的版本,使用HELP版本信息。
如果要确定每个工具的版本,使用"Ctrl + Alt + Shift + A"。
我们想使用V5版本的编译器,但是其他部分是使用V6版本
- 回答:
在下列步骤中可以被支持(不是官方推荐的):
步骤1:安装V6版部件,除了编译器
步骤2:安装V5版编译器
步骤3:此时,步骤1和2的安装文件夹应该是同一个文件夹
当我们确定C编译器中生成的程序运行时,控制程序转入到函数中,但是没有从该函数中返回。这是为什么?(针对:MB91350A系列)
- 回答:
MB91350有两个寄存器来设置RAM区。由于数据RAM限制控制寄存器(DRLR)和指令RAM控制寄存器(FRLR)的初始设置仅允许使用4千字节区域,有必要用启动程序中的设置,把它扩展到8千字节或16千字节。由于区域规定的STACK区无效,正确的STACK值不能被存储。从功能处返回。用定义声明来确定IO_DRLR 和 IO_FRLR的地址。
当我们执行build,出现错误指出"fr.h"文件不能打开。为什么?
- 回答:
I/O头文件的包含路径可能不正确。从[Project]和 [Project Setup]选择的[C/C++ compiler]上的类别项,选择“Include path”并确定路径设置。
在使用Softune调试时虽然按下复位键,程序没有跳到复位向量地址,这是为什么?向量地址和模式数据值没有被正确设置。
- 回答:
由于目标文件可能没有被载入,模式数据可能没有被设置。在装载目标文件后,先确保模式数据被设置。
怎么设置来监控RAM中的值?
- 回答:
在选择[View]然后[Real-time Memory],确定要监控的地址来实现监控。
对MB91360系列来说,在用工具进行闪速装载之后,看上去地址50000的主程序和引导装载程序互相交迭(针对:MB91360系列)
- 回答:
你设置了ROM1的连接器的内存分配的自动连接,是吗?这样的话,删除ROM1的连接器的内存分配来控制该情况。
Softune Workbench的[Project Setup]、[MCU Setup]和[Bus Mode]的设置是什么意思?
- 回答:
总线模式是当调试器操作存储器时的“禁止对访问禁止区域的存取功能”。当“1禁止”被选择时,存取区的抑制检查不能执行。当“2单芯片模式” 、“3内部ROM外部总线模式”或“4禁止外部ROM外部总线模式”被选择时,与存储区符合的存取区的检查功能被应用(针对的大规模集成电路是有FR30内核和产品)。
对MAP文件的控制(S)而言,"@-ro ROM=xxxx @-ra RAM=xxx" 和 后半部分的"-ro _ROM_1=xxx -ra _RAM_1=xxx"的设置交迭了。这会有什么问题吗?
- 回答:
MAP文件的控制(S)的后半部分"-ro _ROM_1=xxx -ra _RAM_1=xxx"基于CPU信息文件被连接器自动输出。当内存映射没有在连接器设置中规定时,这种内容无效。当"@-ro ROM=xxxx @-ra RAM=xxx"之前被设置过,设置有效。输出后半部分"-ro _ROM_1=xxx -ra _RAM_1=xxx," 可以用连接器禁止选项(-Xset_rora)来禁止。
当Softune编译器没有执行宏定义时,有什么方法可以输出警告?
- 回答:
当"#if"命令公式被评估时,没有被"#define"宏替代的识别器在公式评估前用"0"替代。这符合ANSI规定。使用"#error",你会发现其没有定义
例子:
#if A!=0
for(I=1;I<100;I++);
#else
#error A is not defined
#endif
MB2198-01的LAN设置
- 回答:
参阅附件C,Softune手册所附的Softune Workbench中的“LAN设置”。
当PC串行编程器被使用时,振荡频率的自由度有多大?
- 回答:
±2%。
在MB91360的闪存装载器上,总是会出现注释“Break at 00011042 by hardware breakpoint”(针对:MB91360)
- 回答:
该注释在写入到闪存的每个扇区时出现。没什么问题。等到该注释出现次数和扇区数一样多,等到处理终止。
在设置逐步跟踪陷阱标志后,我们想进行单步执行,但是却出现连续执行。这是不是根据规格而发生的?
- 回答:
当清除逐步执行的逐步跟踪陷阱标志时,注意处理是根据Softune的调试方的说明来连续执行的。
模拟器调试器显示的周期数指的是多少循环周期?
- 回答:
CPU机器时钟算为一周期。
当程序运行到一些函数中时,我们该怎样实现跟踪?
- 回答:
你可以通过使用event/data选项作为触发来进行跟踪。但是,由于它只是事件的启动触发,你需要设置跟踪缓冲器到完全暂停(否则,跟踪会被覆盖)。
我们可以怎样使用目标板上的SRAM来执行ROM模拟?因为它是大规模生产的ROM,一般没有连接WR。但是,如果WR信号被连接到CS0区域的SRAM,会不会有什么问题?
- 回答:
有可能使用目标板上的 SRAM来进行调试。当WR信号没有连接到SRAM,任何程序下载都不能执行。为了把它连接到除CS0之外的区,你需要在下载程序之前设置必要的寄存器。
我们是否可以生成一个Intel HEX格式并在0x300000区运行的程序?
- 回答:
在Intel HEX格式中,被分配到0x100000及以上区域的数据会被舍弃。生成支持地址的Motorola S格式的程序。
.ahx转到.bin 和.mhx 转到.bin生成的文件是一样的吗?
- 回答:
.mhx, (m2ms), .ahx, (m2bs).bin .mhx, (m2ms), .ahx, (m2bs).bin 和
.mhx, (m2bs), .bin制作出同样的二进制文件。
当程序中出现分区,连接器自动从存储库分配"\Softune\LIB\911\lib911.lib"。我们可以规定存储库文件的分配地址吗?
- 回答:
连接器根据地址段分配文件。在编译之前你可以给每个文件规定一个地址段。但就该库存储来说,该地址段已经被确定了,因此你不能规定分配地址。
由于我们用C语言来开发闪存控制程序,程序被优化后,无法完成我们预期的运行。
- 回答:
如果变量被硬件重写(仍然没有用C程序的描述重写),确定该变量不为C编译器优化。就C程序的描述规定而言,在变量定义描述时要求可变修改。因此闪存的硬件顺序标记的要求可变修改。
当附上的“下载程序”被执行到MB91FV360GA的闪存部件,下载要花很长时间(大约五分钟)(针对:MB91FV360GA)
- 回答:
可以在命令行或步骤文件中的“启动调试”后,通过设置内部工作时钟来缩短下载时间。比如,我们有出色纪录,该下载时间通过使用最大内部工作频率(4 MHz × 16)可减少到原来的1/5。
我们想“下载”到MB91FV360GA的闪存部件,但是下拉菜单没有激活(针对:MB91FV360GA)
- 回答:
当合适的MCU名称(该情况下MB91FV360GA)没有被寄存到"flash911.csv"文件就会出现这样的事件。通过更新最新的Softune或根据内存映射额外输入来采取措施。
当"-Kspeed"选项被选中,名为"CODE_4"的区域被自动生成。我们怎样可以禁止这样的情况?
- 回答:
就fcc911s V50L05 (V60L01)及之后而言,"-align"选项被添加。
当"-Kspeed"被确定,该"-align"选项被包括在内生成该区域。为了禁止它,额外规定"-Xalign"选项。
在富士通评估板MB91906EB上,我们不能把程序写入到从0xA0000到0x19FFFF的区域。为什么?(针对:MB91150系列)
- 回答:
MB91150系列只支持内部ROM外部总线模式和单芯片模式。
在各情况中,地址0xA0000 到 0xFFFFF可以在内部ROM中看见。因此MB91906EB上的闪存可以使用0x100000 到0x19FFFF.。
为了使用它们,确保即使你已经改变了设置总线的寄存器,仍然可以存取以上地址,因为电路板上的闪存地址是固定的。
当用富士通C编译器来编译C源时,出现错误“Nested comment is not allowed”。我们该怎么做?
- 回答:
JIS说明书中规定“字符‘/*’代表注释的开头,检查注释内容,来识别多字节字符,搜索代表注释结尾的字符‘/*’”。富士通C编译器的语言也规定不允许注释嵌套(/*归类注释*/)。
告诉我们如何用V6版编译器来禁止额外功能?
- 回答:
就每个额外功能而言,添加/禁止新功能的命令选项都是有的。如需详细信息,请参阅随附CD-ROM中的自述文件。
我们使用富士通评估板,并即将使用富士通PC编程器来给内置闪存的单片机编程。我们应该使用PC的什么电缆,直通的还是交叉式电缆?(针对:MB91350A系列)
- 回答:
为使用富士通的评估板,需使用交叉式电缆。确保把DIP SW1的No. 5设置到“开”(下),或者SIN3引脚的信号不被传输。就PC编程器而言,把PN0/PPG0 和 PN2/PPG2设置为“L”。
转自:http://www.fujitsu.com/cn/fss/mcu/faq/fr_tool.html