mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 23:40:19 +08:00
Update TODO list.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
NuttX TODO List (Last updated September 29, 2018)
|
NuttX TODO List (Last updated October 5, 2018)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
||||||
@@ -22,7 +22,7 @@ nuttx/:
|
|||||||
(18) Network (net/, drivers/net)
|
(18) Network (net/, drivers/net)
|
||||||
(4) USB (drivers/usbdev, drivers/usbhost)
|
(4) USB (drivers/usbdev, drivers/usbhost)
|
||||||
(2) Other drivers (drivers/)
|
(2) Other drivers (drivers/)
|
||||||
(12) Libraries (libc/, libm/)
|
(11) Libraries (libs/libc/, libs/libm/)
|
||||||
(11) File system/Generic drivers (fs/, drivers/)
|
(11) File system/Generic drivers (fs/, drivers/)
|
||||||
(10) Graphics Subsystem (graphics/)
|
(10) Graphics Subsystem (graphics/)
|
||||||
(1) Build system / Toolchains
|
(1) Build system / Toolchains
|
||||||
@@ -618,8 +618,8 @@ o Signals (sched/signal, arch/)
|
|||||||
TCB of the parent so that the pthread could be bound to the correct
|
TCB of the parent so that the pthread could be bound to the correct
|
||||||
group.
|
group.
|
||||||
|
|
||||||
There is also some user-space logic in libc/aio/lio_listio.c. That
|
There is also some user-space logic in libs/libc/aio/lio_listio.c.
|
||||||
logic could use the user-space work queue for the callbacks.
|
That logic could use the user-space work queue for the callbacks.
|
||||||
Status: Low, there are alternative designs. However, these features
|
Status: Low, there are alternative designs. However, these features
|
||||||
are required by the POSIX standard.
|
are required by the POSIX standard.
|
||||||
Priority: Low for now
|
Priority: Low for now
|
||||||
@@ -824,8 +824,9 @@ o Kernel/Protected Build
|
|||||||
by simply reading this variable.
|
by simply reading this variable.
|
||||||
|
|
||||||
"This one would be easy: Just a change to include/nuttx/userspace.h,
|
"This one would be easy: Just a change to include/nuttx/userspace.h,
|
||||||
configs/*/kernel/up_userspace.c, libc/, sched/sched_addreadytorun.c, and
|
configs/*/kernel/up_userspace.c, libs/libc/,
|
||||||
sched/sched_removereadytorun.c. That would eliminate 59% of the syscalls."
|
sched/sched_addreadytorun.c, and sched/sched_removereadytorun.c.
|
||||||
|
That would eliminate 59% of the syscalls."
|
||||||
|
|
||||||
Update:
|
Update:
|
||||||
This is probably also just a symptom of the OS test that does mostly
|
This is probably also just a symptom of the OS test that does mostly
|
||||||
@@ -1661,8 +1662,8 @@ o USB (drivers/usbdev, drivers/usbhost)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Medium-Low unless you really need host CDC/ACM support.
|
Priority: Medium-Low unless you really need host CDC/ACM support.
|
||||||
|
|
||||||
o Libraries (libc/, libm/)
|
o Libraries (libs/libc/, libs/libm/)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Title: SIGNED time_t
|
Title: SIGNED time_t
|
||||||
Description: The NuttX time_t is type uint32_t. I think this is consistent
|
Description: The NuttX time_t is type uint32_t. I think this is consistent
|
||||||
@@ -1684,11 +1685,12 @@ o Libraries (libc/, libm/)
|
|||||||
Description: Need some minimal termios support... at a minimum, enough to
|
Description: Need some minimal termios support... at a minimum, enough to
|
||||||
switch between raw and "normal" modes to support behavior like
|
switch between raw and "normal" modes to support behavior like
|
||||||
that needed for readline().
|
that needed for readline().
|
||||||
UPDATE: There is growing functionality in libc/termios/ and in the
|
UPDATE: There is growing functionality in libs/libc/termios/
|
||||||
ioctl methods of several MCU serial drivers (stm32, lpc43, lpc17,
|
and in the ioctl methods of several MCU serial drivers (stm32,
|
||||||
pic32). However, as phrased, this bug cannot yet be closed since
|
lpc43, lpc17, pic32, and others). However, as phrased, this
|
||||||
this "growing functionality" does not address all termios.h
|
bug cannot yet be closed since this "growing functionality"
|
||||||
functionality and not all serial drivers support termios.
|
does not address all termios.h functionality and not all
|
||||||
|
serial drivers support termios.
|
||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low
|
Priority: Low
|
||||||
|
|
||||||
@@ -1739,7 +1741,7 @@ o Libraries (libc/, libm/)
|
|||||||
Priority:
|
Priority:
|
||||||
|
|
||||||
Title: OLD dtoa NEEDS TO BE UPDATED
|
Title: OLD dtoa NEEDS TO BE UPDATED
|
||||||
Description: This implementation of dtoa in libc/stdio is old and will not
|
Description: This implementation of dtoa in libs/libc/stdio is old and will not
|
||||||
work with some newer compilers. See
|
work with some newer compilers. See
|
||||||
http://patrakov.blogspot.com/2009/03/dont-use-old-dtoac.html
|
http://patrakov.blogspot.com/2009/03/dont-use-old-dtoac.html
|
||||||
Status: Open
|
Status: Open
|
||||||
@@ -1815,63 +1817,6 @@ o Libraries (libc/, libm/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low
|
Priority: Low
|
||||||
|
|
||||||
Title: FORMATTING FIXED WIDTH INTEGERS
|
|
||||||
Description: Formats like this: lib_vsprintf(_, "%6.6u", 0) do not work.
|
|
||||||
There is no support for the precision/width option with
|
|
||||||
integer types. The format is simply is ignored and so can
|
|
||||||
even cause crashes.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
int hello_main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
printf("Hello, World!!\n");
|
|
||||||
printf("%3.3u %3.3u %3.3u %3.3u %3.3u\n", 9, 99, 999, 9999, 99999);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Generates this incorrect output:
|
|
||||||
|
|
||||||
NuttShell (NSH) NuttX-7.20
|
|
||||||
nsh> hello
|
|
||||||
Hello, World!!
|
|
||||||
9 99 999 9999 99999
|
|
||||||
nsh>
|
|
||||||
|
|
||||||
That output, of course, should have been:
|
|
||||||
|
|
||||||
9 99 999 999 999
|
|
||||||
|
|
||||||
The period and the precision value were being ignored (if
|
|
||||||
floating point was disabled). In that case, parsing of the
|
|
||||||
variable arguments could get out of sync. But a side
|
|
||||||
effect of the referenced change is that precision value is
|
|
||||||
now always parsed (but still incorrectly ignored for the
|
|
||||||
case of integer formats).
|
|
||||||
|
|
||||||
The fix would not be too difficult but would involve change
|
|
||||||
several functions. It would involve clipping the size of the
|
|
||||||
number string. For example:
|
|
||||||
|
|
||||||
/* Get the width of the output */
|
|
||||||
|
|
||||||
uwidth = getusize(FMT_CHAR, flags, n);
|
|
||||||
if (trunc > 0 && uwidth > trunc)
|
|
||||||
{
|
|
||||||
uwidth = trunc;
|
|
||||||
}
|
|
||||||
|
|
||||||
Then limiting the length of the output string to uwidth.
|
|
||||||
This would probably mean passing an additional parameter to
|
|
||||||
the many *toascii() functions like:
|
|
||||||
|
|
||||||
/* Output the number */
|
|
||||||
|
|
||||||
utoascii(obj, FMT_CHAR, flags, (unsigned int)n, uwidth);
|
|
||||||
|
|
||||||
Status: Open
|
|
||||||
Priority: Low
|
|
||||||
|
|
||||||
o File system / Generic drivers (fs/, drivers/)
|
o File system / Generic drivers (fs/, drivers/)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user