Newer
Older
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
Pettit.
* Networking:
- Driver Statistics: Most network drivers do not support statistics.
Those that do only supported them when DEBUG is enabled. Each
driver collected an architecture specific set of statistics and
there was no common mechanism to view those statistics. Thus,
the driver feature was mostly useless. This release standardizes
the driver statistics and puts the definition in the common network
device structure defined in netdev.h where they can be accessed by
network applications. All Ethernet drivers that collect statistics
have been adapted to use these common statistics.
* Simulation Platform:
- W25 FLASH: Added support for W25 FLASH simulation. From Ken Pettit.
- HOSTFS: Added support for the HOSTFS file system (see "File Systems",
above).
* Atmel SAMV7:
- SAME70: Added support for the SAME70 family of chips.
- Tickless: SAMV7 now supports the tickless mode of operation.
* Atmel SAMV7 Drivers:
- MPU: Added MPU and protected build support.
- QSPI: Added a QuadSPI FLASH driver. This driver operates in the
memory-mapped, Serial Memory Mode (SMM).
- FLASH: Added support to write on-chip FLASH.
- Timer/Counter: TC driver ported to SAMV7 from the SAMA5. Free-running
and one-short timer logic also ported.
- PCK: Brought programmable clock (PCK) logic from SAMA5 into SAMV7.
- Timer/Counter: Support PCK6 as an optional source for the timer/
counter clock.
* Atmel SAMV7 Boards:
- SAME70-Xplained: Add NSH and networking configurations for the
SAME70 Xplained board. Includes verified support for serial console,
LEDs, buttons, SDRAM, HSMCI SD card, and networking.
- SAMV7-XULT and SAME70-Xplained: If Tickless mode is selected then
enable PCK6 as a timer/counter clock source
* STMicro STM32:
- CCM PROCFS: Is no longer a part of the 'base' procfs entries and can
now only be supported via run time registration with
CONFIG_FS_PROCFS_REGISTER=y.
* STMicro STM32 Drivers:
- Timers: Add a compatible lower-half timer driver for use with the
common timer upper-half driver. From Wail Khemir.
* STMicro STM32 Boards:
- STM32F4-Discovery: Add low level support for the Zero Cross driver
for the STM32F4-Discovery. From Alan Carvalho de Assis.
- STM32F4-Discovery: Add board config to support for the MAX6675. From
Alan Carvalho de Assis.
* C Library/Header Files:
- bsearch(): Added the bsearch() function from NetBSD.
- freopen(): Added support for freopen().
- strftime(): Added day-of-week support (when avaialable).
* Tools:
- nxstyle: Add crappy style checking tool nxstyle.c. See thee tools/
README file for more info.
* Applications: NSH
- mksmartfs command: Add configuration option to supported multiple
rootdirectories. From Ken Pettit.
- Add support for 'basename' and 'dirname' commands.
- set command: Like bash, NSH set command now strips off any leading
or trailing whitespace.
- mount command: The mount commands now accepts mount options
(currently needed only for the hostfs file system). From Ken
Pettit.
- losetup command: NSH no longer calls losetup() and loteardown
directly. Now it opens /dev/loop and accomplishes these things
using ioctl() calls.
- ifconfig command: If CONFIG_NETDEV_STATISTICS=y, then print the
network driver statistics in the ifconfig.
- ifconfig, ifup, and ifdown: These commands now uses /proc/net/<dev>
to view network device configuration and status and /proc/net/stat
to show network statistics. A consequence of this is that you
cannot view this network information if the procfs is not enabled
and mounted at /proc.
- losmart command: Added a new NSH losmart command. losmart setups
up a loop device for the smart MTD driver similar to losetup but
with different syntax. From Ken Pettit.
- ps command: The 'ps' command now uses /proc/<pid>/ to obtain task
status information. A consequence of this is that you cannot use
the 'ps' command if the procfs is not enabled and mounted at /proc.
* Applications: apps/system:
- apps/system/hexed: Port the hexed command line hexadeciamal editor
to Nuttx. See http://apps.venomdev.net/hexed/.
* Applications: apps/fsutils:
- apps/fsutils/smartfs: Move into apps/fsutils from kernel, now uses
only open and ioctl. From Ken Pettit.
* Applications: apps/examples:
- apps/examples/fstest: Add a generic file system test. This is
essentially the same as examples/smart, but has all of the SmartFS
specific logic ripped out. This was created for testing the new
TMPFS.
- apps/examples/zerocross: Add a Zero Cross application example. From
Alan Carvalho de Assis.
- apps/examples/media: Add a simple test for access of media via a
block driver or MTD driver.
Bugfixes. Only the most critical bugfixes are listed here (see the
ChangeLog for the complete list of bugfixes and for additional, more
detailed bugfix information):
* Core OS:
- Fixed an error in clock_timespec_subtract(). Found by Lok.
- pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
of the type of a pthread. Hence, it could be confused as a task.
Found because this was causing a crash when /proc/nnn/cmdline was
printed.
* File System/Block Drivers:
- SMART MTD: Fix some Smart wear-leveling bugs. Fixed SmartFS wear
level error that occurs when the logical sector size is too small to
save all wear level status bytes in a single sector. Logical
sectors 1 and 2 were simply not being allocated and then the
read_sector and write_sector routines were failing. From Ken
Pettit.
* Graphics/Graphic Drivers:
- ILI9432: Fixed errors in orientation. Portrait, RPortrait, and
Landscript should work correly now. They were displayed mirrored.
From Marco Krahl.
* Common Drivers:
- CAN: Fix a problem in the CAN upper-half driver that occurs only
for CAN hardware that support a H/W FIFO of outgoing CAN messages.
In this case, there can be a hang condition if both the H/W and
S/W FIFOs are both full. In that case, there may be no event to
awaken the upper half driver. Add a new (conditional) CAN upper
half interface called can_txready() that can be used by the lower
half driver to avoid this hang condition.
- MS58xx: Fix some issues with initialization and with CRC
calculation. From Karim Keddam.
- W25: Fixed W25 FLASH driver page read/write logic. From Ken Pettit.
* Atmel SAMV7 Drivers:
- USART1 pin configuration: Reconfigure System I/O when using USART1.
From Frank Benkert.
- MCAN: Added a call to can_txready() to the MCAN driver.
* STMicro STM32 Drivers:
- stm32 F4: Fix some TIM12 pin mappings. From Max Kriegleder.
* STMicro STM32 Boards:
- STM32F429i-Disco: Calculated partition boundries based on page
block sizes but mtd_partition() is expecting calculations based on
erase block size. From Alan Carvalho de Assis.
* C Library/Header Files:
- sys/types.h: When building on a 64-bit machine, the size of size_t
should be 64-bits. In general, I believe that sizeof(size_t) should
be the same as sizeof(uinptr_t). mmsize_t should always be 32-bits
in any event. The last change to stddef has been backed out. With
these changes, the simulator builds without errors or warnings an a
64-bit machine.
* Applications: apps/nshlib:
- The I/O buffer, g_iobuffer, should not be a global buffer. That
will not work in an environment where there are multiple NSH
sessions. The I/O buffer must, instead, be a part part of the
session-specific data defined in nsh_console.h.
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
NuttX-7.14 Release Notes
------------------------
The 114th release of NuttX, Version 7.14, was made on January 28, 2016,
and is available for download from the Bitbucket.org website. Note
that release consists of two tarballs: nuttx-7.14.tar.gz and
apps-7.14.tar.gz. These are available from:
https://bitbucket.org/patacongo/nuttx/downloads
https://bitbucket.org/nuttx/apps/downloads
Both may be needed (see the top-level nuttx/README.txt file for build
information).
Additional new features and extended functionality:
* Core OS:
- modules: Add support for kernel modules: insmod, rmmod, support
functions. procfs support for user lsmod functioniality.
- SIGEV_THREAD: Add support for the SIGEV_THREAD notification method
in struct sigevent. This initial implementation will only work in
the FLAT build since it utilizes the work queue for signal
callbacks. See the top-level TODO file for additional details.
- 64-Bit Timer: If the 64-bit timer is selected, then use it whenever
clock_systimer() is called rather then chopping the 64-bit timer
down to 32-bits. Add a new type, systime_t to represent the 32- or
64-bit system timer. This eliminates clock_systimer32() and
clock_systime64(); there is now only clock_systimer().
* Common Device Drivers:
- Telnet Driver: Move the Telnet driver from apps/ to
nuttx/drivers/net. It is a driver a belongs in the OS. Now works
like the loop device: A new interface called telnet_initialize()
registers a telnet session "factory" device at /dev/telnet. Via
ioctl, the factory device can create instances of the telnet
character devices at /dev/telnetN to support Telnet sessions.
- PCA9635PW: Add a driver for the PCA9635PW I2C LED driver IC which
can be used to control the intensity of up to 16 LEDs. From
Alexander Entinger.
- MCP9844: Driver for the MCP9844 I2C digital temperature sensor with
a selectable resolution. From Alexander Entinger.
- PN532: Add driver for the NXP PN532 NFC-chip. From Janne Rosberg
and others at Offcode Ltd.
- LSM9DS1: Add driver for the STMicro LSM9DS1 chip. The LSM9DS1 is a
system-in-package featuring a 3D digital linear acceleration sensor,
a 3D digital angular rate sensor, and a 3D digital magnetic sensor.
From Paul Alexander Patience.
- CAN Interface: Add more extensive error reporting capaibility to
the CAN interface definitions. From Frank Benkert.
- SPI Interface: Add an optional hwfeatures() method to the SPI
interface.
* Simulation Platform:
- NSH configuration uses the custom start up scriptwith a read-only
passwd file. Includes hooks for an MOTD message.
* ARMv7-R
- ARMv7-R: Add basic architecture support for the ARMv7-R processor
family.
* Atmel AVR:
- Atmega2560: Add support for the Atmega2560. From Dimitry Kloper.
- debug.h: Add an AVR-specific header file used when the AVR MEMX
pointer is used. From Dimitri Kloper.
* Atmel AVR Boards:
- Arduino-Mega2560: Add support for the Arduino-Mega2560. From
Dimitry Koper.
* Atmel SAMV7 Drivers:
- Port the TRNG driver from the SAMA5D3/4 to the SAMV7.
- Port the WDT driver from the SAMA5D3/4 to the SAMV7.
- Add an RSWDT driver.
* Atmel SAMV7 Boards:
- SAMV71-XULT: Add configuration for testing OS modules.
* Freescale Kinetis:
- MK60N512VLL100: Add support for the MK60N512VLL100 Kinetis part.
From Andrew Webster.
* Freescale Kinetis Boards:
- ENET: Numerous updates to the Kinetis ENET driver. That driver is
now functional. From Andrew Webster.
* NXP LPC43xx Boards:
- WaveShare LPC4337-WS: Support for the WaveShare LPC4337-WS board.
From Lok Tep.
* STMicro STM32 Drivers:
- Timer Capture: Add timer input capture driver. From Pierre-Noel
Bouteville.
* STMicro STM32 Boards:
- Olimex STM32 H407: Added a port to the Olimex STM32 H407 board.
This board features the STMicro STM32F407ZGT6 (144 pins).
Contributed by Neil Hancock.
* TI TMS550 Boards:
- TI LaunchXL-TMS57004: Add basic board support for TI LaunchXL-
TMS57004. Still a work in progress.
* C Library/Header Files:
- sys/time.h: Add timeradd(), timersub(), timerclear(), timerisset(),
and timercmp() as macros. These are non-POSIX interfaces, but
included in most BSD deriviatives, including Linux. From Manuel St??.
- AVR support: Introduce support for Atmel toolchain in-flash strings.
Atmel toolchain AVR compiler provides a transparent in-flash object
support using __flash and __memx symbols. The former indicates to
compiler that this is a flash-based object. The later used with
pointer indicates that the referenced object may reside either in
flash or in RAM. The compiler automatically makes 32-bit pointer
with flag indicating whether referenced object is in flash or RAM
and generates code to access either in run-time. Thus, any function
hat accepts __memx object can transparently work with RAM and flash
objects.
For platforms with a Harvard architecture and a very small RAM like
AVR this allows to move all constant strings used in trace messages
to flash in the instruction address space, releasing resources for
other things. This change introduces IOBJ and IPTR type qualifiers.
The 'I' indicates that the object may lie in instruction space on a
Harvard architecture machine. For platforms that do not have __flash
and __memx or similar symbols IOBJ and IPTR are empty, making the
types equivalent to, for example, 'const char' and 'const char*'.
For Atmel compiler these will become 'const __flash char' and
'const __memx char*'. All printf() functions and syslog() functions
are changed so that the qualifier is used with the format parameter.
From Dimitry Kloper.
- debug.h: Add configuration to support an architecture-specific
debug.h header file. From Dimitri Kloper.
- netdb: Add support for the use of a DNS resolver file like
/etc/resolv.conf.
- TEA: Add an implementation of the Tiny Encryption Algorithm.
- math32.h: Add some utilities to support 64-bit arithmetic
operations for platforms that do not support long long types.
* Tools:
- tools/cnvwindeps.c: Add a tool that will convert paths in
dependencies generated by a Windows compiler so that they can be
used with the Cygwin make.
- tools/mkwindeps.sh: A script that coordinates use of cnvwindeps.exe.
Dependencies now work on the Cygwin platform when using a Windows
ative toolchain.
* Applications: NSH
- Module Commands: Add module commands: insmod, rmmod, and lsmod.
- Time Command: Add a 'time' command that may be used to time the
execution of other commands.
- Password Commands: Add useradd, userdel, and passwd commands.
- MOTD: Now supports a Message of the Day (MOTD) that will be
presented after the NSH greeting.
- Session Logins: All sessions may be protected with logins using the
encrypted password in /etc/passwd.
- Extended Logins. Added optional platform-specific function to
perform password verification and optional delay after each failed
login attempt.
* Applications: apps/fsutils:
- apps/fsutils/passwd: Utility library for accessing a password file
like /etc/passwd.
* Applications: apps/netutils:
- apps/netutils/telnetd: Now creates Telnet sessions by opening a new
factory device at /dev/telnet and then using ioctl calls to create
the session character drivers at /dev/telnetN.
- apps/netutils/netlib: Add netlib_get_dripv4addr() and
netlib_get_ipv4netmask(). From Pelle Windestam.
* Applications: apps/examples:
- apps/examples/module: Add a test harness for verifying NuttX kernel
modules.
- apps/examples/pca9635: Add a simple test of PCA9635PW PWM LED driver.
From Alan Carvalho de Assis.
- apps/examples/ostest: Add a test of POSIX timers using SIGEV_THREAD.
Bugfixes. Only the most critical bugfixes are listed here (see the
ChangeLog for the complete list of bugfixes and for additional, more
detailed bugfix information):
* Core OS:
- pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
of the type of a pthread. Hence, it could be confused as a task.
- waitpid: CRITICAL BUGFIX. Add a reference count to prevent waitpid
from using stale memory released by the waited-for task group.
- clock_systimespec(): Fix an error in a time conversion.
* File System/Block Drivers:
- poll(): Fix handling of sem_tickwait() return value sem_tickwait()
does not return an -1+errno, it returns a negated errno value.
Noted by Freddie Chopin.
* Common Drivers:
- TUN Driver: Fix a compile time error in the TUN driver. From
Vladimir Komendantskiy.
- USB Host HID Parser: Wrong size used in memcpy(). From Hang Xu.
- PCA9555: Fixed a bug in the function pca9555_setbit which occurs if
someone tries to set one of the pins 8-15. The problem is that
after the check if the pin is greater than 7 the variable addr is
incremented and used in the Call I2C_WRITEREAD. But later in the
call to the I2C_WRITE buf[0] is used as address but this address is
not incremented as it should be. Note address does mean the address
to the register in the ioexpander and not the I2C address. From
Stefan Kolb.
* Networking:
- TCP/IOB: Numerous fixes, mostly relate to TCP and IOB buffering
and race conditions. These were necessary for for the NuttX
networking later to be stable in some stress testing. From Andrew
Webster.
* Atmel SAMV7 Drivers:
- USBHS Device: In USBHS device driver, fix check if zero length
packet is needed.
* STMicro STM32 Drivers:
- OTG FS Host: Fix some backward arguments to stm32_putreg(). Note
by Hang Xu.
* Tools:
- tools/mkdeps.c: Extended/fixed support for --winpath option.
Dependencies now work under Cygwin with a native Windows toolchain.
* Build System:
- apps/platform/Makefile: Use a relative path to the board directory
link rather than the absolute path. For Cygwin, the absolute would
would need converted with cygpath. But just using the relative path
is a simpler solution.