IPC@CHIP® RTOS-Linux – API Documentation

Header image

Main page


Release Notes – SC1x5 @CHIP-RTOS-LNX V01.05 Beta [20.10.2016]

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


RTX-native
Ticket: #129
Component: RTX-native
Type: defect
Summary: Wait for semaphore is affected when time/date changes
Description: The wait time when calling e.g. RTX_Reserve_Sem()/RTX_Sem_Timeout() is affected when the system time/date is changed.
Solution: Patched Kernel and GLIBC in order to make the monotonic clock available for semaphores.



Ticket: #177
Component: RTX-native
Type: defect
Summary: Suspend/resume operation does not work in all cases
Description: The suspend/resume operation does not work in all cases. Sometimes the signal is delivered to the wrong task.
Solution: Fixed.



Ticket: #365
Component: RTX-native
Type: defect
Summary: RTX layer is initialized too late in startup code for some C++ programs
Description: During the loading of an application BEX file, the startup code will call an internal RTX function that initializes the RTX layer for this program, making it an IPC@CHIP application.

This initialization function is called in a too late stage for some C++ programs, which use static objects.
Solution: Fixed.



Ticket: #103
Component: RTX-native
Type: enhancement
Summary: RTX_Task_Info() API and "tasks" command does not report CPU usage
Description: The CPU usage measurement (tiTaskMonStatus, tiDutyTime, tiElapsedTime) is currently not implemented for this task status API.

The RTOS shell command "tasks" should be adapted to show the tasks CPU usage.
Solution: Implemented.



Ticket: #362
Component: RTX-native
Type: enhancement
Summary: Check if additional signals need to be captured that would lead to program termination
Description: The RTX layer needs to be informed when a program is terminated by a signal. Otherwise a RTX zombie task remains. Need to check if we catch all necessary signals.
Solution: Add more signals that lead by default to program termination.




Boot loader
Ticket: #351
Component: Boot loader
Type: enhancement
Summary: Support new SC145 hardware revision H02 in boot loader
Description: Need to adapt the SC145 boot loader to support the new SC145 hardware revision H02, which changes the type and the address of the Ethernet PHYs.
Solution: Implemented in boot loader V1.09.




Kernel
Ticket: #372
Component: Kernel
Type: defect
Summary: USB mass storage devices at USB1 are not always detected
Description: A USB stick at USB1 is only detected, if the microUSB adapter is plugged in before booting.
Solution: Switched USB1 to OTG mode and disabled ADP, SRP and HNP in device tree to solve this problem.



Ticket: #337
Component: Kernel
Type: enhancement
Summary: Support KSZ8061 Ethernet PHY
Description: Should add support for the KSZ8061 Ethernet PHY.
Solution: Implemented.



Ticket: #341
Component: Kernel
Type: enhancement
Summary: Add support for OpenVPN
Description: Should enable TUN/TAP support in the kernel to add support for OpenVPN.
Solution: Implemented.



Ticket: #352
Component: Kernel
Type: enhancement
Summary: Support new SC145 hardware revision H02 in device tree
Description: Need to add a new SC145 device tree to support the new SC145 hardware revision H02, which changes the type and the address of the Ethernet PHYs.
Solution: Implemented.



Ticket: #378
Component: Kernel
Type: enhancement
Summary: Extend the list of supported USB-serial converters
Description: Should extend the list of supported USB-serial converters.
Solution: Add CP210x family and Profilic 2303 drivers. Add option to pass Vendor/Device IDs to Generic driver via CHIP.INI.




SSH server
Ticket: #115
Component: SSH server
Type: enhancement
Summary: Should implement SSH server
Description: Should provide support to login via the SSH protocol.
Solution: Implemented.




File system
Ticket: #168
Component: File system
Type: defect
Summary: Filesystem emulation does not work with C++
Description: All C++ classes that doing file access (e.g. file in streams, file out streams) bypassing FS emulation. Filesystem emulation means the emulation of DOS drive letters and path names.
Solution: Fixed.




SSL
Ticket: #218
Component: SSL
Type: enhancement
Summary: Should add cryptodev support to OpenSSL
Description: Should add the cryptodev kernel module to the system to make the kernel crypto function available in user space. Should add cryptodev support to the OpenSSL library to benefit from hardware crypto acceleration on SC1x5.
Solution: Implemented.



Ticket: #382
Component: SSL
Type: enhancement
Summary: Should update to OpenSSL 1.0.2j
Description: Due to fixed security issues, the new OpenSSL release 1.0.2j should be used.
Solution: Implemented.




