[资料] F2MC-16LX 系列常见问题 工具
1221 查看
15 回复
 楼主 | 发布于 2019-07-28 | 只看楼主
分享到:
(INTVECT)警告“the vector section is placed outside the RAM or IO area”被输出。
  • 回答:
    这是因为fcc的#pragma 中断向量表输出的INTVECT节类型是DATA。用文件中#pragma规范(#pragma section INTVECT, attr=CODE)或选项规范(-s INTVECT=INTVECT, CONST)改变段属性。

 

警告“no external symbol is defined”被输出。
  • 回答:
    定义输入/输出寄存器变量。把C:\Softune\lib\907\include\sample 下包括文件中存在的-.c加给成员。

 

在C语言中, “//”开头的语句不作为注释。
  • 回答:
    从菜单中选择[Set Project],再从[Set Project]的[C Compiler]选择[Language Specification]类型,然后核查检查框是否有指示: 在“//”后的部分是用C源代码注释。

 

为什么在C语言编译时,会出现"E4062C: Syntax error: Near `/'"的错误。
  • 回答:
    这个问题和C编译器的语言规格的设置有关。选择Softune的“Set Project”,“CCompiler”和“Language Specification”后, 检查“Set Project”选项中的“Handle the portion after // in the C source as comment”。

 

在使用ICE时,似乎看门狗是无效的。我该如何验证看门狗,使其有效?
  • 回答:
    在调试时,看门狗的初始设置为无效。要使看门狗有效,启动调试器,选择菜单中的[Environment], [Set Debug Environment]和[Debug Environment],然后在<Chip>中将看门狗设为有效。

 

可重定位文件.rel 和库文件.lib之间有什么区别?
  • 回答:
    可重定位文件.rel是通过连接两或三个没有地址解析的目标模块而获得的文件。它可以重新定位和连接器连接,从而减少连接处理中规定的输出文件数目。
    而库文件.lib是一种将两个或两个以上目标模块组合在一起的文件。和可重定位文件不同的是,它的每个模块都是独立寄存的。当先生成的库文件中其它程序使用过的通用模块被寄存,模块可以很容易得被应用到其它程序中。库文件可以被添加、寄存、删除、或替换。一旦模块被改变,只有改变了的模块可以被替换。
    另一方面,就可重定位文件而言,当内部模块改变后,改变了的模块就不能被替换。

 

代码链接器如何连接.lib和.rel模块? 连接方式有什么区别?
  • 回答:
    链接器首先从目标文件上获取信息,.obj 和 .rel寄存在工程中。当模块信息不足时,链接器会搜索库文件寻找模块,以获取需要的模块信息。只有需要的模块才会链接到.lib文件。然而,所有的模块都和.rel文件链接。

 

我在连接.lib模块和.abs时,为什么会有以下错误信息输出?E4369L:Invalid module:conflict compile model。
  • 回答:
    生成库文件.lib的工程编译模式和.abs工程的编译模式不同。库文件工程的编译模式设置为“小”,.abs工程的编译模式被设置为“中”。将它们的编译模式规格进行匹配。

 

在什么地方设置“automatic load after make/build”的功能?
  • 回答:
    设置的地方是“project”中的“basic setting”中的“debug”选项。

 

I/O和RAM 区无法被监测。
  • 回答:
    镜像区需要被设置。在“Environment”下“Memory Map”中的“Add Mirror”中,添加要被检测的区域作为镜像区域,然后设定复制。

 

在Motorola S格式文件的空区域嵌入数据FFH。
  • 回答:
    你可以使用S格式调节器来实现该功能。如需详细资料,请参阅Softune联接工具手册。

 

我想通过使用连接器的地址自动分配功能 ,来自动分配向量区。
  • 回答:
    向量区不能自动分配。要进行这种地址分配,必须使用绝对地址段来设置。

 

请教如何在管理结构成员中提供零空间。
  • 回答:
    如果“-pack”选项已经规定了,在管理结构或集合成员时,不提供任何空间。"-Xpack" 取消"-pack." 默认状态下,使用"-Xpack"。

 

教我如何在RAM目标区被排除优化时给可变类型的过滤器设编码。
  • 回答:
    • 无指示器编码。
      即使可变类型的滤波器在任何地方被规定,也不会有任何问题。
      编码实例)可变寄存器无符号 int addrRAM ;
    • 用指示器编码。
      1. 当指示器自身为可变型时,在指示器后描述可变类型滤波器。
        编码实例)寄存器无符号 int * 可变类型 addrRAM。
      2. 当指示器提到的存储器为可变类型,在指示器之前描述可变类型过滤器。
        描述实例)寄存器无符号 int * 可变类型 addrRAM;

 

