News


Small IP Camera running at 25+ frames per second
SND presents the new E-CAM, on the base of the Hyperstone 32-bit RISC/DSP processor hyNet32S, measuring only 6 x 5 cm in PCB size.

PROFINET and EtherNet/IP available....
in 4NetOS and HyNetOS and launched on SPS/IPC !

4NetOS and StarTarget Kit available.....
.....SND has released the first 4NetOS Software Edition

Home > Support - FAQ

Support - FAQ

  1. 1.Setup Kit
    • Differences between Base Edition and Professional Edition .
    • PC Error message out off environment when starting _makfinal.bat.
    • Not possible to compile the project. always get the Message: "stray '\' in program"
    • Missing Project without any compiler warning.
    • Microsoft error Message “the system file is not suitable for running MS-DOS”.
  2. 2.Network
    • How to use TCP Transmit socket Buffer V2.2 and V2.3
  3. 3.Ethernet Powerlink
    • How to connect to EPL gateway
  4. 4.Debuging
    • Debug over serial Port.
    • How to find Memory leaks
    • Disable automatic Reset.
    • How to debug System Exception V2.n
  5. 5.General Topics
    • New function Boot loader and Monitor V2.3.
    • How to use the IO Ports at Expansion Connector 3
    • What is the meaning of HardwareStack ; InitAggregateStack
    • How to establish the version no. of the Library

1. Setup Kit

Differences between Base Edition and Professional Edition

The basic difference between the Base Edition and the Professional Edition is as follows:

  • with the Base Edition you will not receive drivers in source code, but just a precompiled driver.lib., however in the Professional edition you will receive the drivers in source code.
  • with the Base Edition you will not receive the hardware schematics
  • the Base Edition is meant for initial trials on the Micro WebTarget2 board, and for those customers who intend to buy the Micro WebTarget2 board from SND without any plans to develop their own hardware ?. Therefore, these customers do not need to change drivers or to design hardware.
  • Technical support is provided with the kit, and this will naturally be less with the base edition as there are less functions that can be changed and the only hardware that can be used is our dedicated MicroWebTarget hardware platform. This makes the Base Edition much cheaper.
  • The Professional Edition does not have these restrictions, as driver source codes are provided along with schematics, and naturally the price is much higher.

PC Error message out off environment when starting _makfinal.bat

For this problem out of environment you can edit the Batch File. \HyNetOS\SYSTEM\BIN\_START.BAT
and increase the environment space by changing the value /E:4096 to a higher value.
The line does look like this initially command.com /E:4096 /C %0 begin %2 %3 %4 /E:nnnnn
Sets the initial environment size to nnnnn bytes.
(nnnnn should be between 256 and 32,768).

Not possible to compile the project, always get the Message: "stray '\' in program"

This happens when some cygnus tools have been installed and removed. Even if you re-install hyTools, the problem remains. You MUST change some entries in the REGISTRY:

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive flags"=dword:00000022
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"flags"=dword:0000000a
Change into:
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive flags"=dword:00000020
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"flags"=dword:00000008
Now try again. If the problem remains, you will have to change the same entries under "HKEY_USERS" which is described in Hyperstone+FAQ.pdf, where you can also find more information.

Missing Project without any compiler warning

Version V2.2 and V2.3
If you can’t see any error messages and no Project was built please check if the File PROJECT.ECF is in the same directory.
The Contents of PROJECT.ECF are

OUTPUT        = PROJECT.HEX                  ; Binary Output File
USER          = PROJECT.HYE                  ; User Program
EPROMWIDTH    = 16                           ; Data Bus Width of EPROM
MEMBUSWIDTH   = 16                           ; Bus Width of MEM3

Microsoft error Message “the system file is not suitable for running MS-DOS”

If you are not able to create a Project.hex and you get the Microsoft Error message “The system file is not suitable for running MS-DOS and Microsoft Windows application”, unfortunately this is a common occurrence
Especially after installation of Service Pack 2, Windows XP may display an error message relating to "AUTOEXEC.NT" when trying to run certain 16-bit applications. Office 97 can also cause this . Check the Config.nt, Autoexec.nt and Command.com in \WINNT\System32.
Please also read the Microsoft Article ID:324767
http://support.microsoft.com/kb/324767/EN

2. Network

How to use TCP Transmit socket Buffer V2.2 and V2.3