System
Ticket: #265
Component: System
Type: enhancement
Summary: Add support for IPv6
Description: Should add support for IPv6.
Solution: Implemented.




TCP/IP
Ticket: #266
Component: TCP/IP
Type: enhancement
Summary: Add support for NAT/Firewall
Description: Should add support for NAT/Firewall.
Solution: Implemented.




Shell
Ticket: #336
Component: Shell
Type: defect
Summary: CHKDSK does not work for external FAT drives
Description: The CHKDSK command does not work for external FAT drives, as it assumes an EXT2/EXT3/EXT4 filesystem.

Additionally, the CHKDSK command should pay attention to the /F parameter and should only modify the filesystem if this parameter is given.
Solution: Fixed.



Ticket: #342
Component: Shell
Type: defect
Summary: Insufficient command line length for BIOS_Execute()
Description: Should increase the maximum command line length that can be used with BIOS_Execute().
Solution: Increased maximum command line length from 81 to 264 characters (including NULL termination).



Ticket: #357
Component: Shell
Type: defect
Summary: Lines in batch files with no trailing newline are not executed correctly
Description: Lines in a batch file which have no trailing newline character were not executed correctly by the command shell interpreter.
Solution: Fixed.



Ticket: #358
Component: Shell
Type: defect
Summary: Batch files could only be started by giving the full file name with extension
Description: The command shell interpreter should also try to execute a batch file if only the base name (without the .bat extension) in given.
Solution: Fixed.



Ticket: #284
Component: Shell
Type: enhancement
Summary: Some shell commands do not support wildcards yet.
Description: Should add support for wildcard in some shell commands (e.g. del *.txt).
Solution: Implemented.



Ticket: #300
Component: Shell
Type: enhancement
Summary: Add an editor to the RTOS shell
Description: The RTOS shell should provide an integrated text editor, like the RTOS-PPC did.
Solution: Implemented "edit" shell command.



Ticket: #349
Component: Shell
Type: enhancement
Summary: Implement IPV6CFG command
Description: Implement the IPV6CFG command to display the IPv6 configuration of the device.
Solution: Implemented.



Ticket: #374
Component: Shell
Type: enhancement
Summary: Provide a way to load kernel modules from the RTOS shell
Description: Should provide a way to load kernel modules from the RTOS shell.
Solution: Add the KMOD shell command for this purpose.



Ticket: #386
Component: Shell
Type: enhancement
Summary: Shell should feature a command history
Description: Implement a command history that can be accessed with the cursor up/down keys.
Solution: Implemented.




Clib
Ticket: #246
Component: Clib
Type: defect
Summary: Cast-align warning in socket header file when using BSD socket API style and optimizations
Description: When the BSD44_SOCKET_API_STYLE define is set before including clib.h and optimizations are enabled, a warning like below is produced:
C:\ONE-Workbench\/tc-sc1x8/sysroot-arm-v5te-linux-gnueabi/usr/include/bits/socket.h:286:42: warning: cast from 'unsigned char*' to 'cmsghdr*' increases required alignment of target type [-Wcast-align]
Solution: Fixed.



Ticket: #346
Component: Clib
Type: defect
Summary: Stdlib function remove() does not work as expected
Description: The file system emulation code misses the remove() function. Therefore this function does not handle the DOS paths correctly.
Solution: Solved.



Ticket: #355
Component: Clib
Type: defect
Summary: Ethernet link status not reported correctly
Description: The API functions ethGetMode() and ethGetModeExt() do not deliver the Ethernet link status correctly. Therefore the Ethernet link status is not displayed inside the Shell's ipcfg command.
Solution: Fixed.



Ticket: #356
Component: Clib
Type: defect
Summary: CGI_SetRootDir() function should check for a leading backslash
Description: The CGI_SetRootDir() function should check for a leading backslash in the given directory name to avoid that a duplicated leading backslash is added to this name.
Solution: Fixed.



Ticket: #359
Component: Clib
Type: defect
Summary: Different definitions for getdate()
Description: The CLIB STDLIB extension function getdate(), which was added for compatibility to the legacy systems, clashes with the definition of the same function name in time.h from the GNU GLIBC.
Solution: Rename CLIB version of getdate() to getdate_beck().



Ticket: #377
Component: Clib
Type: defect
Summary: Add missing shutdown_bsd() and shutdown_beck() functions
Description: These socket functions were already documented but not implemented.
Solution: Fixed.



