Skip to content
TODO 118 KiB
Newer Older
               mass storage device to the host; the 'msdis' command will
               disconnect the device.  The first 'msconn' works perfectly.
               However, when attempting to re-connect, the second 'msconn'
               command does not command properly:  Windows reports an
               unrecognized device.  Apparently, some state is being properly
               reset when the mass storage device is disconnected.  Shouldn't
               be hard to fix.
patacongo's avatar
patacongo committed
  Title:       POSSIBLE INTERRUPT CONTROL ISSUE
  Description: There is a kludge in the file arch/mips/src/common/up_idle.c.
               Basically, if there is nothing else going on in the IDLE loop,
               you have to disable then re-enable interrupts.  Logically nothing
               changes, but if you don't do this interrupts will be be disabled
               in the IDLE loop which is a very bad thing to happen.

               Some odd behavior in the interrupt setup on the IDLE loop is
               not really a big concern, but what I do not understand is if
               this behavior is occurring on all threads after all context
               switches:  Are interrupts always disabled until re-enabled?
               This requires some further investigation at some point; it
               may be nothing but may also be a symptom of some changes
               required to the interrupt return logic (perhaps some CP0
               status hazard?)
  Status:      Open
  Priority:    Low. Puzzling and needs some investigation, but there there
               is no known misbehavior.

patacongo's avatar
patacongo committed
o Hitachi/Renesas SH-1 (arch/sh/src/sh1)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
patacongo's avatar
patacongo committed

  Title:        SH-1 IS UNUSABLE
patacongo's avatar
patacongo committed
  Description:  There are instabilities that make the SH-1 port un-usable.  The
                nature of these is not understood; the behavior is that certain SH-1
                instructions stop working as advertised.  I have seen the following
                examples:

                  412b jmp @r1 - Set a return address in PR, i.e., it behaved like
                       410b jsr @r1.  Normally 412b works correctly, but in the failure
                       condition, it reliably set the PR.
                  69F6 mov.l @r15+,r9 - wrote the value of R1 to @r15+.  This behavior
                       does not correspond to any known SH-1 instruction

                This could be a silicon problem, some pipeline issue that is not
                handled properly by the gcc 3.4.5 toolchain (which has very limit
                SH-1 support to begin with), or perhaps with the CMON debugger.  At
                any rate, I have exhausted all of the energy that I am willing to put
                into this cool old processor for the time being.

                Update:  This bug will probably never be addressed now.  I just
                cleaned house and my old SH-1 was one of the things that went.

patacongo's avatar
patacongo committed
  Status:       Open
  Priority:     Low -- because the SH-1, SH7032, is very old and only of historical
                interest.

o Renesas M16C/26 (arch/sh/src/m16c)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
patacongo's avatar
patacongo committed

  Title:        M16C DOES NOT BUILD
  Description:  The M16C target cannot be built.  The GNU m16c-elf-ld link fails with
patacongo's avatar
patacongo committed
                the following message:

                m32c-elf-ld: BFD (GNU Binutils) 2.19 assertion fail /home/Owner/projects/nuttx/buildroot/toolchain_build_m32c/binutils-2.19/bfd/elf32-m32c.c:482

                Where the reference line is:

                /* If the symbol is out of range for a 16-bit address,
                   we must have allocated a plt entry.  */
                BFD_ASSERT (*plt_offset != (bfd_vma) -1);

                No workaround is known at this time.
  Status:       Open
  Priority:     High -- this is a show stopper for M16C.

  Title:       M16C PORT UNTESTED
patacongo's avatar
patacongo committed
  Description: Coding of the initial port is complete, but is untested.
  Status:      Open
  Priority:    Low

  Title:       NO SERIAL CONNECTOR
patacongo's avatar
patacongo committed
  Description: Serial drivers were developed for the M16C, however, the SKP16C26
patacongo's avatar
patacongo committed
               StarterKit has no serial connectors.
