Release Note: CalmSHINE16Plus V2.02 Release History (CalmSHINE16Plus_V2_02_Release_History) Title Keywords Abstract CalmSHINE16Plus V2.02 Release Note CalmSHINE16Plus , SecuCalm, CalmRISC16 This document is the release note of CalmSHINE16Plus System LSI Division, Semiconductor Business Copyright © 2004 Samsung Electronics Co, Ltd. All Rights Reserved. Though every care has been taken to ensure the accuracy of this document, Samsung Electronics Co, Ltd. cannot accept responsibility for any errors or omissions or for any loss occasioned to any person, whether legal or natural, from acting, or refraining from action, as a result of the information contained herein. Information in this document is subject to change at any time without obligation to notify any person of such changes. Samsung Electronics Co, Ltd. may have patents or patent pending applications, trademarks copyrights or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give the recipient or reader any license to these patents, trademarks copyrights or other intellectual property rights. No part of this document may be communicated, distributed, reproduced or transmitted in any form or by any means, electronic or mechanical or otherwise, for any purpose, without the prior written permission of Samsung Electronics Co, Ltd. The document is subject to revision without further notice. All brand names and product names mentioned in this document are trademarks or registered trademarks of their respective owners. Contact Address :: Samsung Electronics Co., Ltd. San#24 Nongseo-Ri, Giheung_Eup, Yongin_City, Gyeonggi-do, Korea 449-711 Tel: (82)-(031)-209-3197 Home Page: http://www.samsung.com/calmsdk Contact us : [email protected] S/W Solution Development Team, SOC Development department, System LSI Division, Semiconductor Business Samsung Electronics Co., Ltd. II Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business Revision History Date July 21, 2009 July 22, 2009 July 24, 2009 October 1,2009 December 9, 2009 Jan 28, 2010 May 6, 2010 Version 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Author CalmSupport CalmSupport CalmSupport CalmSupport CalmSupport CalmSupport CalmSupport Amendment Create Add compiler part Add compiler part V2.0 Update History V2.01 Update History V2.01a Update History V2.02 Update History Property of Samsung Electronics Co., Ltd. III System LSI Division, Semiconductor Business Contents 1 2 3 How to get this package ......................................................................................................... 1 Release History .................................................................................................................... 1 Matters that Require Attention ................................................................................................. 2 3.1 New IM500 firmware for SecuCalm ....................................................................................... 2 3.2 Install New USB device driver for IM-500 ................................................................................ 2 3.3 Support SecuCalm and CalmRISC16 Devices in One environment.................................................... 5 3.3.1 Project Conversion to SecuCalm..................................................................................... 5 3.3.2 New Emulator for SecuCalm Smart card Devices ................................................................. 5 3.3.3 When using existed CalmSHINE16Plus CalmRISC16 Project...................................................... 5 3.4 Change of Step Out operation and Step in operation.................................................................. 5 3.5 When using S3CC40D MCU Devices ........................................................................................ 6 3.6 Support On Chip Timer Feature for SecuCalm Devices ................................................................ 6 4 Revision History after releasing V2.0 version................................................................................. 7 4.1 GUI ............................................................................................................................. 7 4.2 Language tools ............................................................................................................... 9 4.2.1 Compiler – UCC.exe.................................................................................................... 9 4.2.2 Assembler ............................................................................................................. 10 4.2.3 Linker .................................................................................................................. 11 4.2.4 Librarian – CalmSDKAr.exe ......................................................................................... 13 4.2.5 Library ................................................................................................................. 13 IV Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business 1 How to get this package http://www.samsung.com/calmsdk , You can download CalmSHINE16Plus V2.02 *note) Device file package, you can contact to regional FAE. 2 Release History Each tool version according to Packages Beta Official v2.00 Release Official v2.01 Release July 25, 2009 December 11, 2009 V2.0 Beta October 1, 2009 V2.0 V1.03 V1.03f V1.03h V1.00k V1.00l V1.00n V1.01a V1.01c V1.00n V1.00s V1.01k V1.01q V1.00d V1.02h V1.00d V1.03h Tool Ver GUI& Debugger CalmSHINE16Plusv2.exe Compiler Assembler for SecuCalm Ucc.exe Calmasm16e.exe Assembler for CalmRISC16 CalmSDKAs.exe Linker for SecuCalm Linker for CalmRISC16 Librarian Library Calmlink16e.exe V1.00j CalmSDKLd.exe CalmSDKAr.exe V1.00d V2.01 V2.02 Tool Ver GUI& Debugger CalmSHINE16Plusv2.exe Compiler Assembler for SecuCalm Ucc.exe Calmasm16e.exe Assembler for CalmRISC16 CalmSDKAs.exe Linker for SecuCalm Calmlink16e.exe Linker for CalmRISC16 CalmSDKLd.exe Librarian Library CalmSDKAr.exe May 7, 2010 V2.02 V1.04a V1.01a V1.02a V1.01 V1.02 V1.00d V1.04a Property of Samsung Electronics Co., Ltd. 1 System LSI Division, Semiconductor Business 3 Matters that Require Attention 3.1 New IM500 firmware for SecuCalm You can get the device file package from regional FAE for selection device in setting of project option or project creation. This pack helps you to automatically allocating device files officially published. 3.2 Install New USB device driver for IM-500 We have upgraded the USB driver for IM500 in-circuit emulator. It is included in the install package but the installer does not install the driver automatically. You cannot connect IM500 via USB interface unless you install new USB driver. Please follow the below explanation to install the driver correctly. 1. Make sure if you have installed the previous version of USB driver in your system. You have to connect IM500 to see the driver information: 2 2. Delete the current USB device as shown in the picture 3. 4. Disconnect your IM500 from the host PC Connect your IM500 via USB to the host PC Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business 5. You will see the H/W installation wizard. Then, select options like follows. 6. You must make sure that the names of the driver files in the selected folder are “DTKC16_IM500s.inf” and “DTKC16_IM500s.sys”. After a minute, you will get the USB driver for IM500 is installed. Property of Samsung Electronics Co., Ltd. 3 System LSI Division, Semiconductor Business 7. See the property of the device named “CalmSHINE16 middle emulator USB interface”. The manufacturer of the device must be “YIC system Co., Ltd.” as follows 4 Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business 3.3 Support SecuCalm and CalmRISC16 Devices in One environment 3.3.1 Project Conversion to SecuCalm CalmSHINE16Plus V2.0 additionally supports new 16bit core type “SecuCalm” of Samsung. Please refer “CalmSHINE16Plus_PortingGuide_IDEV2.0.doc” in “\Doc” directory for Project Conversion from old project type. 3.3.2 New Emulator for SecuCalm Smart card Devices IM-500 is new emulator for SecuCalm Smart Card Devices. This emulator support new feature like firmware automatic upgrade. Please refer the install guide (USB driver) and usage about this in “CalmSHINE16Plus_Manual_IDE.pdf” file in \Doc folder. If you want to get the all calmRISC16/SecuCalm Device file Package and IM-500 Emulator Firmware, Please contact regional FAE. 3.3.3 When using existed CalmSHINE16Plus CalmRISC16 Project CalmSHINE16Plus V2.0 directory hierarchy is changed from CalmSHINE16Plus V1.xx. It makes to need some changes options when building of your CalmRISC16 CalmSHINE16Plus project. ***note) CalmSHINE16Plus V2.0 support CalmRISC16 and SecuCalm CalmSHINE16Plus Project type. Not CalmSHINE16 Project. CalmSHINE16 Project can be just loaded for Project Conversion. 3.3.3.1 Default project (when no option change) When CalmSHINE16Plus V1.xx IDE create project, it use default Device files like startup file(\SFiles) and Devicename.dvm(\Include\mon) file and Devicename.md(\ldscripts) for Device dependent information. When building old project, It occurs linker error because V2.0 IDE expects to find out the linker description (Memory Description - md) file from default directory (\Device\md). When you want to success to build and debug your V1.xx project in V2.0, Please copy the device dependent files from old V1.xx IDE directories to V2.0 IDE directories Then select your device in Project Option page and Rebuild all. - CSP\include\mon\Devicename.mon -> CSPv2\Device\mon\Devicename.mon - CSP\include\mon\Devicename.dvm -> CSPv2\Device\dvm\Devicename.dvm - CSP\ldscripts\Devicename.md -> CSPv2\Device\md\Devicename.md - CSP\Sfile\Cstartupsdk_Devicename.asm -> CSPv2\Startup\Target\Cstartupsdk_Devicename.asm ****note) You can get the device file package from regional FAE for selection device in setting of project option or project creation. This pack helps you to automatically allocate device files officially published. 3.3.3.2 Recommended way to create project The user can set their own device dependent files position by changing options using relative path compared to Project file location. - Project\Linker tab\Advanced category\Memory Description File(MD file) 3.4 Change of Step Out operation and Step in operation V2.0x IDE support “Step Out” menu on Disassembly view, and supports C Standard Library built with debug information. It make available step out operation in disassembly view some cases, but it influences to decrease speed on Loading time at “Start Debugging” and can influence Step speed, because SYMBOL Total Count is increased. And the side effect, when you want to “Step In”, UI can show sometimes the disassembly view if the current line include library function call. It caused by library built with debug information (default standard library Property of Samsung Electronics Co., Ltd. 5 System LSI Division, Semiconductor Business optimization level is “Minimize Size(Debug)” in Option/Project/Linker/Advanced/Optimization Level of standard library). So if you select the other standard library optimized level without debug information, then you can get the old style “step in”(not into disassembly view when C source Step In). And for code optimization, some c function use pushreg/popreg(return) library in prolog and epilog, “ ___szPopSaved, __szPopSavedEx_R11R12_to_R1R0, ___szPopSavedEx, ___szPopAllEx”, When the user wants to execute the “Step out”, in this case is needed two times of “step out” operation for reaching library function then execution it. If the user see the “step out” operation make the pc to allocate end line of c function or disassembly view, then please click “step out” one more time. In assembly user source, step operation is the same action with disassembly view. 3.5 When using S3CC40D MCU Devices Please should set “Debugging under low frequency (lower then 2.5MHz) or RWG activation” in Options/Tools Menu when using latest v1.46 - C1600 emulator. And 40D user should set “Extend Segment address record(HEX86)” in Utils Menu. It support “intelhexutil.exe” post build command for 40D user at first one time.(MCU customer requirement). If you don’t need this post build command, please remove this command line from post build project option. S3CC40D user need to do 3.3.3 when using existed CalmSHINE16Plus project and additionally work to do for Environment migration. (Device vendor need to prepare below device file package for user convenience) - CSP\include\mon\memory16.map -> CSPv2\Device\mon\memory16.map (for utils/Generate ROM data Menu) - CSP\TargetOS\OsFirmware16.map -> CSPv2\Device\TargetOS\OsFirmware16.map (for IM-500) - CSP\TargetOS\*.hex -> CSPv2\Device\TargetOS\*.hex (for IM-500) 3.6 Support On Chip Timer Feature for SecuCalm Devices On Chip Timer feature is supported for SecuCalm Devices. SecuCalm Device has On Chip Timer in Debug Block itself for measurement. There are two kind of clock type in secucalm board, Sampling Frequency and CPU clock. 6 Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business The user must set the jumper in target board by CPU Clock(or BOARD CLK) to show correctly value, when the user selected the CPU Clock in Onchip timer setup dialog. The measuring result view of “Run On Chip Timer” likes below. 4 Revision History after releasing V2.0 version 4.1 GUI Version V2.02 Released date May 6, 2010 - Comments [NEW] Support the On chip Timer Setup in secucalm Device [NEW] Support MCU S3CC40D Device [NEW] Support Reset signal when start debugging and reloading for clearing system register before downloading [FIX] Build skip issue because of Object file deletion bug [FIX] Breakpoint setting was denied after SMI instructions [FIX] Read stdout pipe error when building [FIX] Changed the Options menu for jtag/internal clock frequency set bug [FIX] Problem Debugging under low frequency or RWG activation [FIX] Problem step some instruction when disassembly view [FIX] MAKE Reflect modification of source in Prebuild stage [UPD] Removed “Disable Autoupdate Header Dependency” menu because it works by default [UPD] remove version string from executables head title and editor background because confusion between Package and UI. (use Help/About CalmSHINE16Plus/Tool info for version report) Property of Samsung Electronics Co., Ltd. 7 System LSI Division, Semiconductor Business December 10, 2009 - V2.01 October 1, 2009 - - V2.0 - V2.0 Beta 8 July 25, 2009 - [NEW] Flash chip erasing by IM500 is supported. (with new IM500 firmware for SecuCalm) [NEW] Verifying flash chip erasing is performed by IM500 (with new IM500 firmware for SecuCalm) [NEW] Upgraded USB driver for IM500 in-circuit emulator [FIX] IDE is sometimes crashed when stepping in disassembly view under OpenICE-C3200 for CalmRISC16 [FIX] The length of a record in the hex file generated by ‘ROM Generation’ is different from the length specified by the user. [FIX] Downloading hex/hxd file for Flash Device with ‘Hex and Hxd download debug’ is unable [FIX] Modifying a header file listed in ‘Project File view’ does not compile a source file that includes the header file when user selected ‘Make’ [FIX] Finding value from Memory Views failed if memory layout specified in .dvm is not sorted by ascending order. [FIX] Modifying value in Registers view was not reflected into the view unless refreshing the view. [FIX] Problems with handling relative path names in ‘Include Path’ of Project Option [FIX] Incorrect pointer value in Watch variables view and Locals view. [NEW] Support SecuCalm Device and CalmRISC16 Device in One environment [NEW] ‘Save options when OK button is pressed’ check boxes in Tool Options and Emulator Options dialog box. The setting options for those dialog boxes are now stored into the Windows Registry when they are closing by selecting OK button. [NEW] Add to display IM-500 Firmware Version on Debugging State [NEW] Enhanced the speed of refreshing Watch variables view and Variables view. [NEW] The tree view of project items in Project options dialog box highlights (Bold character) an item of a source file if it has different option from the project. (“Same as Project Options” check box is not selected) [NEW] Enhanced the speed of retrieving header dependency information with Assembly source Header dependency [NEW] Step out from disassembly view that does not include source code is enabled if it has frame information. [NEW] Added an option to decide if the notification message for IDLE/STOP mode is displayed [NEW] Enhance to generate the many different values result by Verify Image Menu on Outputdir/VerifyImage.txt [NEW] When Simple HW breakpoint setup, UI change condition value to “OR” forcedly [FIX] Many bug fixes in Watch variables view, Variables view, Code/Data memory views, Watch registers view and Disassembly view. [FIX] Many bug fixes in Hardware breakpoint with code area. First Release to limited customer Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business 4.2 Language tools 4.2.1 Compiler – UCC.exe Version Released date V1.04a V1.04 May 4 2010 Apr 23 2010 V1.03n_beta2 Apr 14 2010 V1.03n_beta Apr 12 2010 V1.03n Apr 1 2010 V1.03m_beta3 V1.03m_beta2 V1.03m_beta1 V1.03l Feb 23 2010 Feb 16 2010 Feb 8 2010 Jan 27 2010 V1.03k_beta Jan 22 2010 V1.03j Jan 20 2010 V1.03i Dec 31 2009 V1.03h Dec 10, 2009 V1.03g Nov 19, 2009 Comments - [NEW] Addressing of long-type variable has been optimized. - [NEW] Redundant cast from unsigned char to int (AND Rn,#0xFF or CLRH Rn) reduced by combining it with AND Rn,#(0~255) instruction. - [FIX] Separate stack location has been assigned to each volatile variable irrespective of their relation with other variables and live range. - [NEW] Option --no_bit_type can be used to disable the 'bit' type processing. When this option is set, token 'bit' is not recognized as a keyword, user can use it as variable name. - [FIX] Bug fix in AND/OR/XOR short-hand assignment of secured qualified int variables - [FIX] Link-time-expression optimization updated to handle ADD/MUL/AND/OR/XOR operations with more than two operands - [FIX] Optimization of high-level inline assembly with LDB for SecuCalm. CLRH has been removed - [FIX] CalmRISC16's assembly parser has been updated to read constant numbers which are more than 22bit range. - [NEW] Link-time expression optimization implemented. - [FIX] Bug fix in High Level Combining optimization - [FIX] Error generated when dependency file cannot be opened for writing - [FIX] Bug fix in value range optimization - [FIX] Bug fix in value range optimization - [NEW] Size of a variable is generated in the asm file - [NEW] [CalmRISC16]bit type supported for CalmRISC16 compiler - [NEW] Stack reused enabled for stack size optimization - [FIX] Bug fix in CSE, control flow updated with the changes done in first pass of CSE - [FIX] Bug fix in value range optimization when source and destination operands are same - [FIX] Bug fix in algebraic simplification for OR operation - [FIX] Bug fix in CSE, corrected checking of multiple/conditional entry for an expression in a loop. -[FIX] Bug fix in data-flow-analysis for setting the correct value for store byte operation - [FIX] Order of variables not changed due to extern declaration - [FIX] Bug fix in optimization of &= |= operators. - [NEW] Code generation changed for switch() statements in debug optimization mode for better debug-ability. - [NEW][CalmRISC16] 3byte pointer supported in packed structure. Command line option --ptr3 can be used to enable this optimization. - [FIX] No warning generated when secured and non-secured variables are kept under one #pragma section(…) - [FIX] Corrected #pragma warn <on/off> behavior - [FIX] Error removed while converting a constant to function pointer - [FIX] Wrong pointer addition optimization in optimize mode fixed. - [FIX] Error while initializing variables with address of packed structure corrected. - [FIX] Wrong optimization of const object corrected Property of Samsung Electronics Co., Ltd. 9 System LSI Division, Semiconductor Business V1.03f Sep 28, 2009 V1.03e V1.03d Sep 18, 2009 Sep 16, 2009 V1.03c Sep 1, 2009 V1.03b Aug 17, 2009 V1.03a Aug 5, 2009 V1.03 July 24, 2009 - [FIX] Code generation rule changed for LDB instruction - [FIX] [SecuCalm] Comparison problem with the return value from the function has char return type was fixed. - [FIX] [SecuCalm] Debug information for register pair R12.R13 generated - [FIX] Unicode character set supported while generating dependency file - [FIX] Wrong optimization of volatile variables fixed - [FIX] Compiler error removed when invoked with --copm for local array initialization - [FIX] Compiler error removed for pointer to code in local scope - [FIX] Changed definition of 'jmp_buf' from struct to unsigned int in the <setjmp.h>. - [NEW] All data types and any alignment value which is power of 2 supported in __align(num) keyword - [NEW] #pragma function = interrupt_swi_novector (swi_num, exception_base) has been supported to create multiple SWI handlers with same SWI number. - [FIX] Bug fix in volatile variable optimization - [FIX] Bug fix in code generation of switch statement with -bo option - [NEW] For SecuCalm, option --copm has been made default - [NEW] Options --depenC <file> and --depenA <file> implemented for header file dependency generation - First Release 4.2.2 Assembler 4.2.2.1 Version V1.01a Released date May 4 2010 V1.01 V1.00p V1.00o V1.00n V1.00m V1.00l Apr 23 2010 Feb 11 2010 Feb 8 2010 Dec 11, 2009 Oct 19, 2009 Aug 3, 2009 V1.00k Apr 30, 2009 4.2.2.2 10 Assembler for SecuCalm – CalmAsm16e.exe Comments - [FIX] Parsing of labels starting with dot (.) inside a macro has been corrected. - Version changed for official release - [FIX] No warning generated for undefined symbols in .set .equ symbols - [NEW] Warning generated on undefined symbols - [FIX] JMP <const> is not converted to BRA <const>. - [FIX] Debug line information corrected for empty functions. - [NEW] Options --depenC <file> and --depenA <file> implemented for header file dependency generation - First Release Assembler for CalmRISC16 – CalmADKAs.exe Version V1.02a Released date May 4 2010 V1.02 V1.01e V1.01d V1.01c V1.01b V1.01a Apr 23 2010 Feb 11 2010 Feb 8 2010 Oct 19,2009 Oct 7,2009 Aug 20,2009 Comments - [FIX] Parsing of labels starting with dot (.) inside a macro has been corrected. - Version changed for official release - [FIX] No warning generated for undefined symbols in .set .equ symbols. - [NEW] Warning generated on undefined symbols - [FIX] Debug line information corrected for empty functions - [NEW] Directive .3byte <expr> supported. - Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business 4.2.3 Linker 4.2.3.1 Linker for SecuCalm – CalmLink16e.exe Version V1.01 Released date Apr 26 2010 V1.00y Apr 8 2010 V1.00x Mar 30 2010 V1.00w V1.00v V1.00u Feb 17 2010 Feb 16 2010 Feb 8 2010 V1.00t Jan 28 2010 V1.00s Dec 11, 2009 V1.00r Nov 18, 2009 V1.00q V1.00p Nov 4, 2009 Oct 16, 2009 V1.00o V1.00n Oct 1, 2009 Sep 15, 2009 Comments - [NEW] Address functions StartOf(), EndOf(), MaxEndOf() can be used to specify start address of a load/execution region in the MD file - [NEW] Directive #copy_function = address [, size] has been supported to specify start address of the copy functions used in the init table. Optional size can be specified. Linker generates error if specified size does not match with the calculated size of the copy functions. - [FIX] Link-time-expression optimization updated to handle ADD/MUL/AND/OR/XOR operations with more than two operands - [NEW] Link-time expression optimization implemented. - [FIX] Crash removed when trying to read AREA_num of previous exec region. - [FIX] Call graph algorithm modified for speed issue. - [New] Size of a variable is printed in the MAP file - [NEW] Command line option --max-stack-depth supported to print only maximum stack depth with corresponding call chain in the CGF file - [NEW] Memory area attribute EXPLICIT supported to avoid allocation of unspecified functions in it. - [NEW] Special directives FILL(size, [buf]) and FILL_EXACT(size, [buf]) supported to insert a fill of specified bytes at a location in a load region. FILL_EXACT generates a warning when specified size is not same as length of the buffer. - [NEW] Stack/heap allocated after relax optimization - [NEW] Duplicate function call chain not printed in the CGF file - [NEW] Command line option --lib-as-source and MD file directive #lib_as_source has been supported to allocate sections in lib files in a normal way. - [FIX] Restored old behavior of heap/stack allocation. Linker now allocates stack of 0x200 bytes first and then heap of 0x500 bytes. - [FIX] Error generated when PM or DM not specified in the MD file. - [NEW] Warning generated calculated maximum stack depth is more than the allocated stack size. - [NEW] By default heap of 500 bytes is allocated and remaining RAM space is used for stack. - [NEW] New command line option --max-heap has been supported, to allocate stack of 500 bytes and remaining RAM space is used for heap. - [FIX] No load image generated for sections with NOINIT flag - [NEW] KEEP(...) supported in the MD file to avoid garbage collection of specified sections - [NEW] SYMBOLS(...) in MD file and command line option --create-symbols supported to generate C usable symbols. - [NEW] Execution region attribute FIXED has been supported to generate same load and execution address when non-zero +offset is used. - [NEW] Option --no-zdata-init has been supported to keep ZDATA sections un-initialized - [NEW] ZDATA sections in EEP area are not initialized when they are placed under NOINIT execution region attribute. - [NEW] In the map file, scope of a symbol (GLOBAL / LOCAL) is printed - [FIX] Modified compression algorithm. - [NEW] Debug line information removed for sections without any flags. Property of Samsung Electronics Co., Ltd. 11 System LSI Division, Semiconductor Business V1.00m V1.00l V1.00k Sep 10, 2009 Sep 07, 2009 July 17, 2009 V1.00j July 13, 2009 4.2.3.2 12 - [FIX] Crash removed while optimizing for SJSR instruction. - [FIX] Appropriate allocation flags set to sections without any flags - [NEW] Multiple base addresses supported for SJSR instruction with #sjsr_base = <addr> and SJSRTARGET method. - [NEW] Special symbol created for .swihandler_xx_yy sections. - First Release Linker for CalmRISC16 – CalmSDKLd.exe Version V1.02 V1.01x Released date Apr 23 2010 Apr 8 2010 V1.01w Mar 30 2010 V1.01v Mar 10 2010 V1.01u V1.01t Feb 17 2010 Feb 16 2010 V1.01s Feb 8 2010 V1.01r Jan 28 2010 V1.01q Dec 11, 2009 V1.01p V1.01o Dec 1, 2009 Nov 18, 2009 V1.01n V1.01m Nov 2, 2009 Oct 27, 2009 V1.01l Oct 12, 2009 Comments - Version changed for official release - [FIX] Link-time-expression optimization updated to handle ADD/MUL/AND/OR/XOR operations with more than two operands - [NEW] Link-time expression optimization implemented. - [NEW] Address functions (StartOf, EndOf, MaxEndOf) supported for start address of an load/exec region. - [NEW] Command line option --avoid-swi-area has been supported to avoid allocation of unspecified sections in SWI vector area. - [NEW] Debug info of optimized JSR has been changed - [FIX] Speed of call graph algorithm improved. - [NEW] Size of a variable is printed in the MAP file - [NEW] EXPLICT and FILL()/FILL_EXACT() supported - [NEW] Stack/heap allocated after optimization - [NEW] Command line option --max-stack-depth supported to print only maximum stack depth with corresponding call chain in the CGF file - [NEW] Duplicate function call chain not printed in the CGF file - [NEW] Command line option --lib-as-source and MD file directive #lib_as_source has been supported to allocate sections in lib files in a normal way. - [NEW] Command line option -m<name> has been supported to suppress warnings - [FIX] Restored old behavior of heap/stack allocation. Linker now allocates stack of 0x200 bytes first and then heap of 0x500 bytes. - [NEW] Size of CGF file reduced by not printing the repeated call chains - [FIX] Error generated when PM or DM not specified in the MD file. - [NEW] Warning generated calculated maximum stack depth is more than the allocated stack size. - [NEW] By default heap of 500 bytes is allocated and remaining RAM space is used for stack. - [NEW] New command line option --max-heap has been supported, to allocate stack of 500 bytes and remaining RAM space is used for heap. - [FIX] No load image generated for sections with NOINIT flag - [NEW] KEEP(...) supported in the MD file to avoid garbage collection of specified sections - [NEW] SYMBOLS(...) in MD file and command line option --create-symbols supported to generate C usable symbols. - [NEW] Execution region attribute FIXED has been supported to generate same load and execution address when non-zero +offset is used. - [NEW] Option --no-zdata-init has been supported to keep ZDATA sections un-initialized - [NEW] ZDATA sections in EEP area are not initialized when they are placed under NOINIT execution region attribute. - [NEW] In the map file, scope of a symbol (GLOBAL / LOCAL) is printed - [NEW] Relocation for 3byte pointer supported Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business V1.01k V1.01j V1.01i Sep 15, 2009 Sep 07, 2009 June 29,2009 - [NEW] Debug line information removed for sections without any flags - [FIX] Appropriate allocation flags set to sections without any flags - First Release 4.2.4 Librarian – CalmSDKAr.exe Version V1.00d Released date Dec 19, 2008 Comments - First Release 4.2.5 Library Version V1.04a V1.04 V1.03n V1.03m_beta3 V1.03l V1.03h V1.03g V1.03f V1.03c V1.03 V1.02h Released date May 4 2010 Comments - [SecuCalm] Built using compiler V1.04a and assembler V1.01a - [CalmRISC16] Built using compiler V1.04a and assembler V1.02a Apr 23 2010 - [SecuCalm] Built using compiler V1.04 and assembler V1.01 - [CalmRISC16] Built using compiler V1.04 and assembler V1.02 Apr 1 2010 - [SecuCalm] Built using compiler V1.03n and assembler V1.00p - [CalmRISC16] Built using compiler V1.03n and assembler V1.01e Feb 24 2010 - [SecuCalm] Built using compiler V1.03m_beta3 and assembler V1.00p - [CalmRISC16] Built using compiler V1.03m_beta3 and assembler V1.01e Jan 27, 2010 - [SecuCalm] Built using compiler V1.03l and assembler V1.00n - [CalmRISC16] Built using compiler V1.03l and assembler V1.01c - [SecuCalm] Built using compiler V1.03h and assembler V1.00m Dec 10, 2009 - [CalmRISC16] Built using compiler V1.03h and assembler V1.01c Nov 18, - [SecuCalm] Built using compiler V1.03g and assembler V1.00m 2009 - [CalmRISC16] Built using compiler V1.03g and assembler V1.01c Sep 28, 2009 - [FIX] Stack overflow check library modified for correct detection of stack overflow - [SecuCalm] Built using compiler V1.03f and assembler V1.00l - [CalmRISC16] Built using compiler V1.03f and assembler V1.01a Sep 8, 2009 - [SecuCalm] Built using compiler V1.03c and assembler V1.00l - [CalmRISC16] Built using compiler V1.03c and assembler V1.01a Aug 5, 2009 Built using compiler V1.03 and assembler V1.00k Jun 29, 2009 Built using compiler V1.02h and assembler V1.00k Property of Samsung Electronics Co., Ltd. 13