Difference between revisions of "Debugging softMC Firmware Linux"
m |
m |
||
Line 1: | Line 1: | ||
− | + | There are some situations where a controller is no longer accessible with terminal of ControlStudio. | |
− | There are some situations where a controller is no longer accessible with terminal of | + | |
− | |||
Mostly the controller has encountered a serious problem and some task(s) are suspended or the network stack of the operating system is corrupted. | Mostly the controller has encountered a serious problem and some task(s) are suspended or the network stack of the operating system is corrupted. | ||
For the core-development it is necessary to collect data when such a situation occurs to collect data and analyze the root-cause to be able to fix/correct it. | For the core-development it is necessary to collect data when such a situation occurs to collect data and analyze the root-cause to be able to fix/correct it. |
Revision as of 08:40, 9 April 2014
There are some situations where a controller is no longer accessible with terminal of ControlStudio.
Mostly the controller has encountered a serious problem and some task(s) are suspended or the network stack of the operating system is corrupted. For the core-development it is necessary to collect data when such a situation occurs to collect data and analyze the root-cause to be able to fix/correct it.
Contents
Controller file system and useful commands
Access to Linux shell
COM1 of softMC is reserved to Linux shell. Shell is used for editing of FWCONFIG, IO.DAT or solving of following problems:
- softMC does not boot
- softMC does not get IP address
- File system is overflowed with log files or core dumps that need to be deleted manually.
- Autostart (CONFIG.PRG or AUTOEXEC.PRG) makes softMC irresponsible
Important: COM1 shall not be used by applications
The shell has in- and output by default on COM1.
There is automatic login, user name mc and password mc.
There is a possibility to login with ssh or telnet to user "mc", password "mc"
Location of files at softMC file system
FWCONFIG
/FFS0/
Programs and Libraries:
/FFS0/SSMC/
Linux Log files
/var/log/
RAM disk
/RAM/
NOTE | |
Access to FWCONFIG file is allowed only under PRIVILEGELEVEL=1. |
Useful commands
- /sbin/ifconfig - gives IP information
- vi - text editor
- cp - copy files
- rm - delete files
- ls - list directory
- threads - lists linux threads
- df - free space on disk. For example "df /FFS0/ -h" will show free space on the flash disk
- du - space used by directory/files. For example "du /FFS0/ -h" will show usage of softMC libraries and programs
Application autostart
Unlike SERCOS version EtherCAT and CANOpen motion controllers do not have local I/O or dedicated DIP-switch for automatic start of application. DIP-Switch is emulated. Firmware reads a "value" of DIP-Switch from file /FFS0/SSMC//IO.DAT DIP=0x0 INP=0x00 Bit #6 of "DIP-Switch" is responsible for autostart of application. IO.DAT is created automatically if it does not exist, values are zeros.
- IO.DAT can be edited either via softMC user interface or directly from Linux shell:
vi /FFS0/SSMC//IO.DAT
- Simplest way to disable autostart would be deletion of IO.DAT
rm /FFS0/SSMC//IO.DAT
FWCONFIG
FWCONFIG contains firmware initialization options
- Syntax:
option value[{byte|kbyte|mbyte}]
- Supported options
libstacksize - library stack size
taskstacksize - default task stack size
sysdatarecfilename - system data recorder file name
sysdatareclen - system data recorder length (number of records)
ipaddressmask - sets ip address and mask for motion controller.
sleep - delay in mSecs
stringpreload - initial size of BASIC strings. Default is "0" - strings are created empty.
stringblockpreload - initial size of string descriptors. Default is 300,000. Reduce this value if application has less than 300,000 string variables.
translatormempartsize - initial size for translator memory partition
passbuffersize - ????
hpetfreq...
Examples:
ipaddressmask 192.168.20.20:255.255.0.0
sleep 20
libstacksize 20kbyte
hpetfreq 2000 for cycle time 500 microsecond or hpetfreq 1000 for cycle time up to 1 millisecond
Troubleshooting a Software Crash
In case of software crash operating system creates complete snapshot of crashed process. Firmware saves snapshots to directory /cores.
These snapshots (or "core" files) contain important information and may help to improve software quality.
It is recommended to check contents of /cores upload files to support@servotronix.com and erase contents of /cores.
softMC can be accessed with any SFTP software, such as WinSCP or Bitvise SSH client.
User name and password are given at the top of this page.