patacongo's avatar
patacongo committed
  Status:      Open
  Priority:    Low

  Title:       UNIMPLEMENTED M16C DRIVERS
Gregory Nutt's avatar
Gregory Nutt committed
  Description: Should implement SPI, I2C, Virtual EEPROM, FLASH, RTC drivers
patacongo's avatar
patacongo committed
  Status:      Open
  Priority:    Medium

o z80/z8/ez80/z180 (arch/z80)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  Title:       SDCC INTEGER OVERFLOWS
  Description: The SDCC version the same problems with integer overflow during
               compilation for certain 8-bit platform.  At typical cause is code like
               usleep(500*1000) which exceeds the range of a 16-bit integer.
Gregory Nutt's avatar
Gregory Nutt committed
  Status:      These have probably been fixed but have not yet been verified on these
               affected platforms.
  Priority:    Low for now
  Title:       Z80 SIMULATED CONSOLE
  Description: The simulated Z80 serial console (configs/z80sim/src/z80_serial.c +
               driver/serial.c) does not work.  This is because there are
               no interrupts in the simulation so there is never any serial
               traffic.
  Status:      Open
  Priority:    Low -- the simulated console is not critical path and the designs
               to solve the problem are complex.

  Title:       ZDS-II LIBRARIAN WARNINGS
  Description: ZDS-II Librarian complains that the source for the .obj file
               is not in the library.
  Status:      Open
  Priority:    Low, thought to be cosmetic.  I think this is a consequence of
               replacing vs. inserting the library.
  Title:       ZDS-II COMPILER PROBLEMS
patacongo's avatar
patacongo committed
  Description: The ZDS-II compiler (version 4.10.1) fails with an internal error
               while compiling mm/mm_initialize.c.  This has been reported as
patacongo's avatar
patacongo committed
               incident 81509.
patacongo's avatar
patacongo committed

               I have found the following workaround that I use to build for the
               time being:

patacongo's avatar
patacongo committed
               --- mm/mm_initialize.c.SAVE    2008-02-13 08:06:46.833857700 -0600
               +++ mm/mm_initialize.c    2008-02-13 08:07:26.367608900 -0600
patacongo's avatar
patacongo committed
               @@ -94,8 +94,11 @@
               {
                  int i;
patacongo's avatar
patacongo committed
               +#if 0 /* DO NOT CHECK IN */
                  CHECK_ALLOCNODE_SIZE;
                  CHECK_FREENODE_SIZE;
               +#endif
patacongo's avatar
patacongo committed
               /* Set up global variables */
patacongo's avatar
patacongo committed
  Status:      Open
  Priority:    High
  Title:       EZ8 PRIORITY INTERRUPTS
  Description: Add support for prioritized ez8 interrupts.  Currently logic supports
               only nominal interrupt priority.
  Status:      Open
  Priority:    Low

  Title:       Z8ENCORE ONLY VERIFIED ON SIMULATOR
  Description: The z8Encore! port has only been verified on the ZDS-II instruction
               set simulator.
  Status:      Open
  Priority:    Medium

  Title:       XTRS CLEAN
patacongo's avatar
patacongo committed
  Description: The XTRS target (configs/xtrs) has a clean problem. The clean
               rule removes .asm files.  This works because there are no .asm
               files except in sub-directories that are provided from 'make clean' --
               except for XTRS:  It has a .asm file in its src/ directory that
Gregory Nutt's avatar
Gregory Nutt committed
               gets removed every time clean is performed.
patacongo's avatar
patacongo committed
  Status:      Open
  Priority:    High if you happen to be working with XTRS.
  Title:       SPI/I2C UNTESTED
patacongo's avatar
patacongo committed
  Description: A "generic" SPI and I2C drivers have been coded for the eZ80Acclaim!
               However, these remains untested since I have no SPI or I2C devices for
               the board (yet).
  Status:      Open
  Priority:    Med

  Title:       SPI METHODS ARE NOT THREAD SAFE
  Description: SPI methods are not thread safe.  Needs a semaphore to protect from re-entrancy.
  Status:      Open
  Priority:    Medium -- Will be very high if you do SPI access from multiple threads.

  Title:       I2C UNTESTED
patacongo's avatar
patacongo committed
  Description: A "generic" I2C driver has been coded for the eZ8Encore!
               However, this remains untested since I have no I2C devices for
patacongo's avatar
patacongo committed
               the board (yet).
  Status:      Open
  Priority:    Med

  Title:       UNFINISHED Z180 LOGIC NEEDED BY THE P112 BOARD
Gregory Nutt's avatar
Gregory Nutt committed
  Description: 1) Need to revisit the start-up logic.  Looking at the P112 Bios
                  (Bios.mcd), I see that quite of bit of register setup is done
                  there.
               2) Finish ESCC driver logic.
  Status:      Open
  Priority:    Low (at least until I get P112 hardware)