Ticket: #338
Component: Clib
Type: enhancement
Summary: Define likely/unlikely macros only if needed
Description: Should define the likely/unlikely macros in the CLIB headers only when these macros are not already defined.
Solution: Implemented.



Ticket: #343
Component: Clib
Type: enhancement
Summary: Should provide strlwr()/strupr() functions
Description: Should provide the functions strlwr()/strupr() for compatibility to the Paradigm C standard library.
Solution: Implemented.



Ticket: #345
Component: Clib
Type: enhancement
Summary: Implement the RTX_Kill_Program() function and KILL shell command
Description: Implement the RTX_Kill_Program() function as defined in the other RTOS APIs and the KILL shell command.
Solution: Implemented.



Ticket: #347
Component: Clib
Type: enhancement
Summary: Implement Dev_Config_Iface_IPv6 and Dev_Get_IfaceEntries_IPv6 functions
Description: Implement the Dev_Config_Iface_IPv6 and Dev_Get_IfaceEntries_IPv6 functions.
Solution: Implemented.



Ticket: #353
Component: Clib
Type: enhancement
Summary: Increase max allowed CGI functions
Description: Currently, only 32 CGI functions can be installed. Should increase this value to the 128, like on the legacy RTOS versions.
Solution: Implemented.



Ticket: #354
Component: Clib
Type: enhancement
Summary: Increase task priority of error callback thread
Description: Should increase the task priority of the thread that is created when a fatal error callback is installed. Changed also the name of this system thread.
Solution: Implemented.



Ticket: #364
Component: Clib
Type: enhancement
Summary: Ethernet packet driver receiver task priority should be configurable
Description: The Ethernet packet driver receiver task priority should be configurable. Add [IP] ETH_PRIO and [IP_ETH1] ETH_PRIO CHIP.INI entries.
Solution: Implemented.



Ticket: #368
Component: Clib
Type: enhancement
Summary: Implement RegisterUdpCfgCbHandler function
Description: Implement the RegisterUdpCfgCbHandler function (descendant of the deprecated BIOS_Install_UDP_Cfg_Callback function)
Solution: Implemented.



Ticket: #373
Component: Clib
Type: enhancement
Summary: Support TUN and TAP interfaces
Description: The TUN and TAP interfaces that OpenVPN generates should be "findable" from the clib e.g. Dev_Find_Iface_By_Name() etc.
Solution: Implemented.




FTP server
Ticket: #360
Component: FTP server
Type: defect
Summary: Suspending the FTP server leaves a RTX zombie task behind
Description: Suspending the FTP server with ServerControl()/BIOS_Server_On_Off() leaves the @FTP task as a RTX zombie task behind. This is can be seen in the "tasks" command, where the @FTP task is marked with a "!" sign.
Solution: Fixed.




HW-API
Ticket: #366
Component: HW-API
Type: defect
Summary: Non-volatile data API does not allow to store/read more than ~ 4 k
Description: The non-volatile data API reports an error if the user tries to read/store more than about 4k bytes of data, although the FRAM is 8k.
Solution: Fixed.



Ticket: #376
Component: HW-API
Type: defect
Summary: Function isrSetTaskPriority() not working in all cases
Description: The isrSetTaskPriority() function does not work in all cases and for all SC1x8 targets, due to differences in the internal IRQ numbers for the specific interrupt devices, caused by individual device trees.
Solution: Fixed, also add some more interrupts to the list.



Ticket: #383
Component: HW-API
Type: defect
Summary: isrInstall() does not work if gpioEnable() has not been called previously
Description: The function isrInstall() does not work if gpioEnable() has not been called previously. Should accept also the opposite order of calling these functions.
Solution: Fixed.




UDPCfg server
Ticket: #379
Component: UDPCfg server
Type: defect
Summary: The udpCfgSrv should send broadcasts to all configured interfaces
Description: The udpCfgSrv does not send broadcasts to all configured interfaces. Modify its behavior so that broadcasts are send to all interfaces with the exception of:

* The loopback interface.
* PPP interfaces if so configured in the CHIP.INI
Solution: Fixed.




Telnet server
Ticket: #387
Component: Telnet server
Type: defect
Summary: Terminating a telnet connection from the client side does not lead to a sever side termination as well
Description: If the telnet client terminates a connection from his side without the server "knowing" it, the connection remains alive for the server. A re-connect attempt leads to a "telnet already in use by another client" message.
Solution: Set some more TCP socket options to detect connection loss earlier.








Top of page | Main page

Copyright © Beck IPC GmbH