Release Note: CalmSHINE16Plus V2.01 Release History (CalmSHINE16Plus_V2_01_ Release_History) Title Keywords Abstract CalmSHINE16Plus V2.01 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-3199 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 Version 1.0 1.1 1.2 1.3 1.4 Author CalmSupport CalmSupport CalmSupport CalmSupport CalmSupport Amendment Create Add compiler part Add compiler part V2.0 Update History V2.01 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 ................................................................................................. 1 3.1 New IM500 firmware for SecuCalm ....................................................................................... 1 3.2 Install New USB device driver for IM-500 ................................................................................ 1 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 4 Revision History after releasing V2.0 version................................................................................. 6 4.1 GUI for SecuCalm ............................................................................................................ 6 4.2 Language tools ............................................................................................................... 7 4.2.1 Compiler – UCC.exe.................................................................................................... 7 4.2.2 Assembler ............................................................................................................... 8 4.2.3 Linker .................................................................................................................... 8 4.2.4 Librarian – CalmSDKAr.exe ......................................................................................... 10 4.2.5 Library ................................................................................................................. 10 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.01 *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 3 Matters that Require Attention 3.1 New IM500 firmware for SecuCalm CalmSHINE16Plus v2.01 requires version 4004EC0F or higher of IM500 firmware for S3FT9K0 device and 4005EC0E or higher for S3ET9K1. **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 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. Property of Samsung Electronics Co., Ltd. 1 System LSI Division, Semiconductor Business 2 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. 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. - \include\mon\Devicename.mon -> \Device\mon\Devicename.mon - \include\mon\Devicename.dvm -> \Device\dvm\Devicename.dvm - \ldscripts\Devicename.md -> \Device\md\Devicename.md - \Sfile\Cstartupsdk_Devicename.asm -> \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 New 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, ___szPushAll, ___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. 4 Revision History after releasing V2.0 version 4.1 GUI for SecuCalm Version Released date December 10, 2009 - V2.01 - 6 Comments [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. Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business October 1, 2009 - - V2.0 - V2.0 Beta 4.2 July 25, 2009 - [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 Language tools 4.2.1 Compiler – UCC.exe Version Released date V1.03h Dec 10, 2009 V1.03g Nov 19, 2009 V1.03f Sep 28, 2009 V1.03e Sep 18, 2009 Comments - [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 - [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 Property of Samsung Electronics Co., Ltd. 7 System LSI Division, Semiconductor Business V1.03d Sep 16, 2009 V1.03c Sep 1, 2009 V1.03b Aug 17, 2009 V1.03a Aug 5, 2009 V1.03 July 24, 2009 - [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 Assembler for SecuCalm – CalmAsm16e.exe Version V1.00n V1.00m V1.00l Released date Dec 11, 2009 Oct 19, 2009 Aug 3, 2009 V1.00k Apr 30, 2009 4.2.2.2 Comments - [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.01c V1.01b V1.01a Released date Oct 19,2009 Oct 7,2009 Aug 20,2009 Comments - [FIX] Debug line information corrected for empty functions - [NEW] Directive .3byte <expr> supported. - 4.2.3 Linker 4.2.3.1 Version V1.00s 8 Linker for SecuCalm – CalmLink16e.exe Released date Dec 11, 2009 Comments - [FIX] Restored old behavior of heap/stack allocation. Linker now allocates stack of 0x200 bytes first and then heap of 0x500 bytes. Property of Samsung Electronics Co., Ltd. System LSI Division, Semiconductor Business V1.00r Nov 18, 2009 V1.00q V1.00p Nov 4, 2009 Oct 16, 2009 V1.00o V1.00n V1.00m V1.00l V1.00k Oct 1, 2009 Sep 15, 2009 Sep 10, 2009 Sep 07, 2009 July 17, 2009 V1.00j July 13, 2009 4.2.3.2 - [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. - [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.01q Released date 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 - [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. 9 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 10 Version V1.03h Released date Dec 10, 2009 V1.03g Nov 18, 2009 V1.03f Sep 28, 2009 V1.03c Sep 8, 2009 V1.03 V1.02h Aug 5, 2009 Jun 29, 2009 Comments - [SecuCalm] Built using compiler V1.03h and assembler V1.00m - [CalmRISC16] Built using compiler V1.03h and assembler V1.01c - [SecuCalm] Built using compiler V1.03g and assembler V1.00m - [CalmRISC16] Built using compiler V1.03g and assembler V1.01c - [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 - [SecuCalm] Built using compiler V1.03c and assembler V1.00l - [CalmRISC16] Built using compiler V1.03c and assembler V1.01a Built using compiler V1.03 and assembler V1.00k Built using compiler V1.02h and assembler V1.00k Property of Samsung Electronics Co., Ltd.