o z16 (arch/z16)
^^^^^^^^^^^^^^^^
  Title:       ZDS-II LIBRARIAN WARNINGS
  Description: ZDS-II Librarian complains that the source for the .obj file
               is not in the library.
  Status:      Open
  Priority:    Low, thought to be cosmetic.  I think this is a consequence of
               replacing vs. inserting the library.
  Title:       SYSTEM DELAYS
patacongo's avatar
patacongo committed
  Description: The system delays do not appear to be correct with the
               apps/examples/ostest/timedmqueue.c test.
  Status:      Open
patacongo's avatar
patacongo committed
  Priority:    Medium-High
  Title:       PROBLEMS WHEN DEBUG DISABLED
patacongo's avatar
patacongo committed
  Description: At present, the z16f port does not run properly when CONFIG_DEBUG
patacongo's avatar
patacongo committed
               is disabled:  The obvious symptom is that there is no printf()
               output.  I have isolated with problem to errors in optimization.
               With -reduceopt on the command line, I can get the printf output.
               However, there are still errors in the compiled code -- specifically
               in sched/timer_create.c.
patacongo's avatar
patacongo committed
               I have submitted a bug report to ZiLOG for this (support incident
               81400).  You can see the status of the bug report (and lots more
               technical detail) here:
               http://support.zilog.com/support/incident/incident_support.asp?iIncidentId=81400&iSiteId=1&chLanguageCode=ENG
patacongo's avatar
patacongo committed
               Summary of ZiLOG analysis: "This is a ZNEO compiler problem. ... [a] workaround
               is to replace:
                   if ( !timerid || (clockid != 0) )
                By:
                   if ((clockid != 0) || !timerid)"
patacongo's avatar
patacongo committed

  Status:      Open
patacongo's avatar
patacongo committed
  Priority:    Medium-High
patacongo's avatar
patacongo committed

  Title:       PASCAL ADD-ON
patacongo's avatar
patacongo committed
  Description: The pascal add-on does not work with the z16f (that is
               configuration z16f2800100zcog/pashello).  This appears to be
               another ZDS-II error:  when executing the instruction
               SYSIO 0, WRITESTR a large case statement is executed.  This
               involves a call into the ZiLOG runtime library to __uwcase().
               __uwcase is passed a pointer to a structure containing jump
               information.  The cause of the failure appears to be that
               the referenced switch data is bad.
Gregory Nutt's avatar
Gregory Nutt committed
               This is submitted as ZiLOG support incident 81459.
patacongo's avatar
patacongo committed

               Summary of ZiLOG analysis: "This is a ZNEO run time library problem.
               One workaround is to replace the line 58 in uwcase.asm

               From:
                      ADD       R9,#4             ; Skip handler
               To:
                      ADD       R9,#2             ; Skip handler

               And add uwcase.asm to the project.

               If the customer does not want to modify uwcase.asm then the other
               workaround is to add a dummy case and make it same as default:

               case 0x8000:
               default:

               This will make sure that uwcase is not called but ulcase is called."
patacongo's avatar
patacongo committed
  Status:      Open.  Due to licensing issues, I cannot include the modified
               uwcase in the NuttX code base.
