User`s guide

System LSI Division, Semiconductor Business
V1.55
Dec. 14
th
,
2004
Fixed: change how to restore “A9” register in the interrupt handler
from
LD A9,#|IMAGE$$IDATA$$BASE|&0x3ffff
to
LD A9,#|IMAGE$$IDATA$$BASE|
LD R9,#0
Fixed: change library “__genuread4romp_x” to “__genuread4p_x” because both is
exactly same.
V1.54s
1
Nov. 27
th
,
2004
Fixed: assertion occurs when changing “pointer to code” to “pointer to generic”
V1.54r
Oct. 28
th
,
2004
Fixed: When casting from “unsigned long” to “code unsigned char*”,wrong codes are
generated.
V1.54q
Oct. 27
th
,
2004
New: Error directive produces error message that includes the specified sequence of
preprocessing tokens at compiler time. When #error directives are encountered,
compilation terminates.
Fixed: When casting between code pointer and non code pointer, compiler generate
error.
V1.54p
Oct. 12
th
,
2004
Fixed : When accessing generic pointer, wrong codes are generated
V1.54o
Oct. 7
th
,
2004
1. optimize the performance in switch statement.
change the ‘addpXX’ library call to ‘add’ instruction'
replace the library call that performs ‘signed add’ with the ‘add’ instruction that does
‘unsigned add’ about which ‘signed add’ is unnecessary.
2. change path that temporary files generated -_t_m_array.t, _t_m_charr.t - from
current working directory to debug one.
3. fix the mistake checking type : When assign a pointer to non-const memory to a
pointer to const volatile memory, error occurs.
4. fix problem that the following error message is generated for valid code : "code data
and non code data cannot be located in same pragma"
5. modify debugging information for viewing variables located at the code memory in
debugging.
6. fix problem that error is generated when variables defined by "_at_" are initialized by
const expression.
V1.54j
Jul. 20
th
,
2004
The code generated by the switch statement is optimized.
Instead of the library call which calculates the entry address of each 'case', the 'add'
instruction is generated except that the 'case' includes the 'goto' statement.
V1.54i
Jul. 15
th
,
2004
1. Remove the function of ‘overlay’ in ‘_at’
2. Modify the error handling in ‘_at’
3. Fix the error which is generated due to wrong processing for very long line
V1.54h
Jun. 19
th
,
2004
1. Generate stack frame size in .sm directive.
V1.54f
Jun. 14
th
,
2004
1. When a variable is defined by ‘_at_’, it is allocated at wrong address.
unsigned int A[8] _at_ 0x200000;
unsigned long Example[100] _at_ 0x00200080 ;
When apply global optimization, variable ‘Example’ is allocated at wrong
address.
2. Added “#pragma function=interrupt” for SmartCard device.
This pragma makes irq interrupt handler without vector setting.
Property of Samsung Electronics Co., Ltd. 15