我想了解在执行”MULU”或 “DIVU”指令时,运行数据设置为”0”时获取的结果。
  • 回答:
    • 在执行”MULU”指令,一边或两边的运行数据设置为“0”时,结果为”0”。(举例0乘以2),这不会导致任何问题。
    • 在执行”DIVU”指令,除数为“0”时,结果没有定义(举例2除以0)。如果被除数是”0”(举例: 0除以2), 不会有问题,因为结果是“0”。

 

在地址段排列格式中ALIGN的意义?
  • 回答:
    “ALIGN”设置了SECTION起始地址的边界。ALIGN值是两进制的数值。设置例子如下所列。
    • 在xxxxx00b地址,SECTION AAA, DATA, ALIGN=4 AAA作为起始地址。
    • 在xxxx000b地址,SECTION BBB, DATA, ALIGN=8 BBB作为起始地址。

 

什么HEX数据可以被Softune输出?
  • 回答:
    支持的输出文件格式如下:
    • Intel HEX格式
      地址0到0xFFFF的数据被转换。
    • 延伸Intel HEX格式
      地址0到0xFFFFF的数据被转换。
    • Motorola S-格式
      o 地址0到0xFFFFFFFF的数据被转换。

 

C语言编译导致输出的._LINE 的含义是什么?
  • 回答:
    ._LINE *1,*2是调试信息。*1表明文件号,*2表明C 源的行号。你可以用._FILE of the .lst file确认文件号。

 

@-ro ROM=xxxx @-ra RAM=xxx设置和MAP文件控制(S)下半部分-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)所抑制。

 

CODE 字节大小超过了64KB,造成了错误出现。错误信息:*** E4363L:超过节最大值(CODE)
  • 回答:
    当CODE 字节大小超过了64KB, 你需要区分C源文件CODE字节的名称。如下改变定义区(字节)的名称:
    例1: 改变字节名。
    #pragma section CODE=prog1
    例 2: 改变字节名、规定字节排列。
    #pragma section CODE=prog2, locate=0xFF0000
    *警告: 一个文件被赋以一个定义区(同一字节)名称。要定义某定义区两个或两个以上名称(例子:CODE 属性),你需要区分文件。
    无效描述实例: 在同样的C源头文中。
    #pragma section CODE=prog1
    :
    #pragma section CODE=prog2
    :

 

教我在使用dir或io字节时,如果不描述源头操作数的地址描述符,如何建立汇编程序测定。以编码地址描述符:mov  S:label,#imm8为例子
  • 回答:
    在现有情况下,汇编程序只有通过确定地址描述符才可以进入直接区域。

 

目前,我生成并使用的文件是包括在汇编程序源和C源中。当我在这些文件中进行汇编程序宏编码时,编译器出现错误。我能否不使用这种文件?
  • 回答:
    在读取C源汇编程序的宏定义时,你需要按照以下程序步骤:
    1. 将以下控制命令添加到C源编译器的任意字元串规格中:
      -Ta,-Ic:\softune
      *c:\softune是包含 port.h.的地方。
    2. 包括以下 C源的文件:
      pragma asm
      #include "PROT.H"
      mFRONT_power_ON
      pragma endasm.

 

我想在RAM上执行C程序的功能。教我如何在ROM的RAM上执行这些编码。
  • 回答:
    连接器的选项规范中有"-sc"选项。比如:首先,给即将在RAM上执行的功能命名。#pragma section FAR_CODE=new1。
    然后,用连接器的"-sc"选项规范规定如下:-sc new1=0x1000,@new1=0xff1000 。

我想在RAM上执行C程序的功能。教我如何在ROM的RAM上转移这些编码。

  • 回答:
    把程序从ROM移动到RAMT
    ;------------------------------------
    ; Program ROM → RAM
    ;------------------------------------
    .global _RAM_new1
    .global _ROM_new1
    MOVN A, #0
    MOV DTB, A
    MOV A, #0xFF
    MOV ADB, A
    MOVW A, #SIZEOF(new1) ;; Transfer size
    MOVW RW0, A
    MOVW A, #_RAM_new1 ;; RAM address
    MOVW A, #_ROM_new1 ;; ROM address
    MOVS DTB, ADB

 

