Download PDF

Release Note:
CalmSHINE16Plus V2.05
Release History
Title
Keywords
Abstract
CalmSHINE16Plus V2.05 Release Note
CalmSHINE16Plus , SecuCalm, CalmRISC16
This document is the release note of CalmSHINE16Plus
System LSI Division, Semiconductor Business
Copyright © 2015 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
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.
Contact Address (Technical Support for CalmSHINE16 IDE & Emulators)
Tel: (82)-(031)-278-0461
Contact us : [email protected]
II
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
Revision History
Date
Jul 21, 2009
Jul 22, 2009
Jul 24, 2009
Oct 1,2009
Dec 9, 2009
Jan 28, 2010
May 6, 2010
Jul 27,2010
Nov 29, 2010
Sep 02, 2011
Jan 04, 2012
Aug 01, 2012
May 21, 2014
Oct 06, 2014
Mar 09, 2015
Nov 06, 2015
Version
Author
CalmSupport
CalmSupport
CalmSupport
CalmSupport
CalmSupport
CalmSupport
CalmSupport
CalmSupport
CalmSupport
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
Compiler,,Assembler,Linker part added
V2.03 Update History
V2.04beta Update History
V2.04beta a Update History
V2.04 Update History
V2.05 Update History
Language Patch
Language Patch
Language Patch
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
What’s New ...........................................................................................................................3
3.1
CalmSHINE16Plus v2.05 ...................................................................................................... 3
3.1.1
Build Tools are updated ................................................................................................ 3
3.1.2
Disassembly by Address Order ........................................................................................ 3
3.1.3
A DPJ file is created even though there is no *.elf file. .......................................................... 4
3.1.4
UTF-8 Format file Display. ............................................................................................ 5
3.1.5
More multi-byte characters can be displayed. ..................................................................... 5
3.1.6
Device related files are included in the Install Package. ........................................................ 5
3.1.7
Special Area Erase Option ............................................................................................. 5
3.1.8
Command Line Build Option ........................................................................................... 6
3.2
CalmSHINE16Plus v2.04 ...................................................................................................... 8
3.2.1
Build Tools are updated ................................................................................................ 8
3.2.2
Printf outputs characters at once .................................................................................... 8
3.2.3
DVM supports the Memory Limitation. .............................................................................. 8
3.2.4
Simple Timer Setting is supported in SecuCalm ................................................................... 8
3.2.5
Cursor History function is added ..................................................................................... 8
3.2.6
Address Field is added to Watch / Variable window. ............................................................. 9
3.2.7
Build tool options settings are printed on each window. ........................................................ 9
4 Matters that Require Attention ................................................................................................. 10
4.1
CalmSHINE16PlusV2 v2.05 UTF-8 .......................................................................................... 10
4.2
CalmSHINE16PlusV2 v2.04: Semihosting function ...................................................................... 10
4.3
New IM500 firmware for SecuCalm ....................................................................................... 10
4.4
CalmSHINE16PlusV2 v2.03: New USB device driver for IM-500....................................................... 10
4.5
Support SecuCalm and CalmRISC16 Devices in One environment ................................................... 10
4.5.1
Project Conversion to SecuCalm ..................................................................................... 10
4.5.2
New Emulator for SecuCalm Smart card Devices ................................................................. 10
4.5.3
When using existed CalmSHINE16Plus CalmRISC16 Project ..................................................... 10
4.6
Change of Step Out operation and Step in operation ................................................................. 11
4.7
When using S3CC40D MCU Devices ........................................................................................ 11
4.8
Support On Chip Timer Feature for SecuCalm Devices ................................................................ 12
5 Revision History after releasing V2.0 version ................................................................................ 13
5.1
GUI ............................................................................................................................. 13
5.2
Language tools ............................................................................................................... 18
5.2.1
Compiler – UCC.exe .................................................................................................... 18
5.2.2
Assembler ................................................................................................................ 23
5.2.3
Linker ..................................................................................................................... 24
5.2.4
Librarian – CalmSDKAr.exe ........................................................................................... 27
5.2.5
Library .................................................................................................................... 27
IV
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
1 How to get this package
You can download CalmSHINE16Plus V2.05 from the following website.
http://www.samsung.com/calmsdk
*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
Jul 25, 2009
Oct 1,
2009
Dec 11, 2009
Tool Ver
GUI& Debugger
CalmSHINE16Plusv2.exe
V2.0 Beta
V2.0
V2.01
Compiler
Ucc.exe
V1.03
V1.03f
V1.03h
Assembler for
SecuCalm
Calmasm16e.exe
V1.00k
V1.00l
V1.00n
Assembler for
CalmRISC16
CalmSDKAs.exe
V1.01a
V1.01c
V1.00n
V1.00s
V1.01k
V1.01q
V1.00d
V1.00d
V1.02h
V1.00d
V1.03h
V2.02
V2.03
V2.04
May 7, 2010
Nov 29, 2010
Aug 1, 2012
Linker for
SecuCalm
Linker for
CalmRISC16
Librarian
Library
Calmlink16e.exe
V1.00j
CalmSDKLd.exe
CalmSDKAr.exe
Tool Ver
GUI& Debugger
CalmSHINE16Plusv2.exe
V2.02
V2.03
V2.04
Compiler
Ucc.exe
V1.04a
V1.04f
V1.05p
Assembler for
SecuCalm
Calmasm16e.exe
V1.01a
V1.01d
Assembler for
CalmRISC16
CalmSDKAs.exe
V1.02a
V1.02a
Calmlink16e.exe
V1.01
V1.01d
V1.01l
CalmSDKLd.exe
V1.02
V1.02b
V1.02c
CalmSDKAr.exe
V1.00d
V1.04a
V1.00d
V1.04f
V1.00d
V1.05o
Linker for
SecuCalm
Linker for
CalmRISC16
Librarian
Library
Property of Samsung Electronics Co., Ltd.
V1.01f
V1.02a
1
System LSI Division, Semiconductor Business
Tool Ver
V2.05
V2.05 patch
V2.05 patch 2
Jun 26, 2014
V2.05
Oct 06, 2014
V2.05
Mar 09, 2015
V2.05
GUI& Debugger
CalmSHINE16Plusv2.exe
Compiler
Ucc.exe
V1.06h
V1.06k
V1.06k
Assembler for
SecuCalm
Calmasm16e.exe
V1.01f
V1.01f
V1.01f
Assembler for
CalmRISC16
CalmSDKAs.exe
V1.02a
V1.02a
V1.02a
Linker for SecuCalm
Calmlink16e.exe
V1.01t
V1.01u
V1.01u
Linker for CalmRISC16
CalmSDKLd.exe
V1.02e
V1.02e
V1.02e
Librarian
Library
CalmSDKAr.exe
V1.00d
V1.05q
V1.00d
V1.05q
V1.00d
V1.06l
V2.05 patch 3
Tool Ver
Nov 06, 2015
V2.05
GUI& Debugger
CalmSHINE16Plusv2.exe
Compiler
Ucc.exe
V1.06o
Assembler for
SecuCalm
Calmasm16e.exe
V1.01f
Assembler for
CalmRISC16
CalmSDKAs.exe
V1.02a
Linker for SecuCalm
Calmlink16e.exe
Linker for CalmRISC16
CalmSDKLd.exe
Librarian
Library
CalmSDKAr.exe
2
V1.01v
V1.02e
V1.00d
V1.06n
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
3 What’s New
3.1
CalmSHINE16Plus v2.05
3.1.1 Build Tools are updated
Compiler/ Linker / Library are updated.
For more information, refer to 5.2 Language tools part.
3.1.2 Disassembly by Address Order
To support disassembly by address order, ‘Assembly line order by address’ option is added to [Option]-[Tools]
dialog.
[Note – AddressDisassembly mode]
- The AddressDisassembly window appear in C/Disassembly mode.
- Source_Name.Disassembly is displayed with no address older.
- Current PC bar is displayed only in AddressDisassembly window.
Property of Samsung Electronics Co., Ltd.
3
System LSI Division, Semiconductor Business
3.1.3 A DPJ file is created even though there is no *.elf file.
Regarding [File]-[Hex file debugging Open] function,
In the previous version, a dpj file was created only if the *.elf file was set in the dialog.
Now, a dpj file is created even though any *.elf file is not set in the dialog.
As the previous version, the *.dpj file is created at ‘Stop Debugging’.
DPJ file location
- if ELF file is set: DPJ file is created in the upper folder of elf file.
- if ELF file is not set: DPJ file is created a the folder where the *.hex file is.
Recent DPJ file List
Recent Open DPJ files will be listed in ‘Recent DPJ Projects.
4
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
3.1.4 UTF-8 Format file Display.
CalmSHINE16PlusV2 2.05 can open the UTF-8 Format source file.
However, you should caution regarding compile and save the UTF-8 format file.
[Caution: Limitation]
- Saving UTF-8 File Issue.
CalmSHINE16PlusV2 2.05 converts UTF-8 to ANSI format for display. As the result, some character cannot be
converted and displayed as '??'. In this state, if you edit source and saving it again, '??' character will be broken.
So it is not recommended to save any UTF-8 format file in CalmSHINE16PlusV2.
- BOM mark in UTF-8
The compile will fail if 'BOM' mark is located in the beginning of source file even though CalmSHINE16PusV2
display the file.
So when you save the source file in the other editor, please save it without 'BOM'.
- Compiler does not support UTF-8
Current Calm Compiler does not support UTF-8.
For example, any character consists of ‘\(0x5C)’ and others, the build will fail.
3.1.5 More multi-byte characters can be displayed.
3.1.6 Device related files are included in the Install Package.
Device related files are included in the install package.
- DVM folder: *.dvm files
- MON folder: *.mon files and memory16.map file
- TargetOS folder: IM500S firmwares and OsFirmware16.map file
However, *.h / *.md file is not included.
3.1.7 Special Area Erase Option
Special Area Erase option can be set in the DVM file. The default option is ‘Erase TRUE’
Caution:
- This option is only available to 80nm SecuCalm devices.
(S3CT9xxx and S3FT9Kx devices are not supported)
- New firmware is required.
// Erase the special area
SETFLAG
{
SPECIAL_AREA_ERASE
}
// No Erase the special area
SETFLAG
{
SPECIAL_AREA_ERASE
}
TRUE
FALSE
Property of Samsung Electronics Co., Ltd.
5
System LSI Division, Semiconductor Business
3.1.8 Command Line Build Option
CalmSHINE16PlusV2 2.05 supports arguments to build an image without executing the GUI.
Format
CalmSHINE16PlusV2.exe <option>
<"Project_Name">
Example
To Rebuil All,
C:\CALMSHINE16PlusV2\Bin> CalmSHINE16PlusV2 -rebuildall "D:\MPrj\Getting_Start.prj"
To Make,
C:\CALMSHINE16PlusV2\Bin> CalmSHINE16PlusV2 -make "D:\MPrj\Getting_Start.prj"
To Create a Build Command File,
C:\CALMSHINE16PlusV2\Bin> CalmSHINE16PlusV2 -makefile "D:\MPrj\Getting_Start.prj"
6
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
3.1.9 Source Path Policy is changed
[Option]-[Source Path..]-‘Folders Common to All targets’ policy is changed.
In case of the previous version, the path was changed to the relative from CalmSHINE16PlusV2 internally.
Now, in case of [Option]-[Source Path..]-‘Folders Common to All targets’
1. Keep the path information as it is registered.
- If an absolute path is added, it keeps the absolute path.
- If a relative path is added, it keeps the relative path.
2. Relative Path Policy is changed.
- If a general project file is opened, it is the relative path from the project file.
- If a ‘Hex file debug open’ project with an *.elf, it is the relative path from the elf file.
New Policy
No Change
Property of Samsung Electronics Co., Ltd.
7
System LSI Division, Semiconductor Business
3.2
CalmSHINE16Plus v2.04
3.2.1 Build Tools are updated
3.2.2 Printf outputs characters at once
It can prints several character at once in the semihosting output function, for example 'printf()' (The previous
version printed only a character at once.) To use it, you should use a new library(v1.05n) which is installed with
CalmSHINE16PlusV2 v2.04 .
3.2.3 DVM supports the Memory Limitation.
The latest IM-500S firmware supports the memory range limitation setting in the DVM file. To do it, a ‘Physical
Memory Area’ block should be used in DVM file.
To use the function, new DVM/OS map file/firmware/CalmSHINE16PlusV2 v2.04 are required.
3.2.4 Simple Timer Setting is supported in SecuCalm
[Setup]-[ OnChip Timer Start Setup] / [Setup]-[ OnChip Timer End Setup] menus are added.
3.2.5 Cursor History function is added
8
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
3.2.6 Address Field is added to Watch / Variable window.
3.2.7 Build tool options settings are printed on each window.
Property of Samsung Electronics Co., Ltd.
9
System LSI Division, Semiconductor Business
4 Matters that Require Attention
4.1
CalmSHINE16PlusV2 v2.05 UTF-8
CalmSHINE16PlusV2 2.05 can open the UTF-8 Format source file.
However, you should take care of compiling and saving it.
- CalmSHINE16PlusV2 2.05 converts UTF-8 to ansi format for display. As the result, some character cannot be
converted and displayed as ‘??’ or ‘ ’. If you edit source and saving it again in CalmSHINE16PlusV2, ‘??’ character
will be broken.
So it is not recommended to save any UTF-8 format file in CalmSHINE16PlusV2.
- The compile will fail if ‘BOM’ mark is located in the beginning of source file. So when you save the source file in
the other editor, please save it without ‘BOM’.
4.2
CalmSHINE16PlusV2 v2.04: Semihosting function
CalmSHINE16PlusV2 2.04 can prints several character at once in the semihosting output function, for example
‘printf()’ (The previous version printed only a character at once.) To use it, you should use a new
library(v1.05o).CalmSHINE16PlusV2 v2.04
4.3
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.
4.4
CalmSHINE16PlusV2 v2.03: 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. For more information, refer to ‘Install_New_USB_Driver.rtf’ or ‘CalmSHINE16Plus_Manual_IDE.pdf’
4.5
Support SecuCalm and CalmRISC16 Devices in One environment
4.5.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.
4.5.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.
4.5.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.
10
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
4.5.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.
4.5.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)
4.6
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
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.
4.7
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)
Property of Samsung Electronics Co., Ltd.
11
System LSI Division, Semiconductor Business
- 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)
4.8
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.
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.
12
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
5 Revision History after releasing V2.0 version
5.1
GUI
Version
V2.05
V2.05
V2.05
Released date
Nov 06, 2015
May 09, 2015
Oct 06, 2014
-
V2.05
Jun 26, 2014
-
V2.04
Aug 01, 2012
-
Comments
(Language Update Only)
(Language Update Only)
(Language Update Only)
[New] Disassembly by address order is supported.
[New] UTF-8 format file can be opened.
(Note: compiler does not support UTF-8)
[New] More multi byte character can be displayed.
[New] DPJ file can be created without an elf file.
[New] SecuCalm Device files(.mon,.dvm) are added to the install
package.
[New] Add a short cut keys - cursor history function.
[New] Special Area Erase option can be set in DVM file.
[New] Breakpoint can be set in the include file.
[New] Add Command Line Build Options.
[Spec] Internal Build timeout value is increased to 60seconds.
[Spec] [Option]-[Source Path] policy is changed.
[Fix] Program was terminated at stepping in case of specific image.
[Fix] Program was terminated in ‘Hex file open debug’ if home group is
enabled.
[Fix] Program was terminated if the mouse cursor was moving during
the download process.
[Fix] Program was terminated when the user tried to start debugging if
an assembly file included a file.
[Fix] The program could not stop the execution if stop/idle mode was
requested very fast.
[Fix] The project was built automatically at start debugging after it was
open two times.
[Fix] The memory range was not changed if devices is changed devices
with mouse wheel in ROM/EEPROM generation.
[Fix] The 2nd pointer value in a structure variable was not shown
correctly in the watch window if it was chained.
[Fix] USB could not be connected if USB was reconnected before the
download error message box was closed.
[Fix] The source path is not set correctly if the path name is
‘CalmSHINE16PlusV2’+ one or more ‘_’
[etc] Connection/Communication Error messages are changed.
[Fix] The modified source in the prebuild stage was not compiled at
[Build]-[Make] in v2.04.
Property of Samsung Electronics Co., Ltd.
13
System LSI Division, Semiconductor Business
May 04, 2012
-
V2.04beta b
Mar 21, 2012
V2.04beta a
-
14
[Spec] nSize of characters are printed at once in semihosting output.
To use it, you should use a new library(v1.05o).
The previous version printed only a character at once.
[Fix] When a user tried to make a library project for CalmRISC, it was
made for SecuCalm
[Fix] PC was not changed if a user tried to input a value above 0xffff in
the Watch Register view.
[Fix] There was an Internal Buffer error when trying to change the
values in ROM/EEPROM generation view.
[Fix] Program was terminated when a user tried to delete NULL path
even if there was no registered path in the Project option.
[Fix] No error message was displayed even if it was failed to save the
modified file
[Fix] User input address was not set in On chip Timer sometimes.
[Fix] It failed to get the correct variable information because of Was
DLL problem.
[Fix] Incorrect hex value parsing in ‘SetPC’ function
[Fix] Program was terminated if incorrect address range was input in
the memory fill
[Fix] Connection was failed after a user selected ‘No’ in IM500S
firmware update dialog.
[Fix] Min/Avg value, in OnChipTimer view, were not correct.
[Fix] The changed contents was not applied at ‘build-make’ because
the file was not saved in a specific case.
[Fix] Options setting display was not updated when Assembler/
Compiler/Linker Advanced option was changed
[Fix] An error message was appeared at reloading after changing the
Tab size in the Tool option.
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
Aug 04, 2011
-
V2.04beta
-
[SPEC] The dependency is not updated if ‘Build All’ is failed.
[SPEC] Warning message is not shown even if a file line number is over
10000.
[Spec] Disable [Debug]-[download data multi file] in non-flash device.
[Spec] Function Tree in Go/Run Setup is enlarged a little bit.
[New] supports SecuCalm internal Memory size setting.
DVM file should be changed, new IM-500S firmware required.
[New] Shows Build options in [Option]-[Project]
[New] Add ‘Onchip timer Start/End’ for SecuCalm
[New] Add ‘Cursor History function’
[New] Add ‘Address column’ in Watch/Variable window
[FIX] Build menu was disabled, if user selected non-exist device and
then an available device.
[Fix]‘Go to Definition’ menu was disabled, if mode is changed from
‘disassembly’ to ‘source’ mode
[Fix] ‘Step Out’ could not return from the ‘printf’ if a user stepped in
‘printf’ library.
[Fix] Abnormal termination if a special character was written in
‘Address’ field in ‘Go Setup’
[Fix] Abnormal termination if user double-clicked the disabled dialog
box in ‘map file link project’
[FIX] Call Stack view was not updated if the debugger failed to find the
Next Information.
[Fix]CalmSHINE16 was terminated when trying to download *hxd that
exceeding the EEPROM range.
[Fix] Disable ‘Run MDS Timer’ menu in C3200.
[Fix] [Option]-> [Project]-‘Pre-build’ option or command was not
updated immediately (make or rebuild twice was required)
[Fix] *.elf file in Debug folder was deleted when building in Release
mode.
[Fix] Step Over in __asm(“stop”); was not correct
[Fix] Garbage Cycle value was shown in the status when an emulator
was used.
[Fix] In case of BSR instruction, the target address was not displayed in
disassembly.
[FIX] When you select ‘[Debug]-[Start Debugging],
if ‘Verify Download’ option is checked, the “Download error at 0x0”
message box appears.
[Fix] R0, R1 was changed when entering a function in S3FC9Ax with
OPENice-C1605
[Fix] Incorrect value was written to ‘r11’ in SecuCalm simulator if ‘mov
r10r11,a12’ is executed.
[Fix]When executing ‘Make’ after changing ‘dvm’ file in the project
option, Rebuild All was executed instead of Make, if the project was
created and never saved.
Property of Samsung Electronics Co., Ltd.
15
System LSI Division, Semiconductor Business
Nov 18, 2010
-
V2.03
-
May 6, 2010
-
V2.02
-
16
[Spec] Save only the compiled file when [Build]-[Compile]
[Spec] ‘Save as’ function works just as other window programs.
[Spec] IM-500S version is shown as an hex value in ‘Help’-‘About’
[Spec] ‘Restart at Stop Instruction’ is disabled in IM-500S
[FIX] Warning message appears when changing SR_T in Register window.
[FIX] The value cannot changed in specific case in Variable/Watch
window
[FIX] The restart address is incorrect if a user stops the program in
STOP mode and ‘Restart at Stop Instruction’ option is checked.
(CalmRISC16 cored device)
[FIX] Device selection error in project option when opening an old
project
[FIX] ‘Continue Go’ works just as single step after semi-hosting function
[FIX] in S3F40D device, SW breakpoint is not removed by mouse click
[FIX] in S3F40D device, ‘Download Verify’ error.
[FIX] Fail to find address when ‘drag&drop’ a variable from the debug
window to a memory window
[FIX] IM-500S Firmware version is shown incorrectly in some PC
[FIX] The program is terminated when open a NULL file in the project
window.
[FIX] ‘Option’-‘Tools’-radix option is not applied in Debug mode
[FIX] ‘Dup’ instruction was worked incorrectly in Simulator mode
[FIX] In specific case, when open a project in other PC, the device is
not red correctly if the device folder was set to the user defined
location.
[FIX] ‘Debug’-‘Verify Image’ function does not work correctly.
[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.
System LSI Division, Semiconductor Business
Dec 10, 2009
-
V2.01
Oct 1, 2009
-
-
V2.0
-
V2.0 Beta
Jul 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.
17
System LSI Division, Semiconductor Business
5.2
Language tools
5.2.1 Compiler – UCC.exe
Version
18
Released date
V1.06o
Nov 06 2015
V1.06n
Oct 08 2015
V1.06m
May 07 2015
V1.06l
Nov 26 2014
V1.06k
Oct 07 2014
V1.06j
Oct 01 2014
V1.06i
V1.06h
Jul 07 2014
May 11 2014
V1.06g
May 06 2014
V1.06f
Apr 09 2014
V1.06e
Mar 04 2014
V1.06d
Feb 19 2014
V1.06c
Feb 11 2014
V1.06b
Aug 05 2013
V1.06a
Apr 25 2013
V1.05t
Mar 26 2013
Comments
- [FIX] new warning message: align keyword: treated as warning, not as
error.
- [NEW] +ZF optimization option: allows to move floating constants into
CDATA (instead of CODE) memory.
- [NEW] floating point constants: RAM usage is decreased by moving them
into code memory.
- [NEW] optimization +Zp is added: Push/Pop optimization for Osize and
Osizedebug.
- [NEW] --ptr3 support is implemented in SecuCalm.
- [NEW] new warning message: align keyword is ignored for local variable.
- [NEW] comparison of long integers and floating point values is improved.
- [FIX] code generation for comparison operation with secured variables is
fixed.
- [NEW] Optimization +PAI: support of big files and big functions is
implemented.
- [FIX] re-fix of bugfix of CSE optimization from (1.06d-1.06f) versions :
there was generation of slow code in some cases on Ospeed.
- [NEW] PA-like optimization is implemented in compiler to replace --PA
option, which requires 3rd party tool PA.exe. It could be activated with Osize(+PAI). (SecuCalm only)
- [NEW] A number of size optimizations is implemented.
- [FIX] Refix of ‘Can't allocate register variable (Case #1)’ internal error for
more complex expressions.
- [FIX] Fix of ‘Can't allocate register variable (Case #1)’ internal error.
- [NEW] Optimization of bitshift operations.
- [FIX] Fix of ‘duplicate symbol’ error for inline functions.
- [FIX] Inline of functions with low level __asm(“…”) inside is re-enabled.
- [FIX] General fix of processing of temporal variables in Common
Subexpression Elimination (CSE).
- [FIX] One more bugfix of Common Subexpression Elimination (CSE)
optimization on Ospeed.
- [FIX] One more bugfix of Common Subexpression Elimination (CSE)
optimization on Ospeed.
- [FIX] Optimizing algorithm of estimation of range of function return value
(EVR) is fixed for the case of functions with low level __asm(“”) code
inside.
- [FIX] Inlining algorithm is fixed for the case of inlining of functions with
low level __asm(“”) code inside.
- [FIX] Bugfix of one of optimizations on Ospeed (Common Subexpression
Elimination).
- [FIX] Debug information is fixed for variables watch window.
- [NEW] New optimization SizeInline is implemented. The code of called
functions is inlined whenever it allows to reduce the size of result code.
- [NEW] New optimization FRVR is implemented. If the result of called
function is obvious (like return 0), then it can be used as a known constant
by compiler during the optimizations.
- [NEW] New optimization is implemented. Code of assignments of
constants into long variables is optimized.
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
V1.05s
Jan 31 2013
V1.05r
Dec 20 2012
V1.05q
Aug 17 2012
V1.05p
V1.05o
May 28 2012
May 11 2012
V1.05n
Mar 26 2012
V1.05m
Mar 14 2012
V1.05l
Mar 06 2012
- [FIX] Bug with missing instruction like “ldw a13, @[a10 + 2]” was fixed for
code with call of function pointer and low level __asm(“”) instruction after
it.
- [FIX] Binary code of compiler is builds by newest version of IDE
- [FIX] Reduce the amount of memory used by the compiler
- [FIX] Fix bug of compilation built-in asm with 'CLD' instruction
- [FIX] Fix bug of supporting #pragma section
- [FIX] Fix bug that leads to compiler fail in rare cases
- [FIX] Fix bug with conversion pointers to functions
- [FIX] Fix bug with invalid DWARF generation in case of multi-source codes
compilation by one pass
- [FIX] Problem with negative constants is fixed for some optimization of
constants in code
- [FIX] Processing of DelaySlot instructions (e.g. BRAD) in high level
assembler is improved
- [FIX] Problem with some jumps outside the __asm{} block is fixed
- [NEW] (SecuCalm) Syntax of LDB instruction is extended in high level
assembler. Any general register is allowed to be index register
- [FIX] Fix invalid warning in case of multi-source compilation
- [FIX] Optimization of array initialization works more effective
- [FIX] Non-zero code will be returned for wrong command line arguments
(for example for -LCB instead of -Ospeed(-LCB)). The compilation will be
interrupted for wrong parameters
- [FIX] (SecuCalm) The effect of operations like “x = 5; y = 32; x <<= y;” is
modified from “x is not changed” to “x = 0”. Both variants are possible
according to C Standard
- [FIX] Optimization of built-in assembler with jumps and labels works
correctly
- [FIX] Optimization of logical operations works correctly
- [FIX] The issue with complex nested function calls in parameters of printf
was resolved (printf("%f = %f", X, ((X)*180/(4*atan(1))));)
- [FIX] The issue with reordering of arguments of floating point arithmetic
operations is resolved. The result of calculation will not be changed after
the optimization of expression
- [FIX] Bug with optimization of string array initialization is fixed (char
strs[4][3] = { {0, 0}, "str", {0, 0} , {0} } ;)
- [FIX] new switch +INITLDLLDW is added for size increasing cases of LDL
optimization of array initialization
- [FIX] LDL optimization of array initialization is switched off by default for
–Osize and –Osizedebug optimization sets to prevent increasing of code size
- [FIX] The bug with tail initialization of non-aligned arrays is fixed
- [FIX] Some optimizations work correctly (for example,
EvaluateValueRange)
- [FIX] Optimization of addition negative constant works correctly
- [FIX] Memory usage is decreased for partial initialization of local arrays
(e.g. “int M[200] = {1, 2, 3};”)
- [FIX] Memory usage is decreased for dynamic initialization of local arrays
(e.g. “int M[] = {x, y, z};”)
- [FIX] Memory usage is decreased for mostly zero initialization of local
arrays (e.g. “int M[] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0};”)
- [FIX] Optimization of built-in assembler in string-form works correctly
- [FIX] Unresolved external of __agg_0 is resolved for -Ospeed optimization
- [FIX] The algorithm of generation of CMP_PD instructions is improved
- [FIX] The code generation is now invariant to the names of variables
Property of Samsung Electronics Co., Ltd.
19
System LSI Division, Semiconductor Business
20
V1.05k
Feb 28 2012
V1.05j
Feb 21 2012
V1.05i
Feb 18 2012
V1.05h
Feb 03 2012
V1.05g
Jan 16 2012
V1.05f
Dec 29 2011
V1.05e
Dec 13 2011
V1.05d
Nov 25 2011
V1.05с
Nov 14 2011
- [FIX] The initialization of arrays with zero values is optimized. LDL and
LDW instructions will be used whenever it is possible
- [FIX] EvaluateValueRange optimization works correctly and efficiently
- [FIX] Initialization of all elements of local arrays is fixed (int M[5] = {0,
0};)
- [FIX] Optimization of C source code with blocks and labels works correctly
and efficiently
- [FIX] EvaluateValueRange optimization works correctly
- [FIX] Optimization of built-in assembler and C source code works
correctly and efficiently
- [FIX] The method of initialization of arrays is optimized. LDL and LDW
instructions will be used whenever it is possible
- [FIX] The DeleteUnreachableCode optimization works with better
performance. It delete unused labels correctly. As a result, source code
has better optimization by EvaluateValueRange
- [FIX] The EvaluateValueRange optimization works correctly in case of
nested loops
- [FIX] The DeleteUnreachableCode optimization processing points for
debug information correctly (it’s enabled by ‘-g’ command option)
- [FIX] The AlgebraicSimplification stage optimize top-level expressions
correctly
- [FIX] The SimplifyEvaluation and AlgebraicSimplification optimizations
works correctly
- [FIX] Optimization of built-in assembler and C source code works more
efficiently
- [FIX] Unknown Internal Error for alone cmp_pd instruction in
__asm{cmp_pd;} block is fixed
- [FIX] Fix of compilation code with local array initialization for case of
constant and variable initializers. Fix of problem with error message
“ undefined external symbol ‘___agg_0’ “
- [NEW] Compiler generates more effective code for local array
initialization corresponding to it size
- [FIX] The CMP_PD will be removed together with target instruction (in
case of optimization of target instruction)
- [FIX] Compiler will not remove extra consecutive CMP_PD instructions.
Assembler will be able to generate error in this case
- [FIX] Compiler will not move CMP_PD instructions above the nearby label
to prevent the direct jump. Assembler will be able to generate error in this
case
- [FIX] Float constant initialization by overflow value generates special
error
- [FIX] Structure with zero-length bitfield has valid size
- [NEW] Source code with built-in assembler is optimized by constant
propagation optimization
- [FIX] Call of function by address of structure member generates valid
assembler
- [FIX] The compiler at the PreProcessor mode generates more correctly
output (without unnecessary spaces, empty lines etc.)
- [FIX] Two consequent CMP_PD instructions will not be generated by
compiler
- [FIX] Direct jumps to CMP_PD will not be generated
- [NEW] The instruction CMP_PD will check always the same target
instruction (above it) even after code modification during the
optimizations
- [FIX] Disappearing of instructions preceding CMP_PD is fixed
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
V1.05b
Oct 20 2011
V1.05a
Sep 05 2011
V1.05_beta01
Aug 11 2011
V1.04l
Jul 27 2011
V1.04k
Jun 28 2011
V1.04j
Jun 17 2011
V1.04i
Jun 03 2011
V1.04g_beta
May 04 2011
V1.04f
Oct 28 2010
V1.04e
Sep 29 2010
V1.04d
Aug 11 2010
V1.04c
July 26 2010
- [NEW] Support of CMP_PD instruction is added to the high level
assembler of SecuCalm compiler
- [FIX] Correct cursor of warning 'Function should return value'
- [FIX] Fix bug of invalid static initialization for strings with different type
and same spelling
- [FIX] Correct rule of rewriting assembler for 'ADD' command with long
const
- [FIX] Modification of EVR (Evaluate value range) optimization for
compilation time speedup
- [FIX] Support of ‘switch-case’ construction in EVR (EvaluateValueRange)
optimization
- [FIX] Correct usage of "Value Range Optimization" after "Algebraic
Simplification" optimization
- [FIX] Correct optimization of variable values from incoming control flows
by EVR (Evaluate value range) optimization
- [FIX] Correct comparison of pointer with zero value in EVR (Evaluate
value range) optimization
- [FIX] Correct processing of optimization flags in the command line
- [FIX] Correct processing of expressions with ADD and CAST operations by
EVR (Evaluate value range) optimization
- [FIX] Support of non-standard concatenation (SOME_FUNC(PARAM) ##
_suffix) has been optimized in preprocessor
- [FIX] Support of correct format of LDL instruction with auto increment or
decrement (LDL R4R5, @[A8+]!, LDL @![A8-], R4R5) has been implemented
in built-in high level assembler
- [FIX] Correct processing of expression with ‘false’ condition by ECES
(Enhancement of conditional expressions simplification) optimization
- [FIX] Correct processing of loops by LoopProcessing optimization
- [FIX] Concatenation for function-like macro and for identifier, following
this macro, has been implemented in preprocessor (SOME_FUNC(PARAM)
## _suffix
- [FIX] Correct generation of optimized code for ‘switch’ statement
- [FIX] Correct code generation for variable initialization between two
‘for’ loops with the same cycle variable in EVR (Evaluate value range)
optimization
- [FIX] Correct generation of optimized code for post increment with
dereference of pointer (*gp++) by LCB (Low level combining) optimization
- [FIX] Appropriate cast operation generated for unsigned char type
- [FXI] Bug fix in composition optimization, node with a function call is not
moved
- [FIX] Option --no_LDL has been supported to avoid generation of LDL
instructions in SecuCalm compiler
- [FXI] Bug fix in first code generation for secured keyword
- [FIX] Updated include file search criteria for files included using brackets
(#include <file>).
- [FIX] Updated code generation rules for type conversion of 'secured'
variables.
- [FIX] Enhanced the warning generation part regarding the return
statement
- [NEW] In SecuCalm, LDL instructions are generated only when –use_LDL
option is set.
- [FIX] Copy propagation bug fix for intermediate PUSH instruction.
- [FIX] Code generation changed for MOV RxRx+1, Ax instruction.
Property of Samsung Electronics Co., Ltd.
21
System LSI Division, Semiconductor Business
22
V1.04b
Jun 21 2010
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
- [FIX] Updated variable renaming to set appropriate allocation set for
renamed variables.
- [FIX] Updated value range optimization to check number of elements in
a SET before using it for comparison.
- [FIX] Constant reduction not applied for link-time-expression symbols.
- [FIX] Included file is closed after its EOF is reached.
- [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.
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
5.2.2 Assembler
5.2.2.1
Assembler for SecuCalm – CalmAsm16e.exe
Version
V1.01f
Released date
Dec 9 2011
V1.01e
Nov 16 2011
V1.01d
V1.01c
Sep 29 2010
Aug 9 2010
V1.01b
Jul 22 2010
V1.01a
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
Comments
- [FIX] The type of A214E message (“invalid instruction found before
CMP_PD”) is changed from warning to error.
- [FIX] Generation of error message is implemented for the case of two
consecutive CMP_PD instructions.
- [FIX] Generation of error message is implemented for the case of direct
jump to CMP_PD instructions.
- [FIX] No warning “A030W: jump target must be even” generated in case
of LinkTimeExpr optimization at the compiler.
- [FIX] Appropriate relocation generated for $ operand.
- [FIX] Warning generated when CMP_PD is followed by BREAK, BNZD,
RETD, JSR, BS, SJSR, return, POP_RET.
- [NEW] Error generated for MOV RxRx+1, Ax instruction.
- [NEW] Instruction DUP RxRx+1, Ex has been added.
- [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
Property of Samsung Electronics Co., Ltd.
23
System LSI Division, Semiconductor Business
5.2.2.2
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.
-
5.2.3 Linker
5.2.3.1
24
Linker for SecuCalm – CalmLink16e.exe
Version
V1.01v
Released date
Nov 07 2014
V1.01u
Jul 03 2014
V1.01t
V1.01s
Apr 10 2014
Oct 30 2013
V1.01r
Sep 26 2013
V1.01q
Sep 15 2013
V1.01p
Sep 5 2013
V1.01o
Jul 24 2013
V1.01n
Jul 22 2013
V1.01m
V1.01l
Feb 27 2013
Jan 26 2012
V1.01k
Jan 13 2012
V1.01i
Dec 5 2011
V1.01h
Nov 23 2011
V1.01g
Oct 20 2011
V1.01f
Sep 05 2011
Comments
- [NEW] support of _at_ <addr> with overlapped addresses in .c code is
implemented.
- [FIX] reusing of memory gaps after linker optimizations is improved –
individual sections may be used to fill the gaps.
- [FIX] bugfix of crash in memory gaps optimization.
- [FIX] optimization of reusing of memory gaps is improved – entire
memory regions can be moved.
- [FIX] bug with _at_ keyword is fixed.
- [FIX] memory gaps optimization is improved – support of IDATA sections
is added.
- [NEW] linker optimization is improved – if there are some gaps between
memory regions, then the sections are tried to be rearranged between
regions in order to fill these gaps.
- [FIX] value of --base-addr option can now be directly used in SJSR
optimization during the code execution.
- [FIX] support of OVERLAY memory regions is implemented in MD file for
memory areas with specified FILL value.
- [NEW] support of SJSR optimizations (--short-call, --short-call-tab) is
implemented in --flashcode mode.
- [FIX] feature “Go To Definition” is fixed.
- [FIX] Linker generates valid debug information in case of CMP_PD
instructions.
- [FIX] Linker generates valid value for __EEVAR_SIZE__ symbol.
- [FIX] The issue with CMP_PD generation in specific places of code is
fixed.
- [FIX] Valid information at the Debugging mode for code with CMP_PD
instructions. It was bug for linker mode with inserting CMP_PD instructions
to random places.
- [FIX] Two consequent CMP_PD instructions will not be generated by
linker.
- [FIX] Bug with sequence of CMP_PD instructions is fixed. There was the
following problem: if one CMP_PD instruction is automatically inserted
after another CMP_PD instruction, then the operand value of the second
instruction can be wrong.
- [FIX] Fix invalid base address for SJSRNEW.
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
V1.01e
May 26 2011
V1.01d
V1.01c
Aug 9 2010
Aug 6 2010
V1.01b
V1.01a
Jul 26 2010
May 13 2010
V1.01
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
Nov 4, 2009
- [NEW] --callgraph linker option is extended: the stack depth is shown for
the functions which are already displayed (they are marked with
asterisk(‘*’)). Also the stack depth information was added to call chain for
maximum stack depth.
- [FIX] Copy functions used in init-table are not allocated in EXPLICIT area.
- [NEW] CMP_PD is not inserted after BREAK, BNZD, RETD, JSR, BS, SJSR,
return, POP_RET.
- [NEW] CMP_PD is inserted at same location for every build
- [NEW] 2 word CMP EQ and CMP GE optimized to their 1word form.
- [NEW] Only one set of (START, LOAD, SIZE) symbols generated for
duplicate sections.
- [NEW] Sorted list of internal symbols has been printed in the MAP file
- [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
Property of Samsung Electronics Co., Ltd.
25
System LSI Division, Semiconductor Business
V1.00p
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
5.2.3.2
26
- [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.02e
Released date
Jul 24 2013
V1.02d
V1.02c
Feb 27 2013
May 26 2011
V1.02b
V1.02a
Jul 24 2010
May 26 2010
V1.02
V1.01x
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
Comments
- [FIX] support of OVERLAY memory regions is implemented in MD file for
memory areas with specified FILL value.
- [FIX] feature “Go To Definition” is fixed.
- [NEW] --callgraph linker option is extended: the stack depth is shown for
the functions which are already displayed (they are marked with
asterisk(‘*’)). Also the stack depth information was added to call chain for
maximum stack depth.
- [NEW] 2 word CMP EQ and CMP GE optimized to their 1word form.
- [NEW] Only one set of (START, LOAD, SIZE) symbols generated for
duplicate sections.
- [NEW] Sorted list of internal symbols has been printed in the MAP file
- 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
Property of Samsung Electronics Co., Ltd.
System LSI Division, Semiconductor Business
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
V1.01k
V1.01j
V1.01i
Oct 12, 2009
Sep 15, 2009
Sep 07, 2009
June 29,2009
- [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
- [NEW] Debug line information removed for sections without any flags
- [FIX] Appropriate allocation flags set to sections without any flags
- First Release
5.2.4 Librarian – CalmSDKAr.exe
Version
V1.00d
Released date
Dec 19, 2008
Comments
-
First Release
5.2.5 Library
Version
V1.06n
Released
date
Oct 12 2015
Comments
- [SecuCalm] Built using compiler V1.06n and assembler V1.01f
- [SecuCalm] a lot of library functions are rewritten in asm.
- [SecuCalm] code size of many library functions is reduced.
- [SecuCalm] +PAI optimization is enabled for size optimized versions of
library
- [SecuCalm] floating point constants: code size and RAM usage is reduced.
- [SecuCalm] functions for --ptr3 support in compiler are implemented
Property of Samsung Electronics Co., Ltd.
27
System LSI Division, Semiconductor Business
V1.06l
Dec 22 2014
V1.06i
Jul 07 2014
V1.05q
Jul 17 2012
V1.05o
May 11 2012
V1.05n
Apr 23 2012
V1.04f
Oct 28 2010
V1.04c
Jul 26 2010
V1.04a
May 4 2010
V1.04
Apr 23 2010
V1.03n
Apr 1 2010
V1.03m_beta3
Feb 24 2010
V1.03l
Jan 27, 2010
V1.03h
V1.03f
Dec 10,
2009
Nov 18,
2009
Sep 28, 2009
V1.03c
Sep 8, 2009
V1.03
V1.02h
Aug 5, 2009
Jun 29, 2009
V1.03g
28
- [SecuCalm] Built using compiler V1.06l and assembler V1.01f
- [NEW] Manual asm code of function mulling(long multiplication) is
completely rewritten (using another algorithm) for better size optimization
- [New] qsort function is completely rewritten (using another algorithm) for
better size optimization
- [New] Manual asm code of <string> function is optimized
- [New] Part of <math> function is manually rewritten in asm
- [New] Library is recompiled with compiler V1.06l(+ with extra library
targeted optimizations of code size)
- [SecuCalm] Built using compiler V1.06i and assembler V1.01f
- [CalmRISC16] Built using compiler V1.05o and assembler V1.02a
- [SecuCalm] Built using compiler V1.05q and assembler V1.01f
- [CalmRISC16] Built using compiler V1.05o and assembler V1.02a
- [SecuCalm] Built using compiler V1.05o and assembler V1.01f
- [CalmRISC16] Built using compiler V1.05o and assembler V1.02a
- [SecuCalm] Built using compiler V1.05n and assembler V1.01f
- [CalmRISC16] Built using compiler V1.05n and assembler V1.02a
- [SecuCalm] Built using compiler V1.04f and assembler V1.01d
- [CalmRISC16] Built using compiler V1.04f and assembler V1.02a
- [SecuCalm] Built using compiler V1.04c and assembler V1.01b
- [CalmRISC16] Built using compiler V1.04c and assembler V1.02a
- [SecuCalm] Built using compiler V1.04a and assembler V1.01a
- [CalmRISC16] Built using compiler V1.04a and assembler V1.02a
- [SecuCalm] Built using compiler V1.04 and assembler V1.01
- [CalmRISC16] Built using compiler V1.04 and assembler V1.02
- [SecuCalm] Built using compiler V1.03n and assembler V1.00p
- [CalmRISC16] Built using compiler V1.03n and assembler V1.01e
- [SecuCalm] Built using compiler V1.03m_beta3 and assembler V1.00p
- [CalmRISC16] Built using compiler V1.03m_beta3 and assembler V1.01e
- [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
- [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.