Please follow the Example TCP_SRV.C

//First transmit buffer
lref->sfree = 8192;

The transmit Buffer size is defined locally.
At the very first transmission you can send 8192 Bytes using tcp_write.
After each tcp_write the Application receives a DATA_ACK
with information about the free size of the Buffer TCP transmit socket
memcpy(&lref->sfree, m->data, 2);

m->data indicates with 2 Bytes the free size of the TCP transmit socket Buffer.
Now you can fill up the transmit buffer with n Bytes (n= m->data).
Or if there are less bytes left to send, with the remaining number of bytes. Use the following line of code to determine the right size of data to send (sendcount) automatically.
sendcount = MIN(lref->lefttosend, lref->sfree);

3. Ethernet Powerlink

How to connect to EPL gateway

Please check the File How_to_connect_to_EPL_gateway.pdf

4. Debugging

Debug over serial Port

The Debug_over_serial_Port.pdf is describing how to use the an alternative method of redirecting any trace information to any free serial port commonly referred to as debug immediate in the HyNetOS documentation.

How to find Memory leaks

This “HowTo” describes the procedure to find the memory trace and is only valid for HyNetOS > V2.2 and 2.n malloc_test.pdf

Disable automatic Reset

Search for: TASKERROR(RESET) in your source code and replace it with TASKERROR(PRINT).
Example

StackLevelTCB(HttpSrvTask, 22, HttpSrvTaskEntry, TASKERROR(RESET), NULL, 65536,16384);

And change it to:
StackLevelTCB(HttpSrvTask,22,HttpSrvTaskEntry,TASKERROR(PRINT),NULL,65536, 16384);

This makes it possible that you can see more information in hytrace.

How to debug System Exception V2.n

Please see the Demo Error Example 2 and the Documentation in
DOCUMENTATION\ TaskErrors.html or the TaskErrors.pdf

5. General Topics

New function Boot loader and Monitor V2.3

Bootloader.pdf describes the new functions in the Bootloader and Monitor Release V2.3.

How to use the IO Ports at Expansion Connector 3

see How_to_use_the_IO_Ports_at_the_Expansion_Connector_3.pdf

What is the meaning of HardwareStack ; InitAggregateStack

The following macro is used to create a new task and requires 2 parameters to set the size of the different stacks which are Hardware Stack and Aggregate Stack. The original syntax of this macro is: TCBLabel: StackLevelTCB TaskPriority, OnCreate, OnError, OnReset, HardwareStackSize, AggregateStackSize
HardwareStack
The hardware stack is the stack where the contents of the local registers and the return Program Counter (PC) as well as the return Status Register (SR) are pushed on and popped off.
An example to determine the size of the hardware stack for a single-task Application is below:

void main()
{
void *HardwareStackBase;
unsigned long int HardwareStackSize;
HardwareStackBase = InitHardwareStack();
/* start of stack-level task main */
... /* task execution */
/* end of stack-level task main */
HardwareStackSize = GetHardwareStackSize(HardwareStackBase);
}

In order to evaluate the sizes of the hardware stacks for a multi-task application, it is necessary to evaluate the hardware stack size for each stack-level task of the application individually (including the stack-level main task). The function InitHardwareStack has to be called at the beginning of each stack-level task entry and the function GetHardwareStack has to be called at the end of each stack level task entry to determine the required size of each hardware stack. The InitHardwareStack function returns the base address of the hardware stack.
InitAggregateStack
The aggregate stack is the stack where local data structures such as arrays and structures are kept. Additionally, local variables are stored on the aggregate stack when the number of CPU registers in a local stack frame is exhausted.
void main()
{
void *AggregateStackBase;
unsigned long int AggregateStackSize;
AggregateStackBase = InitAggregateStack();
/* start of stack-level task main */
... /* task execution */
/* end of stack-level task main */
AggregateStackSize = GetAggregateStackSize(AggregateStackBase);
}

See also Hyperstone documentation in hytool07.pdf 7.8.2.2. TCB Macro for Stack-Level Tasks

How to establish the version no. of the Library

Start the Program IdentVer.exe located in the Folder .. \HyNetOS\SYSTEM\BIN\
with the parameter as, in this example:
c:\HyNetOS\SYSTEM\BIN\IdentVer.exe c:\HyNetOS\SYSTEM\LIB\*.lib
The Program will now show the Version of all installed Libraries.