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.
Gregory Nutt
committed
* 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.
* arch/arm/src/stm32/stm32_spi.c: Fix SPI DMA logic that does
not work if sem_wait() is interrupt by a signal. From Petteri
Aimonen.
* drivers/input/max11802.c: MAX11802: Fix a timing bug that
corrupted coordinates. From Petteri Aimonen.
* drivers/mmcsd/mmcsd_spi.c: Use SPI locking so that MMC/SD can
exist on the same bus as other SPI devices. From Petteri
Aimonen.
* graphics/nxfonts/nxfonts_sans17x22.h: Small mod to hyphen in
sans17x22 font. The hyphen did not have any space on its sides.
This caused it to run together with other characters so that for
example "+-" would look weird. From Petteri Aimonen.
* mm/mm_mallinfo.c: Take MM semaphore in mm_mallinfo. From Petteri
Aimonen.
* configs/stm32f3discovery/nsh/defconfig: Disable SPI. It is not
used.
* drivers/mtd/sst39vf: Add a driver for the SST29VF NOR FLASH parts.
* sched/os_start.c: Add an additional call-out to support board-
specific driver initialization during the start phase: If
CONFIG_BOARD_INITIALIZE is defined, then an additioinal
initialization function called board_initialize() will be called
just after up_initialize() is called and just before the initial
application is started.
* arch/arm/src/stm32/stm32_otgfsdev.c, drivers/usbdev/usbdev_trprintf.c,
and include/nuttx/usb/usbdev_trace.h: Add logic to support decoding
of device-specific trace events to make the trace ouput more readable.
From Petteri Aimonen.
* arch/arm/src/stm32/stm32_otgfsdev.c: Need to manually set CNAK in
the case where we are waiting for a SETUP command with DATA. Otherwise,
the core may NAK further transactions. From Petteri Aimonen.
* arch/arm/src/stm32/stm32_otgfsdev.c: Add logic to prevent premature
to IDLE state. This change (plus the previous) was necessary to get
the CDC/ACM driver working the certain STM32 F4 hardware (but not others).
These changes appear to prevent certain race conditions that may or may
not cause USB problems. From Petteri Aimonen.
* arch/arm/include/armv6-m and arch/arm/src/armv6-m: First cut at support
for the Cortex-M0
* configs/nutiny-nuc120, arch/arm/include/nu1xx, and arch/arm/src/nuc1xx:
Support for Nuvoton NuTiny NUC120.
* 2013-02-22: the Cortex-M0, NuvoTron NUC1xx, and NuTiny-SDK-NUC120 port
is code complete and ready for testing.
* configs/ekk-lm3s9b96/ostest and nsh: All EKK-LM3S9B96 configurations
converted to use the mconf configuration tool.
* configs/zkit-arm-1769: Add support for Zilogic System's ARM development
patacongo
committed
Kit, ZKIT-ARM-1769. From Rashid.
* configs/zkit-arm-1769/hello: Add a "Hello, World!" configuration for
patacongo
committed
the KBIT-ARM-1769 board. From Rashid.
* configs/zkit-arm-1769/thttpd: Add a THTTPD configuration for the
patacongo
committed
KBIT-ARM-1769 board. From Rashid.
* 2013-02-27: All configurations for the Cortex-M0 NuTINY-SDK-NUC120
appear to be functional and stable.
* configs/zkit-arm-1769/nsh: Add an NSH configuration for the
patacongo
committed
KBIT-ARM-1769 board. From Rashid.
* arch/arm/src/stm32/stm32_otgfsdev.c: Fixes from Petterri Aimonen
related to corner cases that can cause infinite interrupts.
* drivers/usbdev/usbmsc_scsi.c: Change to allow the full name in the
USB descriptor but a truncated, 8-byte name in the SCSI field.
From Petteri Aimonen.
* arch/arm/src/stm32/stm32_spi.c: Need to clear error flags to prevent
corruption of subsequent transfers. Also, bit count should not be
changed while the SPI peripheral is enabled. From Petteri Aimonen.
* drivers/mmcsd/mmcsd_spi.c: When bus is shared, the speed has to be
set every time. Also SD cards require a few dummy clocks to react
into CS release. From Petteri Aimonen.
* configs/lm4f120-launchpad: In initial configuration for testing
the LM4F120 LaunchPad port. This is to support testing only and
is not yet a functional board port (as of 2013-03-01).
* arch/arm/include/lm/lm4f_irq.h and arch/arm/src/lm/chip/lm4f_vector.h:
Add interrupt vector/IRQ number definitions for the LM4F120.
* arch/arm/src/stm32f20xxx_dma.c and stm32f40xxx_dma.c: Fix a typo
in assigned base register addresses for each DMA channel. From
Yan T.
* Several build fixes from Mike Smith were incorporated. These were
mostly compilation errors introduced into the system because of the
large number of recent changes with broad scope (2013-03-04).
* configs/zkit-arm-17969/src/up_can.c: Add CAN support to the
Zilogics Technologies ZKIT-ARM-1769 board (From Rashid Fatah, (2013-03-04)).
* arch/arm/src/lpc17/lpc17*_clockconfig.c: The WaveShare Open1788
board now boots and passes the OS test. This is the work of
Rommel Marcelo (2013-03-04).
* arch/arm/src/lm/lm_gpio.c, lm_gpio.h, and chip/lm4f_pinconfig.h
Extend GPIO logic to handle LM4F. Add LM4F pin configuration header
file (2013-03-04).
* configs/open1788: Enable LED support in all configurations.
(2013-03-04)
* configs/open1788/nsh: NSH configuration verified function. By Rommel
Marcelo (2013-03-05).
patacongo
committed
* configs/open1788/src/lpc17_nsh.c: Use the SD card interface, not SPI
to interface with SD cards (2013-03-05.
patacongo
committed
* arch/arm/src/lpc17xx/lpc17_sdcard.c and header files: Clone the STM32
SD card interface to the LPC1788. It appears to be the same IP.
(2013-03-05)
* libc/wqueue: Work queue logic moved from sched/ to libc/wqueue. It
is not really core OS functionality and this move helps prepare for
user-space work queues. (2013-03-05)
* libc/wqueue: Implemented user-space work queues. These will not
get tested until the next time I attempt a NuttX kernel build.
(2013-03-05).
patacongo
committed
* arch/arm: Correct some bad syscall dispatching logic. This change
cannot be fully tested until there is a fielded NuttX kernel build.
(2013-03-06).
* net/net_poll.c: Correct logic that checks if the socket is
disconnected when the poll is setup. That is bad logic: Listen
sockets, for example, are not connected. In that case, the purpose of
the poll is to wait for connection events. As a result of this,
poll/select would return immediately with POLLHUP with it was used to
detect connection events. This fix for now was to check instead if
the socket is closed (meaning that it was connected at one time but
was closed by the remote peer). That excludes the listen socket which
was never connected. This does introduce a new problem, however. If
the socket was not closed, but lost the connection through an abnormal
event, then poll/select will hang. That needs to be revisited.
patacongo
committed
* fs/fs_select.c: Was not checking if the timeout parameter was NULL
but would, instead, setup a bogus timeout based on whatever it found at
address zero. Also, improved some of the memory allocation logic so
that it will not use so much memory. (2013-03-07)
* net/net_poll.c: Handle the missing case. Now tests for not connected
AND not listening. I think that now covers all of the cases including
the missing case noted above. (2013-03-07)
* mm/: Move all memory manager globals into a structure. A reference
to this structure is now passed internally between mm APIs. This
change will (eventually) support multiple heaps and heap allocators.
(2013-03-08).
* mm/ and include/nuttx/mm.h: Implement support for multiple heaps.
(2013-03-08).
patacongo
committed
* arch/*/src: xyz_addregion() needs to call kmm_addregion, not mm_addregion.
(2013-03-08).
* sched/kmm*.c: Move this garbage kmm*.c file to mm/. until I decide what
to do with them (which is probably to just delete them). (2013-03-08).
patacongo
committed
* mm/mm_test.c and Makefile.test: Deleted the memory test. This was
a good test and helped me a lot when I wrote the memory manager, but
now it is in the way and paralyzing other efforts. So the memory unit
test was deleted. (2013-03-08)
patacongo
committed
* sched/sched_free.c: Rename sched_free() to sched_ufree(); Add
sched_kfree() to handler deferred kernel heap allocations. (2013-03-10)
* arch/: User user-accessible heap to allocate all stacks. (2013-03-10)
* arch/arm/src/sam3u: The AT91SAM3U will now support a kernel heap if
so configured. (2013-03-10)
* configs/sam3u-ek/knsh: This configuration was converted to use the
kconfigs-frontends build tool. (2013-03-10)
* configs/*/include/user_map.h and include/nuttx/userspace.h: Remove
the very kludgy user_map.h file and replace it with a header that
is expected at the beginning of the user-space blob. (2013-03-10)
* configs/sam3u-ek/kernel/up_userspace.c: This is the header for
the SAM3U-EK's user space. (2013-03-10)
* sched/os_bringup.c: In the kernel build, os_bringup() now uses the
user-space header to automatically start the user-space work queue,
if so configured. (2013-03-10)
patacongo
committed
* arch/arm/src/lpc17xx/lpc17_mpuinit.c and lpc17_userpace.c: Add
support for the MPU and kernel build for the LPC17xx family.
(2013-03-11)
* configs/open1788/kernel and knsh: Add kernel build support and
a kernel NSH configuration for the WaveShare Open1788 board.
(2013-03-11)
* configs/sam3u_ek/kernel, knsh, and scripts: Move some files around
for better supportability. (2013-03-11)
* configs/open1788/kernel, knsh, and scripts: Add a kernel mode build
configuration for the WaveShare Open1788 board. (2013-03-11)
* arch/arm/src/armv7-m/up_mpu.c: Several fixes to MPU logic.
(2013-03-12).
* arch/arm, configs/sam3u-ek, configs/open1788: Fix memory map for
kernel mode build; Some regions were overlapping. (2013-03-13).
* arch/: Rename g_heapbase to g_idle_topstack. This is the same value
however: The top of the IDLE stack is the same as the base of the
heap in the flat build. But not in the kernel build: The base of
the heap is elsewhere so the naming was wrong. (2013-03-13).
* libc/stdlib/lib_itoa.c: Implementation of itoa() contributed by
6.27 2013-04-28 Gregory Nutt <gnutt@nuttx.org>
* arch/arm/src/armv7-m/up_mpu.c: Correct MPU sub-region settings for
unaligned regions (2013-03-15).
* arch/arm/src/armv6-m/up_svcall.c: Bring up to equivalent to the
ARMv7-M version (2013-03-15).
* configs/lm4f120-launchpad/tools: Add scripts and instructions to
simplify use of OpenOCD with ICDI (from JP Carballo, 2013-03-15).
* tools/mkconfig.c: Logic that attempts to suppress buffered I/O
within the kernel is wrong. sizeof(struct file_struct) must be
the same in both kernel- and user-spaces (2013-03-16).
* arch/arm/src/common/up_pthread_start.c, libc/pthread/pthread_startup.c,
and related files: Implement switch to user-space and user-space
pthread start-up function (2013-03-16).
* arch/arm/src/common/up_signal_handler.c, libc/pthread/pthread_startup.c,
and related files: Implement switch to user-space and user-space
pthread start-up function (2013-03-16).
* arch/arm/src/common/up_signal_handler.c, libc/signal/signal_handler.c,
arch/arm/src/armv[6|7]-m/up_svcall.c, arch/arm/include/armv[6|7]-m/svcall.h,
include/nuttx/userspace.h, and sched/sig_deliver.c: Implement switch
to user-space from kernel signal delivery trampoline before calling user-
space signal handler. Return from user-space signal handler using a
system call (2013-03-16).
* arch/arm/src/armv[6|7]-m/up_schedulesigaction.c: Need make sure we are
in kernel mode before switching to kernel-mode signal handler
trampoline (2013-03-16).
* arch/arm/include/armv[6|7]-m/irq.h, and arch/arm/src/armv[6|7]-m/up_svcall.c:
Add support for nested system calls. In the current design, this can
happen only under one condition: When the kernel system call logic calls
back into user space in order to allocate user space memory. So it is
expected that the maximum nesting level will be only 2 (2013-03-17).
* libc/stdio/lib_sccanf.c: Correct an error in sscanf. If %n occurs in
the format statement after the input data stream has been fully
parsed, the %n format specifier will not be handled. Reported by
Lorenz Meier (and also earlier by Kate) (2013-03-17).
* drivers/serial/serial.c: Support for O_NONBLOCK was not supported
in the "upper half" serial driver. This is normally not an issue
because UART TX is almost always available, but it does become an
if the UART uses hardware flow control or if the a "lower half" is
something like the USB CDC/ACM driver that may need to block for
significant amounts of time (2013-03-18).
* arch/arm/src/armv7-h/ram_vectors.h, up_ramvec_*.c, arch/arm/src/*/*_irq.c,
and Make.defs: Add support for modifiable interrupt vectors in RAM
(2013-03-18).
* arch/arm/src/armv7-m/up_exception.S, sam3u/sam3u_vectors.S, and
lpc17xx/lpc17_vectors.S: In exception handling with CONFIG_NUTTX_KERNEL,
need to explicity set and clear the privilege bit in the CONTROL
register on return. I assumed this would be handled automatically
by the EXC_RETURN. Silly me (2013-03-18).
* arch/arm/src/lpc17_adc.c: Add a work-around for an ADC errata. From
* arch/arm/src/armv7-m/up_hardfault.c: If the PRIMASK is used to disable
interrupts, then additional logic is required in the hard fault handler
* libc/ and mm/: Directories where the same sources files are used to
build different objects in the first and second pass kernel builds need
to keep those objects in separate directories so that they are not
* fs/fat: Create an error in FAT file creation. The FAT logic was
not making a distinction between directory non-existence and file
non-existence so when it you try to create a file in a non-existent
patacongo
committed
directory, it would create a file with the name of the missing
directory. Reported by Andrew Tridgell (2013-03-30).
* Numerous files: Changed the protoypes of up_create_stack() and
up_release_stack() so that is includes a task type. Normally you
can get this type from the TCB parameter, but there are certain
conditions when the task type is not valid in the TCB when these
functions are called. Only the prototypes were changed on this
big, initial checkin. The next step will be to add logic to
allocate stacks for kernel threads from protected kernel memory
and all other task types from unprotected user memory (2013-03-20).
* arch/*/src/common/up_createstack.c, up_use_stack.c, and
up_release_stack.c: If creating or releasing the stack for a kernel
thread, use the kernel allocator so that the kernel thread stacks
are protected from user application meddling (2013-03-20).
* arch/arm/src/armv[6|7]-m/up_scall.c: Fix parameter passing for
all system call inline functions with > 3 parameters (2013-03-20)
* arch/*/src/common/up_stackframe.c and include/nuttx/arch.h: Add
and new interface to set aside memory on the stack. This will be
used at least in the kernel build to hold task arguments (2013-03-21).
* sched/sig_deliver.c: When dispatching signals to user threads,
copy the siginfo_t from the sigq to the stack. The signal queue
is allocated from kernel memory; however, the current stack is
the user's stack and the user code will be able to access the
signinfo_t data from the stack copy (2013-03-21).
* arch/arm/src/stm32: Added support for the kernel mode build
(cloned from the lpc17xx). (2013-03-21).
* configs/stme32f4discovery/kernel and scripts: Add support for
the kernel mode build on the STM32F4Discovery (2013-03-21).
* drivers/st7567.c/h and include/nuttx/lcd/st7567.h: Driver for
the ST7567 LCD Display Module from Univision Technology Inc.
contributed by Manikandan.S (2013-03-22).
* configs/zkit-arm-1769: Now supports the ST7567 LCD display
module. Added an nxhello configuration for testing (Manikandan.S,
2013-03-22).
* configs/stm32f4discovery/kostest: Add a kernel mode version
of the OS test for the STM32F4Discovery board (2013-03-22).
* nuttx/include/nuttx, nuttx/configs/sam3u-ek, nuttx/configs/open1788,
nuttx/configs/stm32f4discovery, and nuttx/arch/arm: Complete
re-archtecting of how signals are dispatched to user-space code
in the kernel build. The original implementation was C-based
and simpler. However, the C code intermixed with SVC calls was
not properly preserving registers. The more complex, assembly
language version does not suffer from these issues. I believe
the the kernel build can now be called "feature complete"
(2013-03-23).
* binfmt/binfmt_execmodule.c: Here is a place where I forget
to update the call to sched_releasetcb() to pass the thread
type as the second parameter (2013-03-23).
* arch/arm/src/lm, kinetis, lpc32, and nuc1xx: Add kernel build
support to all ARMv7-M and ARMv6-M chips. There are no
configurations in place to to verify these additions!
(2013-03-24).
* arch/arm/src/lm/lm_gpio.h: Correct typos in alternate function
definitions (2013-03-24).
* arch/arm/src/lm/lm_lowputc.c and lm_serial.c: Add support for
the 7 UARTs on the LM4F120 (2013-03-24).
* configs/lm4f120-launchpad/ostest/defconfig: Fix the configured
RAM size. This appears to be the last show-stopper bug: The
LaunchPad now runs NuttX! (2013-03-24).
* configs/lm4f120-launchpad/nsh: Add an NSH configuration for the
LaunchPad (2013-03-24).
* configs/kwikstik-k40: Converted configurations to use the
konfig-frontends tool (2013-03-25).
* configs/twr-k60n512: Converted configurations to use the
konfig-frontends tool (2013-03-25).
* arch/arm/src/lpc17xx/lpc17_lcd.c: Add an LCD framebuffer driver
for the LPC177x/8x family (2103-3-26).
* arch/arm/src/lpc17xx/lpc17_emc.c and
configs/open1788/src/lpc17_sdraminitialize.c: Began testing the
Open1788 SDRAM. The SDRAM is basically functional, but there are
failures with the SDRAM is stressed by the memory test at
apps/example/ramtest (SDRAM support and the RAM test can be configured
into the base configs/open1788/nsh configuration as described in
configs/open1788/READMT.txt (2103-3-27).
* configs/open1788/nxlines: Add a configuration to test both the
Open1788 LCD and SDRAM which is used as a framebuffer (2013-3-27).
* arch/arm/src/lpc17xx/lpc17_gdma.c and lpc17_sdcard.c: Began
implementation of the LPC17 DMA and integration into the SDCARD
driver (2013-3-29).
* arch/arm/src/lpc17xx/lpc17_gdma.c: LPC17 DMA is code complete and
under test. Does not yet work (2013-3-30).
* fs/fat/fs_fat32dirent.c and fs_fat32util.c: Several fixes to the
FAT file system from Ronen Vainish. These fixes mostly involve the
logic to extend directory clusters for the case of long file names
but also include a few important general fixes (such as for storing
32 bit FAT values) (2013-03-31).
* arch/arm/src/lpc17xx/lpc17_gdma.c and lpc17_sdcard.c: SD card DMA
is now functional. Thre may be some issues with DMA from CPU SRAM
which is apparently disabled in sleep mode; up_idle() always enters
sleep mode (2013-03-31).
* arch/arm/src/stm32: Add architecure support for the STM32 F427/F437
chips. Contributed by Mike Smith (2013-4-01).
* configs/zkit-arm-1769/src/up_can.c: Add support for both CAN1
and CAN2. Contributed by M.Kannan (2013-4-01).
patacongo
committed
* arch/arm/src/lpc17xx/lpc17_spi.c and lpc17_ssp.c and
configs/olimex-lpc1766stk, nucleus2g, zkit-arm-1769, and
lpcxpresso-lpc1768: The initialization function for both the LPC17xx
SPI and SSP blocks was called up_spinitialize() which is the common API
definition of include/nuttx/spi.h. But this raises a problem when the
MCU has multiple blocks for differ SPI implementations as does the
patacongo
committed
LPC17xx (and also as does other architectures like STM32 that have
USARTs that can serve as SPI interfaces as well). These were renamed
to lpc17_spiinitialize() and lpc17_sspinitialize() in this case.
Problem reported by M. Kannan (2013-4-01).
patacongo
committed
* arch/arm/src/lpc17xx/lpc17_gpdma.c and lpc17_idle.c: In sleep mode,
DMA can only be performed from peripheral SRAM. CPU SRAM is shutdown
in sleep mode. In order to simplify DMA memory allocation, the LPC17xx
IDLE will now hold off going to sleep mode if there is a DMA in progress
(2013-4-01).
patacongo
committed
* configs/open1788/src/lpc17_autoleds.c: Reversed sense of the IDLE LCD.
It is now off when the LPC17 is sleeping and on when awake. That is
much more useful because it provides a good visual indication of the
dynamic CPU load (2013-4-01).
* configs/open1788/src/lpc17_touchscreen.c and lpc17_ssp.c: Add
support for the touschscreen on the WaveShare LCD (2013-4-01).
* configs/several: There were already some functions called
lpc17_sspinitialize(). So they had to be renamed (2013-4-01).
* arch/arm/src/lpc17xx/lpc17_ssp.c: Adapted to work the the LPC178x
family (2013-4-01).
* arch/arm/src/lpc17xx/lpc17_gpio.c/.h: Separate LPC176x and LPC178x
logic into separate files. The logic is diverging to much to
try to retain common code (2013-4-03).
* net/net_clone.c: Fix compilation error when socket options are
are disabled. Reported by Daniel O'Connor (2013-4-05).
* configs/zkit-arm-1769/src/up_leds.c: Fix a typo introduced into
the button interrupt logic (2013-4-05).
* arch/arm/src/lpc17xx/lpc178x_gpio.c: Re-design of the GPIO
logic for the LPC178x family by Rommel Marcelo (2013-4-05).
* arch/arm/src/lpc17_gpiodbg.c: Updated so that it correctly
reports LPC177x/8x GPIO registers when GPIO debug is enabled
(2013-4-05).
* arch/arm/src/Makefile: The variable NUTTX already includes
the extension $(EXEEXT). So remove the second extension
$(NUTTX)$(EXEEXT) in two places (2013-4-7).
* arch/arm/src/lpc17xx/lpc17_gpioint.c: Disable interrrupts in
lpc17_setintedge(). This logic must be atomic because it can be
re-entered before it completes enabled interrupts, sometimes
leaving the interrupts in a strange state (2013-4-7).
* arch/arm/src/lpc17_lcd.c: Rommel Marcelo got the LPC1788
framebuffer-based LCD working. Very nice! (2013-4-08).
* arch/arm/src/lm/lm_clockconfig.c and configs/lm4f120-launchpad:
Fix handling of the RCC SYSDIV2 field whent the PLL output is
400MHz. Don't forget to set the USERCC2 bit in the register or
all is for naught (2013-4-09).
* configs/zkit-arm-1769/src/up_lcd.c, up_ssp.c, and up_spi.c:
Use SSP0 to LCD and SPI to SD-Card on the Zkit-arm-1769 board.
From Manikandan. S (2013-4-10)
Gregory Nutt
committed
* configs/olimex-lpc1766stk/usbserial: Converted to use the
kconfig-config frontends tools (2013-4-12).
Gregory Nutt
committed
* drivers/usbdev/pl2303.c: Fix some compilation errors that
crept in when fixes to the CDC/ACM driver where blindly
incorporated in the PL2303 driver (2013-4-12).
Gregory Nutt
committed
* configs/stm3210e-eval/usbserial: Converted to use the
kconfig-config frontends tools (2013-4-12).
* configs/nucleus2g/usbserial: Converted to use the
kconfig-config frontends tools (2013-4-12).
Gregory Nutt
committed
* arch/arm/src/kl and arch/arm/include/kl: Add support for the
Kinetis L family of Cortex-M0+ MCUs. Contributed by Alan
Carvalho de Assis. NOTE: This is still very much a work in
progress as of this initial commit (2013-04-16).
* configs/freedom-kl25z: Support for the Freedom KL25Z board
contributed by Alan Carvalho de Assis. NOTE: This is still
very much a work inprogress as of this initial commit
(2013-04-16).
Gregory Nutt
committed
* arm/arm/src/armv6-m and arch/arm/include/armv6-m: Ooops. Fix
a major screw-up: The Cortex-M0 has no BASEPRI register but
the current logic was using it to manage interrupts. Switch
to using the PRIMASK. This means that hardfaults will (again)
occur when SVC instructions are executed (2013-4-16).
* configs/stm3240g-eval/ostest: Converted to use the kconfig-frontends
tools (2013-4-17).
Gregory Nutt
committed
* sched/task_exithook.c: Don't flush the streams until the
final thread of the group exits. Flushing may cause the
thread to get suspended at a bad time and other threads in the
group may run while the exiting thread is in an unhealthy state.
This can cause crashes under certain circumstance. This is a
critical bugfix (2013-4-18).
* drivers/mtd/ramtron.c: Extended to support the FM25V01 device.
Contributed by Lorenz Meier (2013-4-18).
* sched/task_deletecurrent.c and task_exit.c, arch/*/up_exit.c:
Renamed task_deletecurrent() and task_exit() since it really
handles the architecture independent part of _exit(). _exit()
is used internally, but if it is called from the user, it should
unregister any atexit() or on_exit() functions (2013-4-18).
Gregory Nutt
committed
* tools/kconfig2html.c: This is the beginning of a tool to
replace the hand-generated documentation of the NuttX configuration
Gregory Nutt
committed
variables with auto-generated documentation. The initial checkin
is an incomplete, poorly structured prototype that I hope to
evolve into a useful tool (2014-4-20).
* libc/string/lib_strchr.c: strchr(str, '\0') should return a
pointer to the end of the string, not NULL. From Petteri
Aimonen (2014-4-22).
* fs/fat/fs_writefat.c: mkfatfs was writing the boot code to the
wrong location. From Petteri Aimonen (2014-4-22).
Gregory Nutt
committed
* Documentation: The NuttX documentation now expects to find an
auto-generated version of the configuration variable documentation
at Documentation/NuttXConfigVariables.html (2014-4-22).
* arch/arm/src/lpc17xx/lpc17_adc.c: Only one ADC pin was configured.
Need to configure all that are in the ADC0 set. From MKannan
* configs/zkit-arm-1769/src: ADC and SPI/USB MSC updates from
MKannan (2014-4-23).
* arm/src/armv7-m/ram_vectors.h and arm/src/armv7-m/up_ramvec_initialize.c:
Fixes to RAM vector logic from Paul Y. Zhang (2014-4-23)
* tools/kconfig2html.c: Improve behavior of Expand/Collapse
Table of Contents; Handle errors in parsing of strings and in
some uninitialized variables. Add an option to use jQuery.
Gregory Nutt
committed
* tools/mkconfigvar.sh: Fix make target (2014-4-23).
* sched/exit.c, pthread_exit.c, task_exit.c, task_delete,c and
task_exithook.c: For pthread_exit(), move some logic to an early
point in the exit sequence where the task may need to block. Add
conditional logic in the lower end of the eixt logic kicked off by
_exit() to prohibit blocking after the task has been torn down and is
no longer cabable of blocking (2014-4-23).
Gregory Nutt
committed
* arch/arm/src/common/up_initialize.c: Add missing registration
of /dev/zero. Registration of /dev/null should depend upon
conditional compilation. From Ken Pettit (2014-4-24).
* arch/*/src/common/up_initialize.c: Same change required to other
architectures (2014-4-24).
* arch/arm/src/kl/kl_clockconfig.c and configs/freedom-kl25z/include/board.h:
Modify out PLL configuration so that it uses the values in
board.h; Fix PLL settings in board.h so that the correct core
and bus clock frequencies are generated. (2014-4-24).
* arm/src/kl/chip/kl_memorymap.h, kl_sim.h, andkl_uart.h: Correct some
register definitions (2014-4-25).
* arch/arm/src/kl/Kconfig, kl_lowputc.c, kl_serial.c, and kl_config.h:
No UART3-5 (2014-4-25).
* arch/arm/src/kl/kl_serial.c: Various fixes to various files in the
KL architecture directory as need to get the interrupt-driven
serial driver to work. The Freedom KL25Z NSH configuration now
works (2014-4-25).
* include/nuttx/assert.h, arch/*/src/*/up_assert.c, and other file:
Remove up_assert_code(). While asserting with an encoded value
could be a good feature, the codes have not be well utilized nor
documented. Give that situation it is better to remove the API
and reduce the footprint a little (2014-4-25).
Gregory Nutt
committed
* drivers/serial/Kconfig and arch/*/src/*/*_serial.c: Add
compilation so that the useless TIOCSERGSTRUCT ioctl logic
is not build unless CONFIG_DEBUG and CONFIG_SERIAL_TIOCSERGSTRUCT
are defined.
Gregory Nutt
committed
* sched/task_delete.c and task_terminate.c: Most task_terminate()
out of task_delete.c into its own C file. This should prevent
dragging task_delete() into the link when it is never called.
6.28 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>
* arch/arm/src/lpc17xx/lpc17_i2c.c: Interrupts were not being
Gregory Nutt
committed
re-enabled in the I2C intializatin function (2013-4-30).
* net/sendto.c: Added skeleton of implementation of send timeouts
for UDP. However, this functionality really does not make
sense, so it is disabled in the code (2013-4-30).