Skip to content
Snippets Groups Projects
TODO 2.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • patacongo's avatar
    patacongo committed
    NuttX TODO List
    ^^^^^^^^^^^^^^^
    
    
    patacongo's avatar
    patacongo committed
    - When a tasks exits, shouldn't all of its child pthreads also be terminated?
    - Should task_delete() cause atexit() function to be called?
    - Implement sys/mman.h and functions
    - Implement sys/wait.h and functions
    - Implement priority inheritance
    - Make the system timer frequency configurable via defconfig.  See:
       _POSIX_CLOCKRES_MIN in limits.h
       CLK_TCK in time.h
    
       MSEC_PER_TICK in sched/clock_internal.h
    
    patacongo's avatar
    patacongo committed
    - Consider implementing wait, waitpid, waitid.  At present, a parent has
      no information about child tasks.
    
    patacongo's avatar
    patacongo committed
    
    o Memory Managment
    - Add an option to free all memory allocated by a task when the task exits.
    
      This is probably not be worth the overhead for a deeply embedded system.
    
    patacongo's avatar
    patacongo committed
    
    o Signals
    
    - 'Standard' signals and signal actions are not supported.
    
    patacongo's avatar
    patacongo committed
    
    o pthreads
    - pthread_cancel():  Should implemenent cancellation points and pthread_testcancel()
    
    o Libraries
    
    o File system
    - Add some concept like mount points to handle mounted "real" filesystems.
    
    o Console Output
    
    o Documentation
    
    patacongo's avatar
    patacongo committed
    - Document fs/ & driver/ logic
    - Document C-library APIs
    
    patacongo's avatar
    patacongo committed
    
    o Build system
    
    - Names under arch are incorrect.  These should hold processor architectures.
      c5471 should be arm7
      dm320 should be arm9
      pjrc-8051 should be 805x
    - SoC-specific logic should be in subdirectories under arch/<processor-name>.
      Eg. arm7/include/c5471 should hold c5471 specific header files
    - configs/pjrc-8051 should be configs/pjrc-87c52
    
    patacongo's avatar
    patacongo committed
    
    o Applications & Tests
    
    o C5471
    
    
    patacongo's avatar
    patacongo committed
    o pjrc-8052 / MCS51
    
    patacongo's avatar
    patacongo committed
      - Basic OS task management seems OK
      - Fails when interrupts enabled.  The stack pointer is around 0x6e
        before the failure occurs.  It looks like some issue when the
        stack pointer moves from the directly to indirectly addressable
        region (0x80 boundary).
      - Work on the 8052 is temporarily on hold
    - Use timer 0 as system timer.  Timer 2 is needed for second UART.
      Logic is implemented, but there needs to be a system configuration
      to change the ticks-per-second value to match the timer interrupt
      rate
    - During build, there are several integer overflows reported:
      gmtime_r.c aroud lines 184 and 185
      clock_initialize.c at line 107
      pthread_create.c at 330
      sighand.c at 225 and 244