Download PDF

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.