Home
C/C++ Compiler Package for M16C Series and R8C Family V.6.00
Contents
1. Enable the checkbox Use I O Library For the M16C 24 however the standard input output device of Ver 5 xx was UARTO but that of Ver 6 xx is UART1 Use the compiler option D_UARTO_ as you compile device c That way you can change the standard input output device to UARTO 3 6 12 Precautions concerning C dynamic initialization If const has the far attribute the located section of a const variable declared outside of a function one that involves C dynamic initialization is bss_FE or bss_FO By removing the const qualifier from the relevant variable declaration you can change the located section of the variable to bss_NE or bss_NO 3 6 13 There is a mistake in the description of the standard library function scanf in the compiler user s manual Wrong argument must be a far type pointer to each variable Correct argument must be a near type pointer to each variable 3 6 14 Ifthe type of the argument to be converted as specified in one of printf functions is type double the result is incorrect Occurrence condition The problem occurs when all of the following conditions are met 1 One of the following compiler options is used a fdouble_32 D32 b OR_MAX ORM c OS_MAX OSM 2 One of the following library functions is called d printf e fprintf f sprintf e vprintf h vfprintf Q vsprintf 3 The type of the argument to be converted as specified in 2 is type double Oc
2. 3 6 Precautions Concerning the Compiler Assembler Optimizing Linkage Editor and Utility 3 6 1 About the section location by the optimizing linkage editor optInk Please be aware that the optimizing linkage editor optInk locates sections in a different way than does the old linkage editor In30 For example assume an assembler source written as follows section prgl org 100h section prg2 section prg3 org 200h section prg4 end In80 would locate sections in the order shown below unless order is specified However the optimizing linkage editor locates relative sections differently 100H prgl prg2 200H prg3 prg4 If you want sections to be located by the optimizing linkage editor in the same way as does 1n30 use the start option as you locate sections optInk start prg1 prg2 100 prg3 pre 4 200 If you re using ORG be sure that it matches the specified address in the start option If they do not match a warning will result in which case the set value of ORG is used When you do not use ORG you can specify any desired address in the start option 3 6 2 About Debugger Display when Local Variables with Same Name Exist in the Same Function Tf local variables with the same name are declared in different blocks within a function the debugger may not be able to display their values correctly To solve this problem use different names for the variables REJ10J2189 0100 2tENESAS 6 C C Compiler Package for
3. UI SAS OINOUICES E E secs Sele Bee W das ects cea den ductus fosdsd cebu EAE A EA E cube savsdadsasvesaccusssadetiesielsadsciestessnictucesinet sderteientswbe 25 7 8 1 TM to High performance Embedded Workshop Portable and Non Portable Information ccccsceeeees 25 Me edis CVOSS TOO S irana seks dessshs ds sas diasGvaacke ds sdadaes hadosegs iacsacseasavdbdesooee dh saseads doedneven hae ncodsel de E ON RNE 25 7 3 3 High performance Embedded Workshop Versions csssssssssssssssscsssesescsssssescsnsseescesesesesesesssesesescaeaeasscseeesesesensaes 25 7 38 4 Load Module Converter ccccsscssssssssssssssssssssssesssessscscsescsesccuscesscsssesseussesesssesesesesesesescsesessaesteesesssesesesceeseaeacseaenceenees 26 io Other T0083 4 60 cates cen Casts eel EN avon Saisie heel dei eaciieiaui Sateen EEE 27 T36 Van Ka ee Orde des siisiissasnisvdeiersicsidsivancsiavais R R A E ao was 31 7 8 7 Placing the Start Up program at the top of Linkage Order cccccsssssssssssssesssesescscsescscsessscsceesceseeseeseseeeseseacaeecaees 31 REJ10J2189 0100 3 2ENESAS C C Compiler Package for M16C Series and R8C Family Release note 1 Installing the C C Compiler Package For details on how to install see the installation guide 2 Where to Contact for the Latest Information For the latest information on this product visit and look at the website given below http japan renesas com nc30wa http www renesa
4. Step 4 of 4 lt had Does the command require any environment variables to be set e IF so enter them into the list below BIN3O0 C Renesas NC3UWA VS30R02 BIN Add INC30 C Renesas NC30WASVS30RO2 INC30 LIB30 C Renesas NC30WA V530R024LIB 30 PATH C Renesas NC30WA V530R02 BIN Modify TMP30 C Renesas NC30WASV530R024T MP Remove 2 8 p Read Output On Fly 9 lt Back Cancel Figure 9 New Build Phase Step 4 4 Wizard Inthis wizard enter the necessary environment variables in the list Select Read Output On Fly check box Click Finish REJ10J2189 0100 2tENESAS 29 C C Compiler Package for M16C Series and R8C Family Release note 4 You return to the Build Phases dialog box at this point where you can see that xrf30 has been registered as a build phase at the end of the Order of Build phase order Build Phases Build Order Build File Order File Mappings Build phase order M16C C Compiler M16C Assembler Modify M16C Linker M16C Load Module Converter M16C Librarian 2 Move Up M16C Configurator M16C Jump table Composer Move Down Remove Import Figure 10 Build Phases Dialog Box Build Order Tab Select xrf80 from the Order of Build phase order Click Move Up to move xrf30 next to the assembler name see Figure 10 Click the Build File Order tab Build Phases Build Order Build File Order
5. Cast Notation Regarding near far Although the compiler user s manual states that const_cast can be used for casting a far pointer to a near pointer this is not correct Incorrect Tf it is evident that the far pointer to be substituted points to a near area cast the far pointer to the near pointer by acast notation or const_cast operator in order to avoid an error Correct Tf it is evident that the far pointer to be substituted points to a near area cast the far pointer to the near pointer by a cast notation in order to avoid an error REJ10J2189 0100 2tENESAS 13 C C Compiler Package for M16C Series and R8C Family Release note 4 3 Note on glb Declaration for Symbol __SB __ 4 4 4 5 4 6 4 7 4 8 glb declaration for symbol _SB_ to be generated by the compiler has been changed as follows V 5 xx The compiler outputs glb __SB_ whether _SB__ is used or not V 6 xx The compiler only outputs glb _SB_ when it acknowledges that __SB__is used in a C source program One of the following conditions must be satisfied a pragma SBDATA is written b Compiler option fauto_over_255 fAO2 is used and a function that will use a stack area of 255 bytes or more is defined c A function using pragma TASK which is a pragma directive for realtime OS is defined Due to this change porting a V 5 xx project in which a C source startup program was created to a V 6 xx project will lead to an error because _
6. 3 xx into High performance Embedded Workshop Ver 4 the Import Makefile function of High performance Embedded Workshop is used This function can create projects from such items of information as source files and build options described in the specified makefile files In TM project files are created in the makefile format executable in GNU make format When project files created with TM are selected as makefile files using High performance Embedded Workshop Import Makefile function they are converted to files that can run in High performance Embedded Workshop In addition to TM project files the Import Makefile function can also convert files in the makefile formats for hmake nmake and gmake to High performance Embedded Workshop projects Porting Procedure To port projects created using TM into High performance Embedded Workshop perform the following steps 1 Open the File menu and select the New Workspace command 2 The New Project Workspace dialog box opens REJ10J2189 0100 2tENESAS 22 C C Compiler Package for M16C Series and R8C Family Release note New Project Workspace Projects amp Application Workspace Name E Empty Application 5 Tr 3 KSl Import Makefile Library Project Name ee _ 4 Directory G Program Files Renesas Hew Browse D CPU family M16C v 2 Tool chain Renesas M16C Standard x Properties Figure 1 New Project Workspace Dialog Box Select the t
7. 4 15 A problem that if the type of a switch statement controlling expression is signed char control does not branch to the correct case label has been corrected Occurrence condition The problem occurs when all of the following conditions are met 1 The type of a switch statement controlling expression is signed char 2 The switch statement in 1 satisfies one of the following a The minimum value of a case value is 127 and the maximum value is 127 wherein the case value is contiguous from 127 to 127 without a break b The minimum value of a case value is 128 and the maximum value is 126 wherein the case value is contiguous from 128 to 126 without a break c The minimum value of a case value is 128 and the maximum value is 127 wherein a total of 135 or more instances of the case statement not including default exists 3 The value of the controlling expression in 1 is smaller than zero Occurrence example include lt stdio h gt signed char d 1 void main void switch d case 127 printf NG 127 gt dl n d break case 1 printf OK n d break case 127 printf NG 127 gt dl n d break 4 16 A problem that if when initializing the structure of auto variables a function is called that returns a structure System Error is generated has been corrected Occurrence condition The problem occurs when all of the following conditions are met 1 A f
8. File Mappings File group Phase order Assembly source file M16C Assembler C source file Figure 11 Build Phases Dialog Box Build File Order Tab Select the xrf30 check box in the Order of Phase order Click OK 5 Open the Options menu and select the xrf80 command 6 The xrf80 Options dialog box appears select options as necessary This setting executes xrf80 for all assembler source files after assemble is completed at a build before linking files REJ10J2189 0100 2tENESAS 30 C C Compiler Package for M16C Series and R8C Family Release note 7 3 6 Linkage order Import Makefile cannot port the linking order information to High performance Embedded Workshop High performance Embedded Workshop arranges the linking order alphabetically To change this order go through the following steps 1 Open the Build menu and select the Linkage Order command 2 The Linkage Order dialog box opens Linkage Order 1 v Use custom linkage order Object order Current configuration Debug X Copy to Figure 12 Linkage Order Dialog Box Select Use custom linkage order check box Select a file from the Object order list and click Move up or Move down to move the file Repeat this step for all files that need to be rearranged Click OK 7 3 7 Placing the Start Up program at the top of Linkage Order As the Import Makefile cannot port linking order information to High performance Embedded
9. M16C Series and R8C Family Release note 3 6 3 About the handling of ABS files generated after lowering the error level at link time If the error level is lowered by an option at link time it may be possible even when an error occurs to forcibly generate load module files ABS But we recommend you not to use such load module files 3 6 4 About the case where a definition of objects using incomplete enumeration type in C results in an error Write a definition of enumeration type to turn it to be of complete type 3 6 5 About the case where when debug is specified specification of extern or static for the template function results in an error Although specifying an extern or static declaration while debug is specified g option results in an error this is a syntactic error in writing so rewrite the program not to use extern or static 3 6 6 The keyword mutable is not supported 3 6 7 About a problem that writing type near or far beforehand in a function like cast type expression form results in an error The types near and far written in casts have no effect on program behavior so do not write them 3 6 8 About the use of pragma ASM in C Writing pragma ASM external to a function in a C source results in a compile error Since asm can be written external to a function if it s necessary to write assembly instructions outside of a function we recommend you to use asm In C sources both pragma ASM and asm
10. array in 1 4 Based on 2 dimensional or higher order address calculation for 3 and a negative value representing the number of elements the array elements pointed to by the pointer are referenced REJ10J2189 0100 2RENESAS 11 C C Compiler Package for M16C Series and R8C Family Release note Occurrence example include lt stdio h gt int near bufl2 1 13 23 int far p 1 buf 1 void main void inti 0 intj 15 if pli 1 printf NG n else printf OK n Solutions Do not use a negative value for the subscript of an array reference No code is generated for a function using pragma interrupt interrupt vector numbers available and no function address is set in the variable interrupt vector Occurrence condition The problem occurs when all of the following conditions are met 1 One of the following applies a The compiler option OS_MAX OSM is used b The compiler option Oforward_function_to_inline OFFTD and the following compiler options are used b1 Ol1 5 b2 OR_MAXCORM 2 pragma interrupt interrupt vector numbers available is used 3 The object of 2 is an internal linkage function 4 The function in 3 has no address reference Occurrence example Command line nc30 c OSM sample c sample cl pragma interrupt func vect 31 static void func void Solutions Define a dummy variable that refers to the address of a function that come
11. data_SE bss_SE data_SO bss_SO data_NE bss_NE data_NO bss_NO istack stack heap 0400 rom_NE rom_NO data SEI data_SOI data_NEI data_NOI switch_table program interrupt 0E000 vector OFED8 Over ROM 64K start data_SE bss_SE data_SO bss_SO data_NE bss_NE data_NO bss_NO istack stack heap 0400 rom_NE rom_NO data SEI data_SOI data_NEI data_NOIL switch_table program interrupt 04000 vector OFED8 rom_FE rom_FO 010000 The start address of each section needs to be changed to what you ve set Tf you ve added any section they need to be added to the above setting How to set the option start From the Build menu of HEW select Renesas M16C Standard Toolchain Linker gt Category Section Select Add and in the ensuing Add Sections locate each section at the respective addresses Address Section 0x400 data_SE bss_SE data_SO bss_SO data_NE bss_NE data_NO bss_NO istack stack heap 0x0E000 rom_NE rom_NO data_SEI data_SOI data_NEI data_NOI program interrupt OxOFED8 Vector Mapping of each section is finished Precautions It is possible that when you execute a build after you ve finished mapping each section an optInk warning L1323 W Section attribute mismatch section name will be output To avoid this warning alter your source as described below Comment out the address declaration ORG for the section name in which the warning was generated In the above example this applie
12. defined to be _Bool type in an old form function definition is erroneously read e A E E E T E E E A E E E E E 17 4 15 A problem that if the type of a switch statement controlling expression is signed char control does not branch to the correct case label has been corrected ccccceccsssssscscssssscsssscssscsesssscscscsssesssssuscecsssscsescsssscsssscscscsesssssscscsusasescasssseeacscacsceses 18 4 16 A problem that if when initializing the structure of auto variables a function is called that returns a structure System Error is generated has been corrected c csssssssssssssssssessssssescssssesesussssssessssescsusseseaessssesessssesesusssseeneesseaeeessees 18 4 17 A problem that if while the compile option Oloop_unroll COLU is specified an inline function call in a for statement is attempted an assemble error results has been corrected ccesesssssessesessssesesessesesesesseseeessesesesseseseseesesesseseseees 19 4 18 A problem that constants larger than LONG_MAX written in a constant expression following if or elif were not correctly interpreted has been corrected cccsssssssssssssssssssssssessssssesssssssesessssesesesssesessssesesssesessssesessseseseesssesesesseseseeeeseseans 20 4 19 Precautions concerning the standard input output functions have been corrected ccsssessesssessseesescsesceeseeeees 20 4 20 Precautions concerning the assembler directives id and ofsreg have been corrected cccscssesesese
13. 0 can be used outside of a function as in the past 3 6 9 About assembler macro function specifications in C Assembler macro functions defined using pragma ASM cannot be used in C source files Tn such a case alter the macro definition using an asm function instead of pragma ASM as in the example below Example pragma _ASMMACRO addition RO R2 static int additionGnt int _asm _addition macro n i add w R2 RO n endm 3 6 10 About limitations in cases where a function itself is referenced using pragma ASM asm or assembler macro function call in it The following limitations apply 1 The number of times the function was referenced or the information shown in map is not output correctly 2 Even if the function is an unreferenced symbol it is not removed during optimization by optInk Example void func void pragma asm call _func G jsr _func pragma endasm REJ10J2189 0100 2tENESAS 7 C C Compiler Package for M16C Series and R8C Family Release note 3 6 11 About the registration of init c and device c when upgrading from Ver 5 xx to Ver 6 xx When you upgrade a Ver 5 xx project that uses standard input output to Ver 6 xx you need to register init c and device c in the upgraded project Get the copies of init c and device c generated following the method below and register them in your upgraded project Launch HEW Select the menu item to create a new project Select the MCU type
14. C C Compiler Package for M16C Series and R8C Family Release note C C Compiler Package for M16C Series and R8C Family NC30 V 6 00 Release 00 Release note Rev 1 00 Renesas Solutions Corp Mar 31 2011 Abstract Welcome to C C Compiler Package for M16C Series and R8C Family M3T NC30WA V 6 00 This document contains supplementary descriptions to User s Manual When you read certain items in the User s Manual please read this document as well 1 Installing the C C Compiler Package ccccssssssssssssssssssssssssssssssssssnesssessssssesesessesesesuesssesessssesusueacusssseaeeasseaesueseseaesesseseaeeeseeas 4 2 Where to Contact for the Latest Information cccccsccsssssessesesessesessssssescssssesesessseseesssesesesseseseessseseseeseseseessseseeessesesesesseseeseseseseees 4 Be Precautions io 5565 ss chechcidecdeciascoloadaescasdeecgsdutecdesvedetegaceeasshseseecsdisdcshsegiocsecdueuedeesasaansess4andiayesaeusedeaeieadblasanasasssvesgeudeasdndsestsed nddeadsnesdeosaseaes 4 3 1 About the Supported Version of the Realtime OS MR80 ccccescssssssscscssssssscsssesssesesescsescsescseseseecseessescesseseseseseseseseneaes 4 3 2 Precautions Concerning the File Names ccccssssssssssssssssssesssescsescsescsescscscscsessscsessssssesssesssesesesesescacscsseseesssesesesesescseseneaes 4 3 3 Precautions Concerning the Virus Check Program c ccccscssssescssscssscsssssscesscsssesssesesescsesesescsssesescseesseseesssesssese
15. Workshop and links are order alphabetically the start up program may not be placed at the top of the linking order To place it at the top follow the steps described previously in Section C 3 7 Linkage Order REJ10J2189 0100 2tENESAS 31
16. _SB__ is detected as an undefined symbol To avoid this error add the following description to the file in which symbol _ SB _ is defined _asm glb__SB_ Linkage of standard libraries may not be possible when ffar_pointer fFP or ffar_RAM fFRAM is used Code hoisting optimize which from compound statements on both of if else statements puts common expressions together in front of the if statement for optimization has been enhanced In NC30 V 5xx arguments were structures and inline function definitions were an assembly macro From V 6 00 on however they are ordinary functions A problem that if functions and variables with the same name as those of the functions and variables declared at file scope are declared as extern in a function no errors result even when they differ in type and the declaration in the function is made valid has been corrected Occurrence condition The problem occurs when all of the following conditions are met 1 There is a variable or function declaration at file scope 2 There is an extern declaration with the same name as 1 but differing in type 3 Within the function definition 2 the variable or function in 2 is accessed at a position where the declaration in 2 is valid A trouble that when writing successively to union members writes are sometimes performed in a wrong order has been corrected Occurrence condition The trouble occurs when all of the following co
17. aianaaslinaiaaduaiaduiaaauadisduniaameanux 14 4 9 A problem that if the sizeof operator is used in an additive expression of integer and array name a wrong size is returned has been corrected ccccccscscsesssssssscscscscscssssssescsesssssssssscscsesssscscsessssssessscsesesssscscsessssssecscsssessessssscsesesscscscsusasseacasssseescscasecenss 15 4 10 A problem that a constant expression of floating type does not become zero when its value is smaller than the minimum value of the normalized number has been Corrected ccccccccscscssscscsssssssscssssssssssssescscsssssecssssssssessscscsesssssseescssssesees 15 4 11 A problem that for a conditional expression that compares 0 0 and NaN the operands are erroneously evaluated to compare as equal has been corrected c cscssssssssssscsssscsseesssesesescsescsescsescsescsessssessussesssssescscscacseseecsesceeseeeesseeseeseees 16 4 12 A problem that when the compiler option OS_MAX is selected a forward referenced inline function results in an error has been corrected cscsescsssssccssssssscsssssscscscssscsssscscsessssssescssssssscssssscsssssscscsssssseecscssssacsesssscscscsssasceasscsssessescscsesusasscecscsusseases 16 4 13 A problem that an argument that has double precision floating type in function declaration and has single precision floating type in its definition is erroneously read has been corrected ccssessssessssssessssssesssssssssseseseseees 17 4 14 A problem that an argument
18. be converted as specified in one of printf functions is type double the result is incorrect 8 REJ10J2189 0100 2ENESAS 1 C C Compiler Package for M16C Series and R8C Family Release note 3 6 15 If the type of the argument to be converted as specified in one of scanf functions is a pointer to type double the result 1S INCOLV ECE ccscscsescsssssssscscscscssssssescsssssssscscsssssssscssscssssssescscssscscscsssssssssssssscscsssscsescsssscsescsssessesssescecsucssseacessesseass 9 3 6 16 About assert macro SpecificatiOns c ccccssesssescsescsssessssscsssssssessssssesssesesescsssessscscsescscscsssescecssesessssscacseseecsescsesceessesees 10 3 6 17 Precautions concerning the compiler option Wlarge_to_small WLTS cscccssscssssessesssessesstessesstsseessesee 10 3 6 18 Method of avoiding the fixed vector when locating sections in the R8C family ROM 64KB or more 10 3 7 Limitations and Known Troubles cccccssssssessssscsesescsescscscsssescscsssssesscsssesesesesssescacsesescsescscscsssescesesesesesesescasacseacaeecseacaeesees 11 Contents of version up from V 5 45 Release O1 u ccccsssscsssessssscsescsescssscsescssscssscsssssssssesssesssesesescsescssssecsescesssesessseseseacseseseacseseas 13 4 1 When using ffar_pointer fFP in C pointers to arrays in functions are handled as 16 bits c scssssseeseeees 13 4 2 Cast Notation Regarding near far c ccsccsssssssssssssssssssssssssssssssssesssessssssesssussssesesssssss
19. char i 03 for i 031 lt 4i inline_func REJ10J2189 0100 2RENESAS 19 C C Compiler Package for M16C Series and R8C Family Release note 4 18 4 19 4 20 4 21 4 22 4 23 4 24 A problem that constants larger than LONG_MAX written in a constant expression following if or elif were not correctly interpreted has been corrected Example include lt stdio h gt void main0 if 2147483648 gt 0 printf 2147483648 gt O n Ver 6 xx else printf 2147483648 lt O n Ver 5 xx Hendif Precautions concerning the standard input output functions have been corrected Where to contact FAQ http japan renesas com support faqs faq_results Q1000000 Q9999999 tools coding_tools compiler_100706a jsp http www renesas com support faqs faq _results Q1000000 Q9999999 tools coding_tools compiler_100706a Jsp Precautions concerning the assembler directives id and ofsreg have been corrected Where to contact FAQ http japan renesas com support faqs faq_results Q104601 Q104700 tool_faq_2005020701 jsp http Awww renesas com support faqs faq_results Q107401 Q107500 compiler_107459 en GL jsp Precautions concerning the right shift operation have been corrected Where to contact Tool news http tool support renesas com jpn toolnews 070716 tn4 htm http tool support renesas com eng toolnews 070716 tn4 htm Precautions concerning the case where structure members are initiali
20. currence example Command line nc30 c fD32 sample c_ Occurrence condition a of 1 REJ10J2189 0100 2tENESAS 8 C C Compiler Package for M16C Series and R8C Family Release note sample c include lt stdio h gt void func double x printf f n x Occurrence condition 2 and 8 Solutions Cast to type long double Example include lt stdio h gt void func double x printf f n long double x 3 6 15 Ifthe type of the argument to be converted as specified in one of scanf functions is a pointer to type double the result is incorrect Occurrence condition The problem occurs when all of the following conditions are met 1 One of the following compiler options is used a fdouble_32 D32 b OR_MAX ORM OS_MAX OSM 2 One of the following library functions is called d scanf e fscanf f sscanf 3 The type of the argument to be converted as specified in 2 is a pointer to type double Occurrence example Command line nc30 c fD32 sample c sample c include lt stdio h gt void func double x scanf lf n x Solutions Remove the modifier 1 Example Hinclude lt stdio h gt void func double x scanf f n x Modifier 1 removed REJ10J2189 0100 2RENESAS 9 C C Compiler Package for M16C Series and R8C Family Release note 3 6 16 About assert macro specifications Specifications of the assert macro a
21. dditive operator Occurrence example short arr 30 i int test void i sizeof 0 arr The size of the array not the size of amp arr 0 address expression is returned by mistake 4 10 A problem that a constant expression of floating type does not become zero when its value is smaller than the minimum value of the normalized number has been corrected Concerning the result of an operation performed on a constant or two constants of floating type it was observed that its absolute value when smaller than the minimum value of the normalized number is not rounded to zero Occurrence condition The problem occurs when all of the following conditions are met 1 Aconstant of floating type or a constant expression of floating type is used 2 The absolute value of 1 is smaller than the minimum value of the normalized number FLT_MIN for float type or DBL_MIN for double type REJ10J2189 0100 2tENESAS 15 C C Compiler Package for M16C Series and R8C Family Release note Occurrence example float testQ float f 1 1760000000e 38F 0 0020000000e 41F return f The subtraction result is smaller than FLT_MIN where 0 should be returned but actually a denormal number is returned 4 11 A problem that for a conditional expression that compares 0 0 and NaN the operands are erroneously evaluated to compare as equal has been corrected Occurrence condition The problem occurs when all of the follow
22. ect the Category type from the Category drop down list Click OK 7 3 5 Other Tools Import Makefile cannot port any information options command executions dependencies contained in tools other than the assembler C compiler and linker If any tools other than the assembler C compiler linker and load module converter are used to create projects in TM custom build phases must be created in High performance Embedded Workshop Custom build phases are specifically for operating other tools before after or during standard builds in the assembler C compiler and linker For more details see Section 3 2 Creating Custom Build Phases in the High performance Embedded Workshop 4 User s Manual The following is provided as an example of how to register the cross reference generation tool xrf380 with High performance Embedded Workshop 1 Open the Build menu and select the Build Phases command 2 The Build Phases dialog box appears click Add Build Phases Build Order Build File Order File Mappings Build phase order M16C C Compiler M16C Assembler M16C Linker M16C Load Module Converter M16C Librarian M16C Configurator M16C Jump table Composer e Figure 5 Build Phases Dialog Box REJ10J2189 0100 2tENESAS 27 C C Compiler Package for M16C Series and R8C Family Release note 3 The New Build Phase Step 1 4 wizard opens Follow the instructions to registe
23. ed by pragma entry The functions using pragma entry are such that because the user stack pointer interrupt stack pointer and frame base register are not set at the beginning of the function yet arguments and auto variables cannot be used Be sure that no arguments and auto variables are used in a function that uses pragma entry Ifan expression casting a negative floating point constant to unsigned integer type is written in an argument to a function call a C1841 warning is output and the cast value of the constant becomes zero Occurrence example int func int x return x void main void int i Gnt unsigned int 1 0f intj j func Gnt unsigned int 1 09 printf d d n i j Becomes 1 and 0 Solutions Assign to a temporary variable before a function call and use that variable in the function call int func Gnt x return x void main void int i Gnt unsigned int 1 0f int j int tmp int unsigned int 1 0f Here j func tmp printf d d n i J Becomes 1 and 0 Ifa near array is pointed to by a far pointer and a negative value is used to calculate the address of the far pointer correct elements may not always be retrieved Occurrence condition The problem occurs when all of the following conditions are met 1 Anear array is declared 2 A far pointer is declared 3 The pointer in 2 points to subsequent but the first element of the
24. eeeseseeeeseaes 20 4 21 Precautions concerning the right shift operation have been COrrected ssesessssessssesessseeseseesesesesesesseseseessseessseseees 20 4 22 Precautions concerning the case where structure members are initialized by an expression that includes the sizeof operator have been corrected ssccssssssesssessscsssescssscssscssscssssssscsssscsssesssesesescsescasscsescsesssussesesesssensacscsescscaceesescsesseesesseseesseseees 20 4 23 Precautions concerning the case where the compile option Ostack_frame_align OSFA is used have been orre OaE EE E E N A 20 4 24 Precautions concerning the type definition of an incomplete type structure or union have been corrected 20 5 Project conversion in the integrated development environment High performance Embedded Workshop or HEW 21 5 1 Settings when you re using an assembler startup c ccccsssssssssssscscssescsescessssscssescsescesesescseescseseeseeeacseeasseeseaeaseseeeaeseeseaes 21 List of Software Versions erreren ideni na AN EEEREN ANO EATON 22 7 A Guide to Porting Projects Created with TM to High performance Embedded Workshop Vev 4 cccssscsescssseeesseeees 22 Ted SUIMMMALY AEE EEEE ATE E suchas dees EEEE tase nla ubssa desea dotantascasbuddadsaadelias 22 REJ10J2189 0100 RENESAS 2 C C Compiler Package for M16C Series and R8C Family Release note Weds APovtiig Proc dure sce 55ce cbse cice A N cases ces dsac05idecehevssdes Gasisa E A EER A RGN 22 Wee
25. ing conditions are met 1 The compile option O 1 5 OR OS OR_MAX ORM or OS_MAX OSM is selected 2 There is a controlling expression to be compared in an equality or inequality operation 3 One side of the controlling expression in 2 is a variable that has the value of NaN Occurrence example int test void float f 3 402823466e 38 0 001e 38 float f1 3 402823466e 38 0 001e 38 f fl if 0 06 return 0 return 1 4 12 A problem that when the compiler option OS_MAX is selected a forward referenced inline function results in an error has been corrected A problem was observed that when compiler option OS_MAX is selected the Oforward_function_to_inline OFFTD option is not enabled and a forward referenced inline function results in an error Occurrence condition The problem occurs when all of the following conditions are met 1 The compile option OS_MAX OSM is specified 2 An inline qualified function is defined 3 The inline qualified function in 2 is called before its definition Occurrence example inline int addGnt int int func void int re add 1 2 return re REJ10J2189 0100 2tENESAS 16 C C Compiler Package for M16C Series and R8C Family Release note inline int add int a int b return a b 4 13 A problem that an argument that has double precision floating type in function declaration and has single precision floating t
26. n ete Precautions to Taken when Setting Up the Interrupt Priority Level In response to the technical news No M16C 14 9804 Precautions to Take when Using the M16C 60 M16C 61 M16C 62 M16C 63 Group Interrupt Control Registers functions are now supported that let you set or change the interrupt priority level Here is an example of how to use To set the priority level Use the SetLevel function At this time be sure to include the intlevel h file SetLevel char adr char val adr Address of the interrupt control register val The value to set REJ10J2189 0100 2tENESAS 5 C C Compiler Package for M16C Series and R8C Family Release note To change the priority level Use the ChgLevel function At this time be sure to include the intlevel h file ChgLevel char adr char val Adr Address of the interrupt control register Val The value to set Example include lt intlevel h gt pragma ADDRESS timerA 55H char timerA void func void SetLevel amp timerA 2 Sets the interrupt priority level to 2 ChgLevel amp timerA 4 Changes the interrupt priority level to 4 3 5 4 Select E8 When Using On Chip Debugger E8a When you use on chip debugger E8a take the following steps during the process of creating a new project in the High performance Embedded Workshop 1 Select C source startup Application as the project type 2 Select E8 from the Use OnChip Debugging Emulator list
27. nditions are met 1 The optimization option O 1 5 OS OR OS_MAX or OR_MAX is selected 2 There are multiple assignment statements occurring in succession that assign constant values to different members of one union REJ10J2189 0100 2tENESAS 14 C C Compiler Package for M16C Series and R8C Family Release note 3 The members to which assigned in 2 are not volatile qualified 4 Two or more of members to which assigned in 2 that differ in size coexist Occurrence example uniont unsigned int unim01 unsigned int unim02 unsigned long unim05 unil2 void maint uni 0 unim01 0x1111 uni 1 unim01 0x1111 uni 0 unim02 0x2222 unil0 unim05 0x55555555 Because members have their values substituted in a wrong order this value does not remain 4 9 A problem that if the sizeof operator is used in an additive expression of integer and array name a wrong size is returned has been corrected There was a problem that if the sizeof operator is used in an additive expression of integer and array name a value derived by adding the array size and not the pointer size results Occurrence condition The problem occurs when all of the following conditions are met 1 The sizeof operator gets the size of the type of an additive expression of integer constant and array name 2 The additive expression in 1 consists of an integer constant in the left operand and an array name in the right operand of the a
28. ns for use in High performance Embedded Workshop projects regardless of whether they are used with TM or not only the following cross tools versions are valid for High performance Embedded Workshop projects NC380WA V 5 20 Releasel V 5 45 Release 01 High performance Embedded Workshop Versions When TM projects are ported into High performance Embedded Workshop information portable to High performance Embedded Workshop varies according to the High performance Embedded Workshop version The information that can be ported from each cross tool to various High performance Embedded Workshop versions are shown in Table 2 Table 2 Portable Information and Corresponding High performance Embedded Workshop Versions High perfor mance Embedded Workshop P oo v30101 v 8 0105 v 30106 v4 00 NOWA vs kaso A All the items of information listed in Section 3 1 are portable B Only the paths of assembler and C language source files are portable REJ10J2189 0100 2tENESAS 25 C C Compiler Package for M16C Series and R8C Family Release note 7 3 4 Load Module Converter Import Makefile cannot port the information contained in any load module converter for example information on options command executions or dependencies into the High performance Embedded Workshop project If using a load module converter to create projects in TM change the settings of the load module converter as follows after completing the Makefile pr
29. ocessing 1 Open the Build menu and select the Build Phases command 2 The Build Phases dialog box will open Build Phases Build Order Build File Order File Mappings Build phase order M16C C Compiler Add M16C Assembler M16C Linker Modify M16C Load Module Converter MI6C Librarian __ Remove M16C Configurator Move Up M16C Jump table Composer Move Down gt Import 2 ox Cancel Figure 3 Build Phases Dialog Box Select the Mxxx Load Module Converter check box from the Order of Build Phases list Click OK 3 Open the Build menu and select Renesas Mxxx Standard Toolchain 4 The Renesas Mxxx Standard Toolchain dialog box appears REJ10J2189 0100 2tENESAS 26 C C Compiler Package for M16C Series and R8C Family Release note Renesas M16C Standard Toolchain Configuration C Assembly Link Librarian Lme c mall Debug o i QFategory Outpt o r All Loaded Projects Format Motorola S type format 7 eH source file E Sets the starting address foxooooon00 Assembly source file JV L Selects maximum length of data record area A Specifies output data range Start address 0 Specifies output file name CONFIGDIR PROJECT NAME mot Modify Options Lme j O CONFIGDIR S PROJECTNAME mot 3 Cancel Figure 4 Renesas M16C Standard Toolchain Dialog Box Click the Lmc tab Sel
30. ple If the optimization option 05 is specified in a program like the example shown below the compiler generates a BTSTC instruction by optimization For this reason the interrupt request bit may not be determined correctly causing an unintended behavior to occur pragma ADDRESS TAOIC 55H struct char ILVL 3 char IR 1 Interrupt request bit char dmy 4 TAOIC void wait_until_IR_is ON void while TAOIC IR 0 Waits until the bit is set to 1 TAOIC IR 0 Resets the bit to 0 when it is 1 Solutions 1 In addition to the relevant optimization option specify the option O50A to suppress the optimization that generates BTSTS and BTSTC instructions 2 Insert an asm function as in the example below to suppress optimization while TAOIC IR 0 asm Inserts asm function Suppresses processing performed on TAOIC Notes When you ve taken a corrective measure using the option 0504A or an asm function be sure to check that BTSTS and BTSTC instructions are not generated 3 5 2 Precautions Concerning Access to the SFR Area 3 5 3 To access the registers in the SFR area you may need to use a specific instruction This specific instruction differs with each MCU type used For details see the user s manual for the MCU type you use When the instruction mentioned here is known write it directly in your program using the inline assemble facility of an asm functio
31. r the tool as follows New Build Phase Step 1 of 4 What type of phase would you like to add Create a new custom phase Add an existing system phase Figure 6 New Build Phase Step 1 4 Wizard Click Next the Create a New Custom Phase check box is selected by default the New Build Phase 2 4 Step wizard opens New Build Phase Step 2 of 4 The command is applied to each file in a file group An example of this type of tool is a compiler or assembler Select input file group 3 Assembly source file Single phase The command is only ever executed once per build An example of this type of tool is a linker 4 cont Figure 7 New Build Phase Step 2 4 Wizard In this wizard select the Multiple Phase check box Select Assembly Source file from the Select input file group Click Next the New Build Phase Step 3 4 wizard opens REJ10J2189 0100 2tENESAS 28 C C Compiler Package for M16C Series and R8C Family Release note New Build Phase Step 3 of 4 x had Phase name xf30 Command excluding parameters CAR enesas NC30WA V530R 02 bin xrf30 ex gt Browse Default options S FULLFILE gt Initial directory S CONFIGDIF gt Browse F a Figure 8 New Build Phase Step 3 4 Wizard Type xrf30 and its fullpath name in the Phase Name and the Command text box Click Next the New Build Phase Step 4 4 wizard opens New Build Phase
32. re as follows Description Adds a diagnostic feature in a program Format include lt assert h gt void assert test Implementation Macro Parameter test Expression to be evaluated Return value None Explanation The assert macro when test is true finishes processing without returning a value When test is false it outputs diagnostic information to a standard error file in the form defined by the compiler Then it calls the abort function The diagnostic information includes program text of parameters source file names and source line numbers To enable the assert macro it is necessary to call the standard input output initialize function _init To disable the assert macro define a macro NDEBUG before including assert h Implementation defined specification In assert test if test false a message is output Assertion failed Aexpression A lt file name gt lineA lt line number gt 3 6 17 Precautions concerning the compiler option Wlarge_to_small WLTS When you use the compiler option Wlarge_to_small WLTS pay attention to the following 1 When compiled as a C program a warning is output only when the right side is a constant 2 When compiled as a C program a warning is output when the right side consists only of a variable 3 6 18 Method of avoiding the fixed vector when locating sections in the R8C family ROM 64KB or more By setting the cpu option at link time it is possible to avoid the fixed vector a
33. roject file with extension tmk in the Makefile path text box As soon the name is input the specified file is analyzed and upon analysis completion the analyzed source files are displayed in a tree structure in the Source files box Click the Start button to analyze the specified file again Ifthere are any errors in the analysis results tree structure in the Source files box rectify the tree structure with the Add and Remove buttons Click Next 4 Follow the instructions according to the Wizard as it continues in the procedure REJ10J2189 0100 2tENESAS 24 C C Compiler Package for M16C Series and R8C Family Release note 7 3 Tal 1 3 2 1 3 3 Usage Notices TM to High performance Embedded Workshop Portable and Non Portable Information When you port a project created using TM into High performance Embedded Workshop not all the components of the project can be ported Portable information is as follows Paths of assembler source files Paths of C language source files Assembling options C compiling options Linking options except linkage order Non Portable Information Linkage order Tool configurations dependencies and options other than Assembler C Compiler Linker To transfer these items edit the High performance Embedded Workshop project as described in Section 3 4 and further after processing the Import Makefile Cross Tools Import Makefile cannot enable all cross tool versio
34. rror 7 3 6 5 About the case where when debug is specified specification of extern or static for the template function resilo MANOTO scsi case Ee E E EEE EEEE TE ER dotsidi ipoctusdeastcbus davavladsbanshledevavstdavenstudtessctecsb ee 7 3 6 6 The keyword mutable is not supported ccccssscsescsssesesessscsescsescsssesccssccsssesesescsescsescssscseesseessesseseaescseseseacseacscscecseeees 7 3 6 7 About a problem that writing type near or far beforehand in a function like cast type expression form resule 0 An OTO aa N N EEE ENE RNR NRR 7 3 6 8 About the use of pragma ASM in C o eccccccccsessscscsssescscssscsescssscssssscessscssscsesesescsessscscsescecacasscsescseessseseseacseseecseecaeeees 7 3 6 9 About assembler macro function specifications in C c cccccsssssscsssesssescsescsescssscseecsesssnscssssesesseesesesseesesesssessecscecseeees 7 3 6 10 About limitations in cases where a function itself is referenced using pragma ASM asm0 or assembler MACHO function call in Weess ar rN ENNAN EA ONEA OEREO 7 3 6 11 About the registration of init c and device c when upgrading from Ver 5 XX to Ver 6 XX c ceseseseessseseseeessees 8 3 6 12 Precautions concerning C dynamic initialization ccccscesssescsescsssesescsssesescscsssescsesesssseessesssesesesesescseseesseeees 8 3 6 13 There is a mistake in the description of the standard library function scanf in the compiler user s manual 8 3 6 14 Tf the type of the argument to
35. s com nc30wa For the latest information on this product s document visit and look at the website given below http japan renesas com nc30wa_document http www renesas com nc30wa_document For the latest information on this product s release note visit and look at the website given below http tool support renesas com jpn toolnews p_m16c_1 htm http tool support renesas com eng toolnews p_m16c_1 htm 3 Precautions There are following precautions to take when you use this product 3 1 About the Supported Version of the Realtime OS MR30 M3T MR30 4 The correct operation of the compiler is not guaranteed when used in combination with M38T MR30 4 Ver 4 00 Release 01 or earlier MR8C 4 The correct operation of the compiler is not guaranteed when used in combination with MR8C 4 Ver 1 00 Release 00 3 2 Precautions Concerning the File Names For the source program file names and for the directory and workspace names in which you perform your work observe the precautions described below The input output files used by ieee lmc30 cannot have any characters other than ASCII in their directory names workspace names or file names The period you use in a file name is usable only once in one file name Network path names cannot be used If you want to use a network path name assign it to a drive name Shortcuts cannot be used The workspace is a working directory in which
36. s to the section names data_SE rom_NE and vector in sect30 inc If the code written in sect30 inc below causes an assemble error change data_SE_top written in the operand of the assembler directive EQU to the start address value of data_SE SBDATA area definition glb _SB_ _ SB _ equ data_SE_top REJ10J2189 0100 2RENESAS 21 C C Compiler Package for M16C Series and R8C Family Release note 6 List of Software Versions The software versions included with the C C compiler package V 6 00 are listed below nc30 exe V 7 00 01 000 rcfrt exe V 3 10 1 ccom30 exe V 6 00 02 000 aopt30 exe V 1 05 02 000 sbauto exe V 1 00 00 000 as30 exe V 6 00 01 000 mac30 exe V 3 44 01 000 pre30 exe V 1 12 01 000 asp30 exe V 6 00 04 000 optink exe V 10 01 00 000 1b30 exe V 1 02 00 000 ieee mc30 exe V 4 03 00 000 utl30 exe V 1 01 02 lbg30 exe V 1 00 000 conv30 exe V 1 00 00 000 elvconv exe V 1 00 00 000 prelnk exe V 1 3 0 0 7 AGuide to Porting Projects Created with TM to High performance Embedded Workshop Ver 4 Pl te This document explains how to port projects created with TM Ver 2 xx or Ver 3 xx into High performance Embedded Workshop Ver 4 For how to port projects from TM to High performance Embedded Workshop NC30WA Ver 6 xx see the FAQ section of the Renesas development tools page Summary To port projects created using TM Ver 2 xx or Ver
37. s under the above occurrence condition pragma interrupt func vect 31 static void func void void dummy void amp func Address reference REJ10J2189 0100 2tENESAS 12 C C Compiler Package for M16C Series and R8C Family Release note If SECTIONCEND that terminates a CODE section and the last instruction are written in separate pieces of an assembly language source file the program cannot be debugged correctly Occurrence condition The problem occurs when all of the following conditions are met 1 The assembler option N is not set 2 SECTIONCEND that terminates a CODE section and the last instruction are written in separate files Occurrence example lt sampe a30 gt SECTION prg CODE NOP NOP INCLUDE sample inc END END that terminates a section lt sample inc gt RTS 3 Instruction at the end of a prg section 4 Contents of version up from V 5 45 Release 01 For details please see Appendix K in C C Compiler User s Manual for the M16C Series R8C Family C C Compiler Package V 6 00 4 1 When using ffar_pointer fFP in C pointers to arrays in functions are handled as 16 bits In C pointers to arrays in functions are handled as 16 bits When the far qualifier is explicitly written the pointers can be handled as 32 bits int il 12 void func void il sizeofGnt 4in C and 2 in C when fFP is used i2 sizeof far int Always 4 4 2
38. s you locate sections Example cpu RAM 400 11ff ROM 4000 ffd7 ROM 10000 23fff cpu stride In the above example mapping of ROM RAM to the vector area address range from Offd8H to OffffH is suppressed Automatic placement in noncontiguous RAMs e g R8C 2A to R8C 2D is also possible To set from GUI of High performance Embedded Workshop follow the procedure described below 1 From the Build menu select Renesas M16C Standard Toolchain 2 Select the Linker tab 3 Select Verify from the Category list 4 Select Verify from the Option list 5 Click the Add button and set the type of memory and the start and end addresses 6 Enable the cpu stride checkbox REJ10J2189 0100 2tENESAS 10 C C Compiler Package for M16C Series and R8C Family Release note 3 7 Limitations and Known Troubles The edition is subject to the following limitations Aninternal process may output warnings or error messages that are duplicates of those output by a different internal process Use ofa binary notation of underscore _ in C results in an error When using an EC class library do not use fdouble_32 fD32 If pragma is used in a function that has no prototype declaration neither warnings nor error messages are output Abreakpoint may not always be set at the beginning of a function that is defined at the top in a class No errors result even when a frame passed argument or a non argument frame variable is declar
39. seaeseseseaes 4 3 4 About the method of comparing the Motorola S format in an English language PC cccecsssseseeeeeseseseeseseseeseees 4 3 5 Precautions Concerning the MCU Dependent Part 0 ccccsccsssesesesesesescssscssscsscssssssesssescsesssescsescscscesseseesssessseseseacseseneaes 5 3 5 1 Precautions Concerning the Interrupt Control Register c cccssssssssssssssscsssecsessscscsessscscsescscacseseecsesceeseesssesesescseaes 5 3 5 2 Precautions Concerning Access to the SFR Area ccesssssssessssscssssssesssesssesssesesescsescssscsescseessessesssesessseacasecseecscesseeees 5 3 5 3 Precautions to Taken when Setting Up the Interrupt Priority Level cecsccssseesesescsescssscstscssesescsescsesessseeees 5 3 5 4 Select E8 When Using On Chip Debugger H8a c ccccsesesssssesssescssscsssecsesssesssessscscscscesscesescseseesssesescsescecacecseeees 6 3 6 Precautions Concerning the Compiler Assembler Optimizing Linkage Editor and Utility occ 6 3 6 1 About the section location by the optimizing linkage editor optlnk o c eeeeesesscsssessesssessesstessessesssesstssseestesnees 6 3 6 2 About Debugger Display when Local Variables with Same Name Exist in the Same Function 006 6 3 6 3 About the handling of ABS files generated after lowering the error level at link time cccccscesssesesesceeseeees 7 3 6 4 About the case where a definition of objects using incomplete enumeration type in C results in an e
40. sussssesessssesusseseseeesseaesusseseaeeesseaeeneeses 13 4 3 Note on glb Declaration for Symbol _ SB veccccccsssssssssccssscsesescsescsescsesesescsescseecsnesssesesesesessseasseesseeceneseseeseseseseseneaes 14 4 4 Linkage of standard libraries may not be possible when ffar_pointer fFP or ffar_RAM fFRAM is used 14 4 5 Code hoisting optimize which from compound statements on both of if else statements puts common expressions together in front of the if statement for optimization has been enhanced c scsccssssssssssessesstssssssessseestessesseesee 14 4 6 In NC30 V 5xx arguments were structures and inline function definitions were an assembly macro From V 6 00 on however they are ordinary functions ccccsesesssesssescscssscsssssssscsssesesescsesesesescsescscscscscscscsscssseseseseseseseseaescseacasscseecseesees 14 4 7 A problem that if functions and variables with the same name as those of the functions and variables declared at file scope are declared as extern in a function no errors result even when they differ in type and the declaration in the function is made valid has been corrected cccccccssscscscscsssccsessssscscsssssscscscsessesssescscsssscscscsssessescscscscsesssscscsesssssseecscssesescacssseeses 14 4 8 A trouble that when writing successively to union members writes are sometimes performed in a wrong order has been corrected s iscdsssveactesieveistaiisaviaaieredearninadenteasieadatiadvald
41. unction that returns a structure or union is declared 2 The 1st argument to the function in 1 is passed via the stack 3 The function in 1 is called to initialize auto variables REJ10J2189 0100 2tENESAS 18 C C Compiler Package for M16C Series and R8C Family Release note Occurrence example struct S int i intj struct S func long int test void struct S s func 0x1234 return 1 4 17 A problem that if while the compile option Oloop_unroll OLU is specified an inline function call in a for statement is attempted an assemble error results has been corrected A problem that if while using the compile options Oloop_unroll OLU and Oforward_function_to_inline OFFTI in combination a function call to be expanded in line is written in an iteration statement whose loop is to be unrolled an assemble error is generated has been corrected Occurrence condition The problem occurs when all of the following conditions are met 1 Both of the following compiler options are selected 2 In the compiler option Oloop_unroll OLU a function call to be expanded in line is written in a loop to be unrolled Example1 A case where an inline declared function is called in a loop Example2 A case where the compiler option Ostatic_to inline OSTD is selected and a static declared function is called in a loop Occurrence example int gi inline void inline_func void 4213 void func void
42. you compile build and debug under the integrated development environment or High performance Embedded Workshop 3 3 Precautions Concerning the Virus Check Program When you launch the M16C compiler while a virus check program is resident in memory it may not start up normally In that case remove the virus check program from memory and then restart the M16C compiler 3 4 About the method of comparing the Motorola S format in an English language PC To compare the Motorola S format use the Srecord package srec_cmp available from the link shown below or similar other tool http srecord sourceforge net Note however that Renesas will not assume responsibility for troubles or damage arising from the use of this software We ve prepared a sample for comparing S format files in the folder below for your reference lt install folder gt Tools Renesas nc30wa vXXXrxXX sample mot_compare REJ10J2189 0100 2tENESAS 4 C C Compiler Package for M16C Series and R8C Family Release note 3 5 Precautions Concerning the MCU Dependent Part 3 5 1 Precautions Concerning the Interrupt Control Register When the optimization option 05 is specified the compiler may generate bit manipulating instructions BTSTS and BTSTC The BTSTS and BTSTC instructions cannot be used as instructions to rewrite the M16C interrupt control register When you specify this option be sure to check that the generated code has no problem Exam
43. ype in its definition is erroneously read has been corrected Occurrence condition The problem occurs when all of the following conditions are met 1 One of the following compiler options is used 2 A function that has an argument of double precision floating type is declared 3 The argument in 2 is defined in an old form 4 The argument in 2 is defined to be single precision floating type in its definition 5 The first access to the argument in 4 is a read Occurrence example nc30 c O1 xxxx c include lt stdio h gt float func double float func f float f return f void main void float x func 1 0 if amp 1 0 printf OK n else printf NG n 4 14 A problem that an argument defined to be _Bool type in an old form function definition is erroneously read has been corrected Occurrence condition The problem occurs when all of the following conditions are met 1 A function is defined in an old form 2 The argument to 1 is Bool type 3 A value that the argument in 2 had before it was altered is read 4 The value of the argument in 2 is an even number equal to or greater than 2 REJ10J2189 0100 2tENESAS 17 C C Compiler Package for M16C Series and R8C Family Release note Occurrence example include lt stdio h gt _Bool func x _Bool x return x void main void _Bool x func 2 if k 1 printf OK n Jelse printf NG n
44. ype of CPU used in the TM project from the Type of CPU drop down list Select the tool chain cross tool used for the TM project from the Toolchain drop down list The names of tool chains and corresponding cross tools are shown in Table 1 REJ10J2189 0100 2tENESAS 23 C C Compiler Package for M16C Series and R8C Family Release note Table 1 Tool Chains and Corresponding Cross Tools Tool Chain Cross Tool Renesas M16C Standard NC30WA Renesas R8C Standard NC8C Renesas M32C Standard NC308WA Renesas M32R Standard CC32R Select Import Makefile from the Project list Type the directory path in the Directory text box Type the workspace name in the Workspace Name text box The same name will be automatically entered as the project name in the Project Name text box Click OK 3 You should now be able to see the New Project 1 4 Import Makefile wizard New Project 1 4 Import Makefile 1 I Import options Source files I C source file I Assembly source file l Show file path 4 lent nish Cancel Figure 2 New Project 1 4 Import Makefile Wizard Select the Import options check box this will enable information on build options compiling and assembling options etc to be used to create High performance Embedded Workshop projects If you clear the Import options check box the above information is neglected and not used in High performance Embedded Workshop Type the name of the TM p
45. zed by an expression that includes the sizeof operator have been corrected Where to contact Tool news http tool support renesas com jpn toolnews 080716 tn2 htm http tool support renesas com eng toolnews 080716 tn2 htm Precautions concerning the case where the compile option Ostack_frame_align OSFA is used have been corrected Where to contact Tool news http tool support renesas com jpn toolnews 070701 tn5 htm http tool support renesas com eng toolnews 070701 tn5 htm Precautions concerning the type definition of an incomplete type structure or union have been corrected Where to contact Release note http tool support renesas com jpn toolnews 100401 tn3 htm http tool support renesas com eng toolnews 100401 tn3 htm REJ10J2189 0100 2RtENESAS 20 C C Compiler Package for M16C Series and R8C Family Release note 5 Project conversion in the integrated development environment High performance Embedded Workshop or HEW 5 1 Settings when youre using an assembler startup The contents written in K 1 2 HEW Project Conversion in C C Compiler User s Manual Appendix K Contents of Upgrade and Migration Method apply to the setup method in cases when you re using the M16C series Therefore if you re using an assembler startup of the R8C family you need to set the content given below in the optlnk option start that specifies the start address of a section Less than ROM 64K start
Download Pdf Manuals
Related Search
Related Contents
Freeman PBR32 Use and Care Manual Home Network Certification and Troubleshooting with SmartID™ Full Text - ASU Digital Repository ダウンロード - 中川電気工業 Copyright © All rights reserved.
Failed to retrieve file