patacongo's avatar
patacongo committed
  Priority:    Medium

  Title:       USE SPOV
patacongo's avatar
patacongo committed
  Description: Add support to maintain SPOV in context switching.  This
               improvement will provide protection against stack overflow
               and make a safer system solution.
  Status:      Open
  Priority:    Low

  Title:       PRIORITIZED INTERRUPTS
  Description: Add support for prioritized interrupts.  Currently logic supports
               only nominal interrupt priority.
  Status:      Open
  Priority:    Low

  Title:       ZDS-II COMPILER PROBLEMS
patacongo's avatar
patacongo committed
  Description: The file drivers/mmcsd/mmcsd_sdio.c generates an internal compiler
               error like:
patacongo's avatar
patacongo committed
               mmcsd\mmcsd_sdio.c
               Internal Error(0503) On line 2504 of "MMCSD\MMCSD_SDIO.C"
                   File <c3>, Args(562,46)

  Status:      Open.  Recommended workaround: remove mmcsd_sdio.c from
               drivers/mmcsd/Make.defs.  There is no SDIO support for the Z16 anyway
  Priority:    Low

  Title:       NATIVE BUILD PROBLEMS
  Description: When last tested (ca.12/12), there were some missing .obj files in
               arch/z16/src. A little additional TLC will be needed to get a
Gregory Nutt's avatar
Gregory Nutt committed
               reliable Windows native build.
  Priority:    Low -- I don't think anyone uses the Z16 port with the native build.
patacongo's avatar
patacongo committed

Gregory Nutt's avatar
Gregory Nutt committed
  Title:       COMPILER BUG
  Description: There is a bug in the ZDS II 5.0.1 compiler.  It generates incorrect
               code when calling through a function pointer if (1) the function
               pointer is a field in a structure, and (2) the function pointer has
               a variable number of arguments.

               The exact name of the bug is this:  Normally, when a function is
               called, parameters are passed in registers.  When calling a
               function with a variable number of arguments, parameters must
               instead be passed on the stack.  In this failure case3, parameters
               are erroneously passed in registers while the receive function
               expects the parameters on the stack.  This usually results in a
               crash.

               Unfortunately, NSH does have this exact kind of function call and
               because of this compiler bug, NSH cannot be used with the ZNEO
  Status:      The bug has been reported to ZiLOG and they have reproduced the
               problem.  There is, however, no schedule for correction of the bug.
  Priority:    High if you are using ZNEO

patacongo's avatar
patacongo committed

  Title:       BANKED MODE
patacongo's avatar
patacongo committed
  Description: There is no script for building in banked mode (more correctly, there
               is a script, but logic inside the script has not yet been implemented).
               It would be necessary to implement banked mode to able to access more
               the 48K of FLASH.
patacongo's avatar
patacongo committed
  Status:      Open.
  Priority:    Medium/Low

o Network Utilities (apps/netutils/)
Gregory Nutt's avatar
Gregory Nutt committed
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  Title:       PPP PORT
  Description: Port PPP support from http://contiki.cvs.sourceforge.net/contiki/contiki-2.x/backyard/core/net/ppp/
  Status:      Open
  Priority:    Low

  Title:       UNVERIFIED THTTPD FEATURES
  Description: Not all THTTPD features/options have been verified.  In particular, there is no
               test case of a CGI program receiving POST input.  Only the configuration of
               apps/examples/thttpd has been tested.
  Status:      Open
  Priority:    Medium

  Title:       THE ARP ISSUES AGAIN
  Description: The first GET received by THTTPD is not responded to.  Refreshing the page
