 |
|
 |
RENESAS TOOL NEWS on October 1, 2008: 081001/tn3
| A Note on Using High-performance Embedded Workshop
--With Referencing Local Variables-- |
Please take note of the following problem in using High-performance Embedded
Workshop:
- With referencing local variables
High-performance Embedded Workshop is bundled with the compilers and other
software products that it manages.
1. Product and Versions Concerned
All the versions of High-performance Embedded Workshop up to V.4.04.01
2. Description
When a local variable is referenced, an application error may arise.
2.1 Conditions
This problem may occur if the following conditions are all satisfied:
(1) The product is used with any of the following debugger products:
- The simulator debugger for the SuperH RISC engine family
- The simulator debugger for the H8SX, H8S, and H8 families
- E8a Emulator Software
- E8 Emulator Software
- E10A-USB Emulator Software
- E10T-USB Emulator Software
- E200F Emulator Software
- E6000H Emulator Software
- E6000 Emulator Software
(2) A member of a structure or union is declared to be an array type
of 400 bytes or more in size.
(3) The structure or union in (2) is defined as a local variable.
(4) The variable in (3) is referenced by using any of the following
windows and functions:
- The Stack Trace window
- The Locals window
- The Watch window
- The Tooltip Watch function
- The Instant Watch function
2.2 Example
For example, if a structure variable "lS" is defined to be a local
variable as shown below, and the variable
is referenced by using the Locals, Watch, or Stack Trace window,
an application error may arise.
------------------------------------------------------
struct Str {
short m_DataSize;
char m_Data[512]; /* Condition (2) */
};
main() {
struct Str lS; /* Condition (3): Structure defined
as local variable "lS" */
lS.m_DataSize = 512;
return;
}
-----------------------------------------------------
3. Workaround
This problem can be avoided as follows:
(1) For the Stack Trace and Locals windows
If the program counter is pointing to any location inside the
function in which the variable to reference is defined, display
neither of these windows.
(2) For the Watch window
Do not register the variable to reference with this window.
(3) For the Tooltip Watch function
Do not use this function to reference any local variable.
(4) For the Instant Watch function
Do not use this function to reference any local variable.
4. Schedule of Fixing the Problem
We plan to fix this problem in the next release of the product.
|
 |