Newer
Older
* nuttx/lcd/hd4478ou.h and configs/pcblogic-pic32mx/src/up_lcd1602:
Start of support of LCD1602 alphanumeric LCD. I need a few
more parts before I can finish integrating this one.
* arch/arm/src/*/chip.h and arch/arm/include/*/chip.h: Move all
priority ranges from the src to the include chip.h header file.
* arch/arm/include/armv7-m/irq.h: Add inline functions to enable
and disable interrupts via the BASEPRI register.
* arch/arm/Kconfig: Add new option CONFIG_ARM7VM_USEBASEI
* arch/arm/src/*/*_irq.c: Set the priority of the SVCALL exception
to the highest possible value.
* arch/armv7-m/up_hardfault.c: Fail if a hardfault occurs
while CONFIG_ARM7VM_USEBASEPRI=y.
* arch/arm/src/stm32/stm32_serial.c: Add support for USART
* sched/: Implement support for retaining child task status after
the child task exists. This is behavior required by POSIX.
But in NuttX is only enabled with CONFIG_SCHED_HAVE_PARENT and
CONFIG_SCHED_CHILD_STATUS
* Add support for keyboard encode to the keypad test (from
Denis Carikli).
* configs/olimex-lpc1766stk/nettest: Configuration converted to
use the kconfig-frontends tools.
patacongo
committed
* net/net_poll.c: Split net_poll() to create psock_poll() too.
* net/net_poll.c: Fix poll/select issure reported by Qiang:
poll_interrupt() must call net_lostconnection() when a
loss of connection is reported. Otherwise, the system will
not know that the connection has been lost.
* sched/group_create.c, group_join.c, and group_leave.c: Add
support for task groups.
* sched/group_signal.c and task_exithook.c: Send signal to all
members for the parent task group.
* include/nuttx/sched.h and sched/env_*.c: Move environment
variables into task group structure.
* sched/: Lots of file changed. Don't keep the parent task's
task ID in the child task's TCB. Instead, keep the parent
task group IN the child task's task group.
* fs/, sched/, include/nuttx/sched.h, and include/nutts/fs/fs.h:
Move file data from the TCB to the task group structure.
* libc/stdio/, sched/, include/nuttx/lib.h, and include/nutts/fs/fs.h:
Move stream data from the TCB to the task group structure.
* net/, sched/, and include/nuttx/net/net.h: Move socket data
from the TCB to the task group structure.
patacongo
committed
* sched/task_starthook.c, sched/task_start.c, and include/nuttx/sched.h:
Add a task start hook that will be called before the task main
is started. This can be used to schedule C++ constructors to run
automatically in the context of the new task.
* binfmt/binfmt_execmodule: Execute constructors as a start hook.
* sched/os_start.c: Fix ordering of group initialization.
* configs/stm32f4discovery/usbnsh: Add an NSH STM32F4Discovery
configuration that uses USB CDC/ACM for the NSH console.
* configs/stm32f4discovery/nsh: Converted to use the kconfig-frontends
tools.
patacongo
committed
* configs/*/src/up_userleds.c: Fix a error that was cloned into
all STM32 user LED code. The wrong definitions were being used
patacongo
committed
to set LEDs on or off.
* arch/*/common/up_internal.h and arch/*/common/up_initialize.c:
Serial was driver was not being built if there is no console
device. Obviously, the serial driver may be needed even in
this case.
* arch/arm/src/stm32/stm32_serial.c: If there is a serial console,
it would be ttyS0 and the others would be ttyS1-5. If there
is not serial console, was labeling them ttyS1-6; now labels them
ttyS0-5.
* fs/fs_syslog.c: Can't handle SYSLOG output to character device from
the IDLE task (because it can't block). syslog_putc now returns EOF
on failure and sets errno. Fixed some errors in error handling.
* libc/stdio/lib_syslogstream.c: Checking of return value from
syslog_putc was bogus. Switching to EOF for all errors solves
this.
* arch/arm/src/lm/chip/lm4f_memorymap.h: More LM4F changes from
Jose Pablo Carballo.
* drivers/serial/serial.c, include/nuttx/serial/serial.h,
drivers/usbdev/cdcacm.c, and drivers/pl2303.c: Add support for
removable serial devices (like USB serial). This support is enabled
* arch/*/src/*/Toolchain.defs: Change assignment so that we can
override CROSSDEV with a make command line argument.
* include/assert.h: Mark assertion functions as non-returning.
* arch/*/src/*/up_assert.h: Mark _up_assert() as non-returning.
* drivers/mtd/at25.c: When the AT25 device was not available the
initialization did not fail like it should. From Petteri Aimonen.
* fs/fat/fs_configfat.c: Fix some errors in FAT formatting logic
for large devices and for FAT32. From Petteri Aimonen.
* fs/fat/fs_fat32util.c: Fix an initialization error found by
Petteri Aimonen. freecount and next freecount initialization were
reversed.
* drivers/mmcsd/mmcsd_spi.c: Some SD cards will appear busy until
switched to SPI mode for first time. Having a pull-up resistor on
MISO may avoid this problem, but this patch makes it work also
without pull-up. From Petteri Aimonen.
* fs/fat/fs_fat32.c: Fix a compilation error when FAT_DMAMEMORY=y.
From Petteri Aimonen.
* arch/arm/src/stm32/chip/stm32_spi.h: STM32F4 max SPI clock freq is
37.5 MHz. Patch from Petteri Aimonen.
* arch/arm/src/stm32/stm32_spi.c: Fixes for SPI DMA work on the
STM32F4. Includes untested additions for the F1 implementation as
well. From Petteri Aimonen.
patacongo
committed
* drivers/serial/serial.c: Correct some race conditions when checking
for disconnection of a removable serial device.
* sched/task_posixspawn.c, task_spawn.c, task_spawnparms.c and
spawn_internal.h: Create new interface task_spawn() that is
like posix_spawn(), but uses entry point addresses like
task_create().
* Corrected all argv[] arguments. Should be char * const *, not
const char **.
* sched/pthread* and include/nuttx/sched: Move pthread join data
and pthread key calculation data into the "task group" structure.
* sched/atexit.c, on_exit.c, task_exithook.c and include/nuttx/sched.h:
Move atexit and on_exit data structures to task group. These
callbacks are only issued now when the final member of the task
group exits.
* sched/waitpid.c, task_exithook.c and include/nuttx/sched.h:
Move waitpid data data structures to task group. Callers of
of waitpid() are now only awakened whent he final thread of the
task group exits.
* sched/mq_descreate.c, mq_open.c, mq_remove.c, group_leave.c, and
include/nuttx/sched.h: Move list of opened message queues to
the task group structures. Now all message queues opened by
members of the group are closed when the last member of the group
exits.
* includes/nuttx/sched.h and Lots of files: Change name of _TCB to
struct tcb_s so that (1) it is consitent with other NuttX naming and
so that (2) the naming can handle some upcoming changes.
* includes/nuttx/sched.h and sched/: There are three TCB structures:
struct tcb_s is a generic common version, struct task_tcb_s is a
version for tasks and kernel threads and pthread_tcb_s is a version
for pthreads. By dividing the TCB structure into these variants,
pthreads do not have to be burdened by task-specific data structures
(and vice versa).
patacongo
committed
* sched/task_exithook.c adn group_create.c: Fix an error, the
task within the task group may exit early leaving a pthread to
exit the task group last. In this case, we need to remember the
the PID of the main task in the task group and use that PID for
signalling SIGCHILD to the parent task group.
* included/nuttx/sched.h and sched/sig*.c: Numerous changes to the
signal deliver logic so that the delivery of signals to threads
within a task group will be compliant with delivery of signals
to threads within a POSIX process.
* sched/mq_recover.c and task_exithook.c: Add logic to handle the
case where a task is deleted (or pthread canceled) while it is
waiting on a message queue. task_delete() and pthread_cancel()
are dangerous interfaces. This is only one feeble recover measure
of *many* that would be needed to do this safely.
* sched/group_killchildren.c, task_recover.c, group_foreachchild.c,
sched/restart.c, sched/task_delete.c, and others: Beef up logic
to better support task deletion and pthread cancellation. Needed
to pass need OS test case for task_restart().
* sched/include/sched.h and all timed functions in sched/: Move
timer from local variables to TCB. This is needed so that if a
task is canceled or restarted while it is waiting for a timed
event, we can gracefully recover. We can't let the timer expire
after the task has been deleted.
* arch/arm/include/stm32 and arch/arm/src/stm32: Add support for
the STM32 F3 family (still missing some things).
* configs/stm32f3discovery: This will (eventually) be support for
the STM32F3Discovery board.
* STM32 F3 and STM32F3Discovery port is complete a ready for test.
patacongo
committed
* arch/arm/src/lpc17xx: Add support for the Cortex-M4 FPU and
Mikes "common vector" logic. The LPC1788 is going to need
these things.