Gregory Nutt's avatar
Gregory Nutt committed
               from the browser solves the problem and THTTPD works fine after that.  I
               believe that this is the duplicate of another bug: "Outgoing
               [uIP] packets are dropped and overwritten by ARP packets if the
               destination IP has not been mapped to a MAC."
  Status:      Probably closed.  The basic ARP issue has been fixed (if
Gregory Nutt's avatar
Gregory Nutt committed
               CONFIG_NET_ARP_SEND is enable), but this has not been verified
  Priority:    Medium

  Title:       THTTPD WARNINGS
  Description: If the network is enabled, but THTTPD is not configured, it spews out lots
               of pointless warnings.  This is kind of annoying and unprofessional; needs to
               be fixed someday.
  Status:      Open.  An annoyance, but not a real problem.
  Priority:    Low
Gregory Nutt's avatar
Gregory Nutt committed

  Title:       DHCPD ACCESSES KERNEL PRIVATE INTERFACE
  Description: arp_update() is referenced outside of nuttx/net.  It is used in
               in the netutils/ DHCPD logic to set entries in the ARP table.
               That is violation of the separation of kernel and OS
               functionality.  As a consequence, dhcpd will not work with the
               NuttX kernel built.

               This direct OS call needs to be replaced with a network ioctl()
               call.
  Status:      Open
  Priority:    Medium.  Important for full functionality with kernel build.

  Title:       NETWORK MONITOR NOT GENERALLY AVAILABLE
  Description: The NSH network management logic has generally applicability
               but is currently useful only because it is embedded in the NSH
               module.  It should be moved to apps/system or, better,
               apps/netutils.
  Status:      Open
  Priority:    Low

o NuttShell (NSH) (apps/nshlib)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  Title:       IFCONFIG AND MULTIPLE NETWORK INTERFACES
patacongo's avatar
patacongo committed
  Descripton:  The ifconfig command will not behave correctly if an interface
               is provided and there are multiple interfaces.  It should only
               show status for the single interface on the command line; it will
               still show status for all interfaces.
  Status:      Open
  Priority:    Low (multiple network interfaces not fully supported yet anyway).

  Title:       ARP COMMAND
  Description: Add an ARP command so that we can see and modify the contents of
               the ARP table.
  Status:      Open
  Priority:    Low (enhancement)

o System libraries apps/system (apps/system)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  Title:       READLINE IMPLEMENTATION
  Description: readline implementation does not use C-buffered I/O, but rather
               talks to serial driver directly via read().  It includes VT-100
Gregory Nutt's avatar
Gregory Nutt committed
               specific editing commands.  A more generic readline() should be
               implemented using termios' tcsetattr() to put the serial driver
               into a "raw" mode.
  Status:      Open
  Priority:    Low (unless you are using mixed C-buffered I/O with readline and
               fgetc, for example).

o Other Applications & Tests (apps/examples/)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  Title:       EXAMPLES/PIPE ON CYGWIN
  Description: The redirection test (part of examples/pipe) terminates
               incorrectly on the Cywgin-based simulation platform (but works
               fine on the Linux-based simulation platform).
  Status:      Open
  Priority:    Low

  Title:       EXAMPLES/SENDMAIL UNTESTED
  Description: examples/sendmail is untested on the target (it has been tested
  Status:      Open
  Priority:    Med

  Title:       EXAMPLES/NX FONT CACHING
  Description: The font caching logic in examples/nx is incomplete.  Fonts are
               added to the cache, but never removed.  When the cache is full
               it stops rendering.  This is not a problem for the examples/nx
               code because it uses so few fonts, but if the logic were
               leveraged for more general purposes, it would be a problem.
patacongo's avatar
patacongo committed
               Update: see examples/nxtext for some improved font cache handling.
Gregory Nutt's avatar
Gregory Nutt committed
  Priority:    Low.  This is not really a problem because examples/nx works
  Title:       EXAMPLES/NXTEXT ARTIFACTS
patacongo's avatar
patacongo committed
  Description: examples/nxtext.  Artifacts when the pop-up window is opened.
               There are some artifacts that appear in the upper left hand
               corner.  These seems to be related to window creation.  At
               tiny artifact would not be surprising (the initial window
               should like at (0,0) and be of size (1,1)), but sometimes
               the artifact is larger.
  Status:      Open
  Priority:    Medium.