Up to what IO area can we use with "the _io type modifier"?
Answer : You can use it in the range of h'0000 to h'03FF. Since an _io-type modified variable is referenced by direct addressing, a
code shorter than that in normal variable reference is generated.
It seems that the C compiler of FR handles "char" type and signed "char" type in the same way. Actually, what is the
difference between them?
Answer : From the viewpoint of the syntax, "char" type is classified into the signed "char" and unsigned "char" types.
When programming, consider that "char" type is signed "char" type if the C compiler handles "char" as signed and
that "char" type is unsigned "char" if it handles "char" as the sign type. By default, Fujitsu's C compiler handles
it as "char" type is unsigned "char" type. You can change the type by using option (-K SCHAR/UCHAE).
When defining an initialized variable, is it necessary to transfer the ROM area of the initial value area to the RAM area
by the startup program (startup.asm)?
Answer : During program development by using the C compiler, variables with the initial value are generated and the processing for
rewriting the variables is frequently performed. The variables with the initial value are located in ROM, but the variables
will be rewritten during execution. Therefore, they should be in RAM at application execution. For this reason, transfer the
initial value data to RAM before the application execution.
Tell us how to confirm the version of each tool of Softune.
Answer : For confirming the version of Workbench only, use the version information of HELP. For confirming the version of each tool, use "Ctrl + Alt + Shift + A".
We want to use V5-version compiler but V6-version for the other components.
Answer : It is supportable in the following procedure. (Not the formal response): Procedure 1: Install the V6-version components other than compiler. Procedure 2: Install the V5-version compiler. Procedure 3: At that time, the install folder of procedure 1 and 2 should be the same folder.
When we confirmed the operation of the program generated in C, the control transited to the described function but not returned
from the function. Why? (Target: MB91350A series)
Answer : MB91350 has two registers for setting the RAM area. Because the initial settings of the data RAM limit control register (DRLR)
and instruction RAM control register (FRLR) allow the use of only 4-kilobyte area, it is necessary to extend it to 8-kilobyte
or 16-kilobyte by the settings in the startup program. Because the area specified as the STACK area is invalid, the correct
STACK value could not be stored for returning from the function. Specify the addresses for IO_DRLR and IO_FRLR by the define
declaration.
When we performed build, an error, telling "fr.h" file could not open, appeared. Why?
Answer : The include path setting for referencing the I/O header file may be incorrect. From the category items on [C/C++ compiler]
selected by [Project], and [Project Setup], select "Include path" and confirm the path settings.
Although we performed debug activation by Softune and pressed the reset button, the control did not jump to the reset vector
address. Why? The vector address and mode data value are not set correctly.
Answer : The mode data may not be set because the target file has not been loaded. After loading the target file, make sure that the
mode data is set.
For the MB91360 series, after flash loading by the tool, it seems that main program and boot loader program at address 50000
are overlapped. (Target: MB91360 series)
Answer : You set the automatic link specified for memory allocation of Linker in ROM1, didn't you? In such a case, delete the memory
allocation of ROM1 to handle the situation.
What does the settings by [Project Setup], [MCU Setup], and [Bus Mode] of the Softune Workbench mean?
Answer : The bus mode is the "function for inhibiting the access to the access inhibited area" when the debugger manipulates the
memory. When "1. Disable" is selected, the inhibit check for the access area is not performed. When "2. Single-chip
mode", "3. Internal ROM external bus mode", or "4. External ROM external bus mode" is selected, the access area
check function corresponding to the memory area is applied. (The target LSI is the product with FR30 core.)
For Control (S) of the MAP file, the setting of "@-ro ROM=xxxx @-ra RAM=xxx" and "-ro _ROM_1=xxx -ra _RAM_1=xxx" in
latter part are overlapped. Is there any problem?
Answer : "-ro _ROM_1=xxx -ra _RAM_1=xxx" in latter part of Confrol (S) of the MAP file is automatically output by Linker based
on the CPU information file. When the memory map has not been specified by the Linker settings, this contents become valid.
When "@-ro ROM=xxxx @-ra RAM=xxx" has been previously specified, the settings become valid. Outputting the latter part,
"-ro _ROM_1=xxx -ra _RAM_1=xxx," can be prohibited by the prohibit option (-Xset_rora) of Linker.
Is there any method for outputting a warning when no macro definition was performed by a compiler of Softune?
Answer : When a formula of "#if" command is evaluated, the identifier not having been replaced by macro in "#define" is replaced
with "0" before the evaluation of the formula. This complies with the ANSI specifications. Using "#error" enables
you to find it undefined. Example: #if A!=0 for(I=1;I<100;I++); #else #error A is not defined #endif
At Flash loader of MB91360, the comment, telling "Break at 00011042 by hardware breakpoint," is frequently output. (Target:
MB91360)
Answer : This comment occurs at writing to each sector of Flash. It is not a problem. Wait for the comment to appear as many times
as the number of sectors and for the processing to terminate.
After setting the stepwise trace trap flag, we intended to perform the stepwise execution but continuous execution was carried
out. Does it happen according to the specifications?
Answer : When clearing the stepwise trace trap flag for stepwise execution, Note that the processing is continuously executed according
to the specifications on the debugger side of Softune.
How can we acquire the trace when the control is transited to some function?
Answer : You can trace it by using code event/data event as a trigger. However, since it is just the start trigger for the event, you
need to set the trace buffer full break. (Otherwise, the trace is overwritten.)
Can we perform the ROM emulation by using SRAM on the target board? Because it is ROM at mass-production, basically WR is
not connected. However, is there any problem if the WR signal is connected to SRAM in the CS0 space?
Answer : It is possible to use the SRAM on the target for debugging. When the WR signal is not connected to SRAM, any program download
cannot be performed. To connect it to the area other than CS0, set up the necessary registers in advance by the procedure
file etc. before the program loading.
Can we generate a program to be run in the area of 0x300000 in the Intel HEX format?
Answer : In the Intel HEX format, the data allocated to address 0x100000 and above are abandoned. Generate your program in Motorola
S format that supports the addresses.
When a division exists in a program, Linker automatically allocates "\Softune\LIB\911\lib911.lib" from the library. Can
we specify the allocation address of the lib file?
Answer : Linker allocates files by section. You can specify a section for a file before compiling. For this library, however, the section
has been decided, so you cannot specify the allocation address.
Because we develop the Flash programming control program in C, the program is optimized so as not to operates as we intended.
Answer : If a variable is rewritten by hardware (still not rewritten in the C program description), specify it as the variable not
to be optimized for the C compiler. For the C description, the volatile modification is required at variable definition description.
Therefore, the volatile modification is required for the variable definition of the hardware sequence flag of the Flash memory.
When the attached "download program" is executed to the Flash part of MB91FV360GA, the download takes long time (about
five minutes). (Target: MB91FV360GA)
Answer : It is possible to shorten the download time by setting the internal operating clock after "start debug" in the command
line or procedure file. As an example, we have a good track record that the time was reduced to about one-fifth by the maximum
internal operating frequency (4 MHz × 16).
We intended to "download" to the Flash part of MB91FV360GA, but the pull-down menu is not activated. (Target: MB91FV360GA)
Answer : The event occurs when the appropriate MUC name (MB91FV360GA, in this case) has not been registered to file "flash911.csv".
Take countermeasures by updating to the latest Softune or additionally input it based on the memory map.
When the "-Kspeed" option is specified, the area named "CODE_4" is automatically generated. How can we prohibit this?
Answer : For fcc911s V50L05 (V60L01) and later, the "-align" option is added. When "-Kspeed" is specified, this "-align" option is included to generate the area. To prohibit it, specify the "-Xalign"
option additionally.
We could not write to 0xA0000 to 0x19FFFF of Flash on Fujitsu's evaluation board MB91906EB by the program command. Why? (Target:
MB91150 series)
Answer : The MB91150 series supports the internal ROM external bus mode and single-chip mode only. In each case, addresses 0xA0000 to 0xFFFFF, can be seen in internal ROM. Therefore, Flash on MB91906EB can use 0x100000 to
0x19FFFF. For using them, make sure that you can access only the addresses above even if you have changed the register for setting bus,
because the Flash addresses on the board are fixed.
When compiling a C source by Fujitsu's C compiler, an error telling "Nested comment is not allowed" occurs. What should
we do?
Answer : The JIS specifications define that "The characters "/*" indicate the start of a comment. The contents of the comment
are checked for identifying multi-byte characters and searching for the characters "*/" indicating the end of the comment."
The language specifications of Fujitsu's C compiler also allow no nest of comment (/*ranged comment*/).
Tell us how to inhibit the additional functions by V6-version compiler.
Answer : For each additional function, the command option to add/inhibit the new function is provided. For details, see Read me in
the attached CD-ROM.
We use Fujitsu's evaluation board and will use Fujitsu's PC programmer for programming the Flash built-in microcomputer. Which
cable should we use from the PC, straight or cross? (Target: MB91350A series)
Answer : For using Fujitsu's evaluation board, use a cross cable. Make sure to set No. 5 of DIP SW1 to "ON" (down), or the signal
of the SIN3 pin is not transmitted. For the PC programmer, set PN0/PPG0 and PN2/PPG2 to "L".