Tools Release Notes Project No.: TICE99 Issued Date: 2019-01-11 Supported Hardware: TICE99 ICE board Software version: Setup file: setup_TICE99_VersionV108Build06_57sysdef.exe IDE version: Version number: 1.0.8 Build number: 06 C Compiler version: 0.3.44 (cc57.exe) Assembler version: 1.8.12 (ca89.exe) Linker version: 2.1.9 (ld89.exe) Supported Bodies: Flash Type: TM57FA40, TM57FA40A, TM57FLA80, TM57FLA80A, TM57RE12, TM57RE12A MTP Type: TM57MA15, TM57MA16, TM57MA1668, TM57MA1672, TM57MA17, TM57MA18, TM57MA21B, TM57MA25, TM57MA28, TM57MA45, TM57MA46, TM57ME15B, TM57ME15CG, TM57ME16, TM57ME16AS, TM57ME20, TM57ME20A, TM57ME21, TM57ML40, TM57MR10, TM57MT20, TM57MT21, TM57MT21A, TM57M5406, TM57M5408, TM57M5526C, TM57M5536C, TM57M5541, TM57M5551, TM57M5610, TM57M5615, TM57M5640, TM57M5645 OTP Type: TM57P11, TM57P11C, TM57P11CU, TM57P12, TM57P15AU, TM57PA10, TM57PA10A, TM57PA11, TM57PA15, TM57PA16, TM57PA16AS, TM57PA16B, TM57PA20, TM57PA20A, M57PA20B, TM57PA20E, TM57PA25B, TM57PA28, TM57PA40, TM57PA40E, TM57PA45, TM57PA45C, TM57PE10, TM57PE11A, TM57PE11B, TM57PE11BS, TM57PE11C, TM57PE11CS, TM57PE12, TM57PE12AS, TM57PE12D, TM57PE15A, TM57PE15AS, TM57PE15C, TM57PE15CS, TM57PE16, TM57PE20A, TM57PE20B, TM57PE40, TM57PT16, TM57PT16AS, TM57PT16B, TM57PT20A,TM57PT20B, TM57PT45, TM57PT45C, TP6717 USB Type: TMU3130, TMU3131, TMU3132, TMU3132F, TMU3132MS, TMU3132LV, TMU32FA80 Changes in This Release: Changes Notes: [Important updates] (1)Linker version change to v2.1.9 [New functions or enhancements] support: (1)TM57M5640 (2)TM57M5645 [Problems fixed] .IDE - (new) If the IDE is not open, you can set double-click *.prj to open the project. - (new) In WINXP system you can drag *.prj to IDE to open. - (Fixed) The problem is : when multiple files are opened then "Auto Save" is pressed. IDE always only save active file.    2.Assembler - None 3.Linker - (Fix) Linker version change to v2.1.9 ------------------------------------------------------------------------------------------------------------------------------------------ Summary of Changes Where < > Software version number [Important] Important update (New) New function or enhancement (Fix) Correction to existing function 1.IDE - (new) support: (1)TM57ME15CG - (Fix) Modify the lcd Debug display problem (TM57M5610/15/5620/25/40/45) - (Fix) Increase LVR Chinese and English warning messages (TM57PA40E/PA40/PA20E/PA20B/PA20A/PA20) 2.Assembler/Linker - (Fix) Linker version change to v2.1.5 1.IDE - (new) support: (1)TM57ME15B (2)TM57MA45 (3)TM57MA46 (4)TM57M5406 (5)TM57M5408 (6)TM57M5610 (7)TM57M5615 - (Fix) In eimulator, go run function reentrance cause PC display error. 1.IDE - (new) support: (1)TM57ME15 - (Fix) Check for syntactic errors in asm file - add "include xxx.asm" and check for ".equal". - (Fix) In software simulator, step over error especially in CALL function. 2.Assembler/Linker    - (fix) When the program project path name contains Chinese, the project can not be compiled. 1.IDE - (new) support: (1) TMU3132F (2) TM57M5526C (3) TM57M5536C - (Fix) Specify the wrong way of declaration: xxx equ 30H equ 30H    2.Linker    - (Fix) The error resulting of hex program is because the goto instruction is less than the minimum pc value 1.IDE - (New) Support (1) TM57MT21A (2) TM57MA28 - (Fix) TM57PE11C / TM57PE11CS system cfg is IRCS = 8MHz. However, LVRE is not 2.9V.       Cancel forced to set to 2.9V. And Compile willunsuccessful and prompt message in output window.   - (Fix) generate.exe, fix the error of check sum and information rom data.   - (Fix) Debug in asm list, the source code for the corresponding breakpoint is incorrect   - (Fix) Does not allow open lib files to avoid errors when compiling   - (Fix) In TM57MA28, change the cfg [8: 9] value as TM57MA25 when download to EV 2.Linker - (fix) project path name contains a large number of spaces and Chinese characters, and it will resulting in abnormal problem. 1.IDE - (New) Support (1) TM57ME21 (2) TM57M5541 (3) TM57M5551 (4) TM57MA17 (5) TM57MA18 - (Fix) Debug in lst file, it can not determine breakpoint correctly. - (Fix) C project, the op-code of pc=1 is different between two building. - (Fix) generate.exe, the mtp file of flash type chip will include ircf value, and pass the ircf value from caller. - (New) Data Rom selection. - (Fix) when translate .rom file, it will not determine valid code because NOP=0000 is the same as default code. - (Fix) TMU32FA80 device id error. - (Fix) asm list file error. 2.Linker - (Fix) local jump error. - (Fix) Memory area overflow in 'ROM', segment 'CODE' error. 3.Disassembler - (Fix) dasm57.exe, when disassemble call/goto code, and its parameter is large than rom size, then not disassemble it. IDE - (New) Support (1) TM57PA20E (2) TM57PA40E - (Fix)When opening an old project , the window of trim ircf and web update Interaction occurs, it will has        "can not make a visible window modal" error. - (Fix) In the beginning it will cause the screen hold. - (Fix) Cancel the function of auto web update. - (Fix) Modify generate.exe, In TMU3132LV project, checking chip name fail, - (Fix) Modify the first node of register tree, it will display the hex values whether tree is expanded or not. - (Fix) In inc, ic, h files about associated register / system config error IDE   1.1 LCD Editor:     * (Fix) Input simple chinese text in pattern editor, the text is garbled, using copy / paste text simple way to fix this issue.     * (Fix) In select mode, focus box does not eliminate     * (Fix) Open existed file preset SELECT MODE, and new file preset Edit MODE     * (Fix) In select mode, selection multiple objects many times, but the dotted line is still existe..     * (Fix) Selecting multiple objects, and copy / paste, the objects will be pased to the upper left corner of editor window.     * (Fix) Modify the button text in query dialog when leave LCD EDITOR.     * (Fix) In SELECT MODE, copy/past multiple objects, and move these objects, then past this objects againg. But can't move all objects.     * (Fix) Modify the toggle relation between select and edit mode.     * (Add) Pattern browser has drop-down function.     * (Fix) Continuous and rapid to add pattern objects, then copying pattern generated access violation error     * (Fix) In select mode, you can select a single object item.   1.2 (Fix) modification date / time format in a different window system which resulting in program errors   1.3 (Fix) Correct chip Information   1.4 (Fix) TM57MA15 / MA16, when repeated execution buildDownloadAndRun, IRCF value will be chaos.     1.5 (Fix) When Stack OverFlow / UnderFlow, asked the user before doing Reset ICE.   1.6 (Fix) modify system config and check sum function in generate.exe.   1.7 (Fix) For the 28 series, trim ircf and the result is recorded in the register required prior to reset some register.     The relevant information will be stored in ic files and to generate the corresponding instruction by program. IDE - (Fix) LCD Editor: * Modified continuous paste graphics, graphics overlay in the same position. * When first opened LCD EDITOR, it deleted one more object than selected. * After finished editing a new file which does not save, and user want to open another file, it will query user whether to save the previous file. * When turn off the LCD EDITOR, replace "SAVE" button as "Yes / No" button in query dialog. * Append version string after the string of form caption. * When new a lcd file, change the defaut edit mode as slection mode. - (Fix) Software simulation * When save a file, it should not reset simulator flag. * Instruction :TABRL/TABRH, the simulate action is wrong. - (Fix) When QTP a empty disk, modify the data of program rom to 0 if chip type is MTP/Flash, or to 1 if chip type is OTP. - (Fix) Watch function will not show the variable which was defined using ".EQU" instruction in asm file. - (Fix) correct the chip information. C compiler/ ASM - (Fix) In some expression, can't fetch the function name. - (New) Support (1)TM56MH40 (2)TM57MA25 (3)TM57MT20 (4)TM57PA15 (5)TM57PA16 (6)TM57PT16 (7)TM57PA28 (8)TM57PA45 (9)TM57PT45 (10)TM57PA46  (11)TM57PT46  (12)TM57PA20B (13)TM57PE20B (14)TM57PT20B (15)TMU32FA80 IDE - (Fix) Modify the error of watch asm variables show address, rather than the value - (Fix) QTP form - (Fix) Improved the delay situation when start IDE. - (Fix) Fixed the error of LCD Editor - (Fix) Modified IDE automatically checks the web update project files for IDE installation - (New) Support TMU3132LV C compiler (includes Assembler, Linker) - (Fix) tm57 linker, the address operation of call/goto operator is larger than the actually code size, it will show warning message. - (Fix) if instruction "include file" don't specify the file path, then add path name automatically. IDE - (Fix) software simulator execute instruction : movwr, movrw incorrectly. - (Fix) in project folder, just delete the *.o files which are relatived to *.c files. - (Fix) system config recalcuate configure value is wrong, (not save sys[15:14]) - (Fix) software simulator, when user click the area of register/ram data, it will show stack overflow and can't modify the value. - (Fix) software simulater, the variable which defined in inc/h file, and can't modify the value. - (Fix) when parse the item data in output windows, if the file name has "()" character, will not correct. - (Fix) QTP creater program error. - (New) Add software simulater function. - (New) Add a tool to translate TM57PE11A hex to TM57PE11C hex file. - (New) Add "build and debug run" function. - (New) If web site have a new version of the IDE, user manual. In 30 days as unit, IDE will remind users to update. C compiler (includes Assembler, Linker) - (Fix) Bug 590:Using struct array to declare variable of bit field. Using variable index to fetch each array element, and set value of each bit field, the result is not correct. - (Fix) Bug 591: Pass array parameters of long data type to the function, cc57.exe will be wrong. - (Fix) Bug 592: Inverting judgment of a bit variable, the result is not correct. - (Fix) Bug 593: After two long variables to do "AND" operation, and compare the result to a const long double array, the result is incorrect. - (Fix) Bug 594: The addition results of const long variable and long array is incorrect. - (Fix) Bug 595: Addition operation of const variable of char, int, and long array, compiler has error.. - (Fix) Bug 596: Addition operation of const int , long variable and local char variable , the result is incorrect. - (Fix) Bug 597: Fetch the value of const char array, and call to an incorrect address of TableROM. - (Fix) Bug 598: Compare const variables with some of the variables, can not end the program. - (Fix) Bug 599: Subtraction operation of RPLANE variable and immediate value, the result is incorrect. - (Fix) Bug 600: Compare results of two const long array are incorrect. - (Fix) Bug 601: Using const array variable to be the index of other array, the result is incorrect.. - (Fix) Bug 602: Fplane variable divided with the value of immediate variable, then subtract with other variables, compiler will occur error. - (Fix) Bug 603: Const int array to determine the value in the formula, the index does not be stored in stkptr +0, resulting in an error of judgment. - (Fix) Bug 604: In switch judgment, the and operation of const long array and an immeditate value, the result is wrong. - (Fix) Bug 605: Shift one const array, and store the result to another general array, the result is incorrect. - (Fix) Bug 606: Addition operation of RPALNE array and an immidate variable, op1 will be considered as RPLANE address. - (Fix) Bug 607: Addition and multiplication operation of variables and immediate value, the results are not correct. - (Fix) Bug 608: When shift a const array, the array values ​​are incorrect. - (Fix) Bug 609: When static array to do with the operation of other variables, the results are incorrect. - (Fix) Bug 610: With a pointer point to an address of array, , the results are incorrect. - (Fix) Bug 611: Unsigned int array to do arithmetic with each other, the result is not correct. - (Fix) Bug 612: Using pointer to fetch the value of array, an error occurred. - (Fix) Bug 613: In multiplication operation, using double pointer to get address, resulting in an error. - (Fix) Bug 614: Addition operation of const char, int and long array, the result is incorrect. - (Fix) Bug 615: Assign a value of const array to a general array, the results are incorrect. - (Fix) Bug 616: In addition and multiplication operation, the result of double array is not correct. - (Fix) Bug 617: Addition operation of two const array, the result is incorrect. - (Fix) Bug 618: Assign a value to a bit field struct, it will change the value of the other bit field. - (Fix) Bug 619: Incorrect result of temp=temp|temp0 - (Fix) Bug 620: Logical operation of an array and an immediate value, compiler will occur error. - (Fix) Bug 621: When using struct pointer pointing to a struct, and data member is used to determine a value, link will occur error. - (Fix) Bug 624: Subtraction operation of FPLANE variable and an immediate value, FPLANE variable will be regard as an immediate value. - (Fix) Bug 625: Logical operaion of array and a variable, compiler will report syntax error message. IDE - (Fix) In ASM project, there is only one asm file, and display *.lst file will occur exception problems. - (Fix) When translate hex file of TM57PE11A to TM57PE11B, the hex address of 0x3FF and 0x400 misplace. - (Fix) When user new an ASM project, and does not include a main file. Afterwards add an asm file, compiler will occur an error. - (Fix) During debug phase, user changes the content of source code and save it, then press the pause button, it will not stop debug process. - (Fix) Because the chip functional limitations, TM57PE40 in R-Plane memory editing window: R0C ~ R0D displayed as "--" which are not allowed to edit. - (New) When creating new project, provide user to create Interrupt function at the same time together - (New) Provide new create library function C compiler (includes Assembler, Linker) - (Fix) Fix bug when chip is TPxxxx, cannot load library file. - (Fix) Fix bug tm57XX interrupt vector function exceeds 0x30 causes PC address Conflict. - (Fix) Fix bug in the end of function label has no change line (optimization problem). - (Fix) Fix in const array, when decrementing the value of the element will cause cc57 error. - (Fix) Fix error in summation of unsigned char variable, the result is not correct. IDE - ca89.exe adds parameter --romsize xxxx, where xxxx = max rom size. - (Fix) Fix IDE problem in win xp/win7/win8 wake up in sleep mode, IDE cannot response. - (Fix) Fix TM57PA20 hex file convert to TM57PA20A, check 7FCH~7FFH whether data exist. (New) Add Best SIRC calculation function C compiler (includes Assembler, Linker) - (Fix) Fix tm57 table ROM allocation error, cause code address conflict bug - (Fix) Fix cc57.exe abnormal termination problem - (Fix) Fix error caused when /* ...... */ and instruction are in the same line - (Fix) Fix when .c file is added into project tree, cannot create .s file problem - (Fix) Fix when project path name contains blank space, cause link error problem - (Fix) Fix TM57MA12 coe and lib file problem related with ROM size - (Fix) Fix expression => A+=B, if A or B is undeclared variable, will cause cc57 hang IDE - (Fix) When device fails, fix continuous display stack overflow/underflow message problem - (Fix) Fix when IRCF is trimmed, collect error message problem - (Fix) Fix TM57PA20, TM57PA20A system config about nReuse and spc matching - (Fix) Fix win7, xml add decoding program error, but good in win8 platform - (Fix) Fix when code size is more than half, reuse setting is limited - (Fix) Fix asm project can add *.h file into project tree - (Fix) Fix when compilation result contains wrong string, will cause analyze error - (Fix) Fix when program is in update project setting, cannot update the status - (Fix) Fix editor mouse down to get active page index program error (it will cause program works unproperly) - (Fix) Fix when IDE pressing function-key(F1~F12) to debug, LCD window at front stage, then pass key-down message to IDE C compiler (includes Assembler, Linker) - (Fix) Linker does not output error counter message and remove .CDS .BIN file errors IDE - (Fix) In TM57PA15, when trimming IRCFm, add instruction BSF cpucks to change clock mode - (Fix) TM57PA15.ic, system config-LVR initial address error - (Fix) when opening file in project, the path is relative path (avoid when the project folder is copied, the path opened is the previous path) - (Fix) in editor can display errors in link process - (Fix) Adjust "Project Setting" display window size and the width of the columns - (Fix) TM57PT20A, TM57PE20A, TM57PA20 configure errors - (Fix) asm project, main.asm file adds case off comments - (New) Add Body: TM57PA15, TM57PE12D, TM57PT20A, TM57PA43, TM57ME16, TM57PE16, TM57MA12, TM57MA20, TM57PA21B, TM57PA25B - (New) Add simulation command SUBLW - (New) Add programming order created by hex file - (New) LCD Editor revised C compiler (includes Assembler, Linker) - (Fix) Bug 520: In while operation, when bit variable and immediate value are used in calculation, and then with the other variables to make a judgment, the result is incorrect - (Fix) Bug 521: Fix IF judgement error - (Fix) Bug 522: When array is shifted in if judgement and then ORed with immediate value, the immediate value will be regarded as address - (Fix) Bug 523: Fix const variable and bit variable judgement, cause infinite loop - (Fix) Bug 524: Fix function when converting uppercase and lowercase characters, .o file is not created - (Fix) Bug 525: Fix if judgement 2 logical comparison result, the execution is incorrect - (Fix) Bug 526: Fix do...while loop judgement error - (Fix) Bug 527: Fix SAVEADDR address error - (Fix) Bug 528: Fix if(!B1 & (val >10)) judgement error - (Fix) Bug 529: Fix function return, the comparison is incorrect - (Fix) Bug 530: Fix bit used with char variable, the judgement of && comparison will cause cc57 error - (Fix) Bug 531: Fix when using 4 operation combinations, the result will be the sum of the first variable - (Fix) Bug 532: Fix logical operation mixed combination, the result will be the operation of the first variable - (Fix) Bug 533: Fix XOR operation between long pointer and variable, the result is incorrect - (Fix) Bug 534: Fix OR operation between common variable and pointer variable, the result is incorrect - (Fix) Bug 535: Fix immediate value comparison cause compiler cannot create .o file - (Fix) Bug 536: Fix when using Pointer replaces array do shifting, the result is incorrect - (Fix) Bug 537: Fix struct pointer and long variable are summed, in CHARtoLONG process, the address is incorrect - (Fix) Bug 538: Fix if((!var || var)==1) judgement incorrect - (Fix) Bug 540: Fix inline asm in bank1 variable operated with bank0 is not switched back - (Fix) Bug 541: Fix breakpoint function stored error - (Fix) Bug 542: Fix bit variable after AND operation, judgement whether resulting in 1, the judgement is error - (Fix) Bug 543: Fix const variable judgement, cause the whole process works incorrectly - (Fix) Bug 544: Fix long variable when do many multiplication, the result is incorrect - (Fix) Bug 545: Fix if(!(b0 || val)) judgement error - (Fix) Bug 546: Fix if(!(Var || Var) == 1) judgement error - (Fix) Bug 547: Fix if(((Var || Var) ^ 1) == 0) judgement error - (Fix) Bug 548: Fix when bit variable used in && judgement, cannot create .o file - (Fix) Bug 549: Fix structure address display error - (Fix) Bug 550: Fix when bit variable used in && judgement, cannot create .o file - (Fix) Bug 551: Fix after operation of char, judgement is incorrect - (Fix) Bug 552: Fix after logical operation of 2-bit variable, judgement error - (Fix) Bug 553: Fix when using pointer points to array and do judgement, the result error - (Fix) Bug 554: Fix while(b0 & (Var < 0)) comparison result is incorrect - (Fix) Bug 555: Fix when link manages const address, it is not limited to 256 as the max value - (Fix) Bug 556: Fix after logical operation, then do AND operation of immediate value, the judgement is error - (Fix) Bug 557: Fix if(((b0 ^ 1) || (Var - 16)) != 0) judgement error - (Fix) Bug 558: Fix after const array pointed address, may cause last judgement of goto address of for loop incorrect - (Fix) Bug 559: Fix when const char array judgement is 0, the result is incorrect - (Fix) Bug 560: Fix when char array judgement is 0 or 1, the result is incorrect - (Fix) Bug 561: Fix after function address is assigned, the execution action is not normal IDE - LCD Program (Fix) Before IDE is turned off, ask whether LCD modifications need to be stored (Fix) Default path of pattern is system execution path (Fix) Fix problem when IDE turns on LCD, screen flicker problem (Fix) Fix problem which cannot read chip type (Fix) Fix Lcd editor in debug mode display problem - (Fix) Fix TM57PA11 system config: LVR selection error - (Fix) Fix union structure contains bit, int elements, address display error - (Fix) Fix nested struct+union combination, address calculation error - (Fix) Fix TM57FE80 inc file, rsr address definition error - (Fix) Adds project setting in tool bar