当我使用固定地址来说明可变符号,他们是以源码顺序的反序排列。教我如何按照源码顺序来排列它们?
  • 回答:
    有一个选项(反序-verorder),可以将静态变量的存储顺序改成源编码顺序。
    如要设置该选项,请选择[设置工程],[C语言编译器]和[语言规范]类别,检查“将静态变量的存储顺序改成源编码顺序”一项前的检查框。

 

当跃迁到伪监视式(时基定时器模式)或监视模式,器件上的发光二极管(LED)会怎么样?
  • 回答:
    当跃迁到伪监视式(时基定时器模式)或监视模式,“停止发光二极管”会出现。在伪监视式模式中,主时钟和分时钟的振荡持续。但是,在时钟模式中,主时钟的振荡停止。在停止模式中,由于主时钟和分时钟的振荡停止,你需要确认一下振荡状态。

 

当用工具进行软件评估时子程序从主程序中被呼叫,会出现防护存取暂停的情况。
  • 回答:
    内存映射可能和真正器件的存储有所不同。有可能出现的情况之一是连接指令在主程序呼叫中被执行,数据栈区域和真正的器件有所不同。这样的情况下,当你使用start905*.asm时,要使定义栈区域设置在合理的范围内。

 

在输入输出中无法成功存储任何数值。(尤其,在地址100和后来地址中的IO)
  • 回答:
    用不同的方法来编码地址100和之后的输入输出区域的字段。把编码地址100和之后的输入输出区域的字段类型设置为“数据”或“普通”。不要给地址100和之后的输入输出直接地址进行编码(例子:MOV I:CANCT0,#020H)。

 

"POPW RW1,RW2"和"PUSHW RW1,RW2" 导致Softune V3出现错误。
  • 回答:
    对SoftuneV1而言,左栏的编码不会导致任何问题,但对V3而言,需要圆括号,比如"POPW (RW1,RW2)","PUSHW (RW1,RW2)"。

 

FW16.exe不能在英文版Windows XP环境下运行,因为当FW16.exe执行时,就会立刻出现“错误103写文件错误”的信息。而在日文版Windows XP环境下,运行FW16.exe没有任何问题。是不是FW16.exe在英文Windows环境下不能成功运行?
  • 回答:
    该软件不是对Windows XP环境进行评估的。关于这点,本软件的操作环境解释中已经作了说明。 使用本软件已经被评估过的以下环境:
    建议环境:
    个人电脑:FMV 6450TX2
    CPU: 奔腾450MHz
    操作系统:日文、英文Windows 95 OSR2.1 以及之后版本, Windows 98 SE,Windows Me, Windows NT 4.0 SP6 以及之后版本, Windows 2000
    内存: 192 MB
    英文版环境已经确认正常运行。告诉我们您公司使用的环境。
    但是,Dell个人电脑,Dynabook等等也曾经发现过非正常运行。

 

我把开发工具从MB2141A 改为 MB2141B,并要下载一个监控程序到MB2141B,但没有成功。(我使用RS-232电缆)
  • 回答:
    就RS-232C连接而言,MB2141A使用的是9引脚-25引脚直通电缆。但注意MB2141B使用的是9引脚-9引脚交叉电缆。

 

从MB2147-01加入的跟踪文件的时间戳的单位是什么?
  • 回答:
    从MB2147-01加入的跟踪文件的时间戳的单位是ns。解析度为25ns。

 

我想在HEX数据的空余区嵌入特别值。
  • 回答:
    1. 在执行时,设置目标转换器的启动。
      选择Softune V3[工程]和[基本设置],打开“基本设置窗口”。
      在“编译”标签,检查“确定建立连接”和“启动输入模块和转换器”的检查框。
    2. 选择Softune V3[工程]和[定制编译],打开“定制编译”窗口。
    3. 点击“定制编译”窗口左侧“树形浏览”中转换器的“后”,然后设置“定制编译”窗口右侧的每一栏。
      标题栏:任何名称
      执行文件的名称:[softunev3-installation-directory]\bin\M2ms.exe
      选项:
      ((例子) 0x00 在0xff0000 和0xffffff 之间(包括0xff0000 和 0xffffff)空余地址中被填补。生成文件的名称接替ABS文件名称,其扩展名为“AHX”i%xABS\%A.mhx -ran 0xff0000,0xffffff -p 0x00
      执行目录
      %xABS
      其它
      在“定制编译“窗口,检查以下情况:
      • 检查框的“有效性”。
      • 检查框的“输入窗口的使用"。

 

我想在Intel HEX数据的空余区嵌入特别值。
  • 回答:
    我们添加H2HS.exe。

 

当我用软件模拟器校验中断运行时,我不能确认实际机器的预定运行。
  • 回答:
    软件模拟器不能执行实际机器的中断操作的调试 。中断会在特定时间出现,并有特定中断向量号(中断因子生成没有任何连接)。

 

教我如何检查每个SOFTUNE工具版本。
  • 回答:
    你可以检查 “HELP”版本信息中的Workbench。你也用可以用"Ctrl+Alt+Shift+A."来检查每个工具的版本信息。

 

我想要英文版的SOFTUNE。
  • 回答:
    SOFTUNE包括在一张CD中,支持日文和英文版本。当你在日文的Windows操作系统上安装SOTUNE时,日文版的SOFTUNE就启动。当你在英文的Windows操作系统上安装SOTUNE时,英文版的SOFTUNE就启动。你也可以在日文Windows下试运行英文版SOFTUNE。<方法>在Fs907s.exe 后写上-@E,它是SOFTUNE快捷方式中[属性]中选择的[快捷方式]标签的连接终点,然后从快捷方式启动SOFTUNE,设置就已经完成。
    例子:
    C:\Softune\BIN\Fs907s.exe -@E
    但是,由于SOFTUNE在日文版操作系统上运行,其中有部分日文仍然存在。

 

当用工具激活调试器时,有一个存储错误被输出(针对MB90590G 其它大容量存储产品)。
  • 回答:
    可能的原因有:
    1. 功能板使用MB2145-506。(使用 MB2145-507)
    2. 调试器设置的内存映射可能和实际器件的不匹配。

 

在使用MB90387S (1时钟系统)时,我如何设置POD的主板跳线引脚?(引脚对:MB90385S)
  • 回答:
    设置<SW1>3 和<SW1>4 到 "关闭" , <S1>1 和 <S1>2 到 "A-B"
    <SW1>的探头电缆没有连接,但不必要的连接需要切断。

 

在ICE开启时,功能板上的Reset和VCC的发光二集管就启动了,无法取消Reset。
  • 回答:
    这种症状会在仿真器初始化开启时出现。在新购买后,如没有监控装入器,会发出询问。 其它情况:1)当"EML905N"在仿真器中装载,506功能板被使用时,也会出现同样的问题。2)当“"EML905N"在仿真器中装载,507功能板被使用时,VCC和EXE的LEDs会启动,进入调试执行状态。

 

