Update the simulator README.txt file
This commit is contained in:
parent
508a55f6be
commit
94a014085a
@ -175,21 +175,48 @@ X11. See the discussion "Stack Size Issues" above.
|
|||||||
|
|
||||||
Cygwin64 Issues
|
Cygwin64 Issues
|
||||||
---------------
|
---------------
|
||||||
Since using Cygwin64, I have been unable to use the simulator. When I try
|
There are some additional issues using the simulator with Cygwin64. Below is the
|
||||||
to run nutt.exe from the command line, it exists silently. Running with GDB
|
summary of the changes that I had to make to get the simulator working in that
|
||||||
I get following (before hitting a breakpoint at main()):
|
environment:
|
||||||
|
|
||||||
(gdb) r
|
CONFIG_SIM_CYGWIN_DECORATED=n
|
||||||
Starting program: /cygdrive/c/Users/Gregory/Documents/projects/nuttx/master/nuttx/nuttx.exe
|
Older versions of Cygwin toolsdecorated C symbol names by adding an
|
||||||
[New Thread 6512.0xda8]
|
underscore to the beginning of the symbol name. Newer versions of
|
||||||
[New Thread 6512.0x998]
|
Cygwin do not seem to do this. Deselecting CONFIG_SIM_CYGWIN_DECORATED
|
||||||
1 [main] nuttx 6512 C:\Users\Gregory\Documents\projects\nuttx\master\nuttx\nuttx.exe: *** fatal error - Internal error: Out of memory for new path buf.
|
will select the symbols without the leading underscore as needed by
|
||||||
736 [main] nuttx 6512 cygwin_exception::open_stackdumpfile: Dumping stack trace to nuttx.exe.stackdump
|
the Cygwin64 toolchain.
|
||||||
[Thread 6512.0x998 exited with code 256]
|
|
||||||
[Inferior 1 (process 6512) exited with code 0400]
|
|
||||||
|
|
||||||
Still clueless on this one. The simulator used to work great with an older,
|
How do you know if you need this option? You could look at the generated
|
||||||
32-bit Cygwin version. I currently use only Linux to test with the Simulator.
|
symbol tables to see if there are underscore characters at the beginning
|
||||||
|
of the symbol names. Or, if you need this option, the simulation will not
|
||||||
|
run: It will crash early, probably in some function due to the failure to
|
||||||
|
allocate memory.
|
||||||
|
|
||||||
|
In this case, when I tried to run nutt.exe from the command line, it
|
||||||
|
exited silently. Running with GDB I get following (before hitting a
|
||||||
|
breakpoint at main()):
|
||||||
|
|
||||||
|
(gdb) r
|
||||||
|
Starting program: /cygdrive/c/Users/Gregory/Documents/projects/nuttx/master/nuttx/nuttx.exe
|
||||||
|
[New Thread 6512.0xda8]
|
||||||
|
[New Thread 6512.0x998]
|
||||||
|
1 [main] nuttx 6512 C:\Users\Gregory\Documents\projects\nuttx\master\nuttx\nuttx.exe: *** fatal error - Internal error: Out of memory for new path buf.
|
||||||
|
736 [main] nuttx 6512 cygwin_exception::open_stackdumpfile: Dumping stack trace to nuttx.exe.stackdump
|
||||||
|
[Thread 6512.0x998 exited with code 256]
|
||||||
|
[Inferior 1 (process 6512) exited with code 0400]
|
||||||
|
|
||||||
|
CONFIG_SIM_X8664_SYSTEMV=n
|
||||||
|
CONFIG_SIM_X8664_MICROSOFT=y
|
||||||
|
Selet Microsoft x64 calling convention.
|
||||||
|
|
||||||
|
The Microsoft x64 calling convention is followed on Microsoft Windows and
|
||||||
|
pre-boot UEFI (for long mode on x86-64). It uses registers RCX, RDX, R8,
|
||||||
|
R9 for the first four integer or pointer arguments (in that order), and
|
||||||
|
XMM0, XMM1, XMM2, XMM3 are used for floating point arguments. Additional
|
||||||
|
arguments are pushed onto the stack (right to left). Integer return
|
||||||
|
values (similar to x86) are returned in RAX if 64 bits or less. Floating
|
||||||
|
point return values are returned in XMM0. Parameters less than 64 bits
|
||||||
|
long are not zero extended; the high bits are not zeroed.
|
||||||
|
|
||||||
BASIC
|
BASIC
|
||||||
^^^^^
|
^^^^^
|
||||||
|
Loading…
Reference in New Issue
Block a user