1: ==================================================================
2: "Modification of T-Kernel 2.0 Source Code Package Ver 2.01.00"
3: September 8, 2011
4:
5: - Modification of T-Kernel Ver 2.01.00 -
6:
7: ----
8: [K-201-1] The version number has been changed to Ver 2.01.00.
9:
10: MODIFICATION:
11: ProductVer has been modified from 0x0200 to 0x0201.
12: The version string has been modified from 2.00.00 to 2.01.00.
13:
14: MODIFIED FILE(S):
15: config/launch-ramkernel/src/sysdepend/tef_em1d/SYSCONF
16: config/src/sysdepend/tef_em1d/SYSCONF
17: kernel/sysmain/src/sysmain.h
18:
19: ----
20:
21: [K-201-2] Error detection of tk_cre_mpl(), tk_get_mpl()
22:
23: ISSUE(S) IN THE PREVIOUS VERSION:
24: If 0x7ffffff9 - 0x7fffffff is specified as blksz of tk_get_mpl(), it exits normally without error.
25:
26: This is because blksz for the internal processing becomes 0 (zero) and no error is detected as a result of the processing of rounding up blksz to allocation unit.
27:
28: The same applies to tk_get_mpl_u().
29:
30: pk_cmpl->mplsz of tk_cre_mpl() has the similar issue. If 0x7ffffff9 or above is specified, it exits normally without error.
31:
32: MODIFICATION:
33: Error is returned even in the above case now.
34:
35: MODIFIED FILE(S):
36: kernel/tkernel/src/mempool.c
37:
38: ----
39: [K-201-3] tk_opn_dev(), tk_cls_dev() : The order relation between open processing and close processing
40:
41: ISSUE(S) IN THE PREVIOUS VERSION:
42: If open/close processing is requested to the same device from multiple tasks, the temporal order relation between the exit of the open/close function of the device driver and the exit of tk_opn_dev() and tk_cls_dev() may not be as expected.
43:
44: A failure occurs if TDA_OPENREQ attribute is not specified.
45:
46: Examples of Failure:
47:
48: (A) If multiple tasks initiate open processing at a time
49: 1. task1 calls tk_opn_dev().
50: 2. openfn of device driver is called. (has not returned yet)
51: 3. task2 calls tk_opn_dev().
52: 4. As TDA_OPENREQ is not specified, openfn of device driver is not called.
53: 5. tk_opn_dev() of task2 is complete.
54: openfn of the device driver of 2. is not complete at this point.
55:
56: Thus, tk_opn_dev() may finish before the processing of openfn of device driver is complete.
57:
58: (B) If a device is opened during close processing
59: 1. task1 calls tk_cls_dev().
60: 2. Before calling closefn of device driver, the processing switches to task2.
61: 3. task2 calls tk_opn_dev().
62: 4. openfn of device driver is called.
63: 5. tk_opn_dev() of task2 is complete.
64: 6. Switches to task1, and closefn of device driver is called.
65: 7. tk_cls_dev() of task1 is complete.
66:
67: Thus, even if open processing is complete from user program's viewpoint, closefn may have been called at the end when viewed from the device driver.
68:
69: If TDA_OPENREQ is specified, there is no actual problem as open/close function of device driver is called every time.
70:
71: MODIFICATION:
72: To handle the above failure cases, open/close requests from other tasks are put to wait during open/close processing now.
73:
74: MODIFIED FILE(S):
75: kernel/sysmgr/src/device.c
76: kernel/sysmgr/src/deviceio.c
77: kernel/sysmgr/src/sysmgr.h
78:
79: ----
80: [K-201-4] tk_srea_dev(), tk_swri_dev() : Abort and wait for multiple requests
81:
82: ISSUE(S) IN THE PREVIOUS VERSION:
83: In the following situations in synchronous I/O (tk_srea_dev tk_swri_dev), requests to the device driver may be left incomplete.
84:
85: (A) When abort occurs in the middle of synchronous I/O processing, tk_wai_dev() for internal processing of synchronous I/O detects abort, which causes an error (E_ABORT), and the request may not be completed and returned.
86:
87: (B) When synchronous I/O is performed while another task is in the wait state for multiple requests by tk_wai_dev(), (because other requests cannot be in the waiting state at the same time during the wait for multiple requests) tk_wai_dev() for internal processing of synchronous I/O results in an error (E_OBJ), and the request may not be completed and returned.
88:
89: MODIFICATION:
90: Processing of tk_srea_dev() and tk_swri_dev() has been modified so that the processing takes place correctly in the above situations.
91:
92: MODIFIED FILE(S):
93: kernel/sysmgr/src/device.c
94: kernel/sysmgr/src/deviceio.c
95: kernel/sysmgr/src/sysmgr.h
96:
97: ============================================================================
98: - Modification of T-Monitor Ver 2.01.00 -
99:
100: ----
101: [M-201-1] The version number has been changed to Ver 2.01.00.
102:
103: MODIFICATION:
104: The version number has been changed form 2.00.00 to 2.01.00.
105:
106: MODIFIED FILE(S):
107: monitor/tmmain/build/tef_em1d/Makefile
108:
109: ----
110: [M-201-2] Disabling interrupts from the touch panel when the exit command is executed
111:
112: ISSUE(S) IN THE PREVIOUS VERSION:
113: The system may reboot when the user touches the touch panel after executing exit.
114:
115: MODIFICATION:
116: Processing at the time of power off has been rearranged. powerOff(), usbPower() and resetStart() have been added so that these functions are invoked when the power is turned off.
117: Additionally, the processing to disable interrupts from the touch panel has been added in powerOff().
118:
119: MODIFIED FILE(S):
120: monitor/hwdepend/tef_em1d/src/config.c
121: monitor/hwdepend/tef_em1d/src/system.c
122:
123: ----
124: [M-201-3] Processing of cpuLED()
125:
126: Issue(s) in the previous version:
127: cpuLED() for controlling GPIO connected to LED5 to LED8 may not behave the way the parameter intends depending on the lighting condition of LED.
128:
129: cpuLED() is invoked only at the time of startup/exit of T-Monitor. Therefore, it does not cause any trouble in normal T-Monitor use. It may cause a problem in case such program that invokes cpuLED() is written by the user himself/herself.
130:
131: MODIFICATION:
132: Processing of cpuLED() has been modified.
133:
134: MODIFIED FILE(s):
135: monitor/hwdepend/tef_em1d/src/config.c
136:
137: ============================================================================
138: - Modification in a driver for T-Kernel -
139:
140: [D-201-1] The SPI polarity to be set by the clock driver
141:
142: ISSUE(S) IN THE PREVIOUS VERSION:
143: The polarity of the CS line for Audio CODEC (SPI0:CS1) and the temperature sensor (SPI2:CS0) is not set correctly and access is not possible.
144:
145: MODIFICATION:
146: Modification has been made so that the polarity is set to the correct value.
147:
148: MODIFIED FILE(s):
149: drv/tef_em1d/clk/src/em1d512_spi.c
150:
151: [EOF]
152: ============================================================================