IPC@CHIP® RTOS – API Documentation

Header image

Main page

Release Notes – SC1x3 @CHIP-RTOS V1.70

The tickets are grouped by component and then sorted by type and ticket number.

RTOS - File system
Ticket: #2301
Component: RTOS - File system
Type: defect
Summary: DEL command malfunction with '*' wildcard
Description: When file name is 8 characters, like 12345678.123, and the console command DEL 12345678*.123 is used, this system gives a "File not found" error message. The file 12345678.123 is not deleted.
Solution: Allow short name match with wild card '*' in 9th position (or 4th position of extension name).

Ticket: #2303
Component: RTOS - File system
Type: defect
Summary: Implicit file close at DOS SWI 0x21 service 0x40 on write failure is dangerous
Description: The RTOS had in the past closed files when a read or write to that file fails. This was done to cope with fact that fclose() will not reach the close() action if a file flush fails, thus otherwise leaving that file open and potentially leaking RTOS file objects should that program then close.

This logic can leave a program's FILE database out of sync with the RTOS. Consequently this logic leaves open the possiblity that a program could write to a different file than was associated with a given FILE object. Since that would cause the user extreme confusion, this close() logic should be removed from the DOS SWI 0x21 services 0x3F and 0x40.

A possible resource leak resulting when a program does not react to a failure indication from fclose() is considered a less serious problem than would writing to or reading from a wrong file when a program's file handle database becomes out of sync with the RTOS.
Solution: Removed the file close from DOS SWI 0x21 services 0x3F/0x40.

Ticket: #2304
Component: RTOS - File system
Type: defect
Summary: "No file sharing" and "file sharing" modes not implemented correctly
Description: When file sharing is not enabled, the open() file method fails to prevent an open for read when that file is already opened for write.
Solution: Corrected file sharing implementation.

Ticket: #2305
Component: RTOS - File system
Type: defect
Summary: BIOS_LFN_Findfirst() node lock problems
Description: 1) Documentation states that this is a "write" lock. Actually it inhibits only a directory remove or rename operation. (Files within the directory can be added or deleted during this lock period.)

2) The node lock is not working at all when the search does not include the *.* after the directory name.

3) When file list editing is done during a directory scan, the scan may report non-sense on drives formatted with the PLP option.
Solution: Problems corrected inside @Chip-RTOS. Also the previous limitation on PLP drives which allowed for only 6 concurrent directory scans has been eliminated. Now any number of directory scans can be done concurrently on a PLP drive (same file system resource limitations as for a normal drive).

The PLP directory scan redesign required the enforcement of the 65536 node directory size limit specified by Microsoft's FAT specification. So now this limit is checked when nodes are added to a directory. (Before this was not checked.)

Ticket: #2306
Component: RTOS - File system
Type: defect
Summary: File System PLP mode was not thread safe
Description: On drives formatted with the PLP (Power Loss Protection) option, the drive can become corrupt due to concurrent write access by multiple tasks. For example, one task deleting files while another is creating files.
Solution: Make all accesses to PLP type drives exclusive, so that all actions taken on the drive are executed sequentially rather than potentially concurrent.

Ticket: #2309
Component: RTOS - File system
Type: defect
Summary: DOS SWI 0x21 service 0x44 may report wrong drive number
Description: When file is opened with DOS 0x21 service 0x3D (open file), the file number reported by fstat() via service 0x44 will be that left over for the respective file handle from last call to service 0x3C (create file). In some cases, this will be the false drive number.
Solution: Have file system record file's drive number at a more centralized location so no matter how file was opened the correct number will be there.

Ticket: #2310
Component: RTOS - File system
Type: defect
Summary: BIOS_Fast_Findnext() does not release lock on completion
Description: It was intended that BIOS_Fast_Findnext() would release the directory node lock when ever this function returns a 0 indicating "No file found", as is stated in this function's documentation.

This automatic lock release does not occur, forcing the user to always call BIOS_Fast_Find_Done() in order to not leak file system resources.
Solution: Implementation corrected so that lock and resources are released when "No file found" return value condition is true.

Ticket: #2307
Component: RTOS - TCP/IP
Type: defect
Summary: Invalid parameters in IP outgoing callback
Description: With ticket #2263 the IP outgoing callback has been moved to an earlier stage in order to be able to change the destination IP inside the callback. It seems that due to this change not all input parameters, e.g. the totalLength inside the IP header, are valid on entry to the callback.
Solution: Fixed.

Ticket: #2308
Component: RTOS - I2C
Type: defect
Summary: Wrong I2C divider initialization
Description: The I2C divider/speed setting is not setup correctly. This bug was introduced with RTOS V1.60 and ticket #2294.
Solution: Fixed.

RTOS - Web server
Ticket: #2311
Component: RTOS - Web server
Type: defect
Summary: Web server overwrites interrupt vector address 0
Description: The interrupt vector address 0 (divide error exception handler) can get overwritten by the web server on some operations like incoming POST requests or multipart messages.
Solution: Fixed.

Top of page | Main page

Copyright © Beck IPC GmbH