当调试器启动,重启执行时,会出现硬件错误。(针对:MB90V470B)
  • 回答:
    造成该问题可能的原因是MB2145-507功能版设置不是工具电源所使用的设置。由于MB90V470B是评估芯片,在工具电源下运行,请确认MB2145-507功能板的设置。如需详细信息,请参阅MB2145-507功能板的硬件手册。

 

调试器在MB90V470B上运行正常,但是P2x输出不工作。在设置MB90V470L和转换基底时,所有运行都正常。(针对MB90V470L)
  • 回答:
    在MB90V470B中,3-V单电源产品的芯片和双电源(3V 和5V)的芯片是共同的。Vcc5是P2x, P3x, P4x, and P7x的驱动电源(5V驱动是可能的)。因此,确认一下提供的是Vcc5电源。对于之前的产品,MB90V470L (3-V 单电源产品), MB90V470H (双电源系统产品)和专用芯片都有供应。因此,在MB90V470L 中,所有产品的电源供电都是一样的。

 

我正在使用MB2145-506。我想知道该工具的电流消耗。
  • 回答:
    总得来说,运行中的电流大概为10mA左右。我们认为,你要使用评估(EVA)芯片。因此,你需要检查电耗,包括EVA芯片的电流(几十mA)。(当每个端口都耗电,这些电流应该被考虑在内。)
(0 ) (0 )
回复 举报

回复于 2019-08-06 11#

谢谢分享!!!
(0 )
评论 (0) 举报

回复于 2019-08-06 12#

谢谢分享!!!
(0 )
评论 (0) 举报

回复于 2019-08-06 13#

谢谢分享!!!
(0 )
评论 (0) 举报

回复于 2019-08-07 14#

谢谢分享!!!
(0 )
评论 (0) 举报

回复于 2019-08-07 15#

谢谢分享!!!
(0 )
评论 (0) 举报
发表回复
0/3000





举报

请选择举报类别

  • 广告垃圾
  • 违规内容
  • 恶意灌水
  • 重复发帖

全部板块

返回顶部