Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
NuttX RTOS
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
f4grx
NuttX RTOS
Commits
7df821b7
Commit
7df821b7
authored
10 years ago
by
Gregory Nutt
Browse files
Options
Downloads
Patches
Plain Diff
Update README
parent
ec2193f5
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
configs/sim/README.txt
+6
-20
6 additions, 20 deletions
configs/sim/README.txt
with
6 additions
and
20 deletions
configs/sim/README.txt
+
6
−
20
View file @
7df821b7
...
...
@@ -86,9 +86,12 @@ Issues
64-Bit Issues
-------------
As mentioned above, context switching is based on logic like setjmp and longjmp.
This context switching is only available for 32-bit targets. On 64-bit machines,
this context switching will fail.
As mentioned above, context switching is based on logic like setjmp() and
longjmp(). This context switching is available for 32-bit and 64-bit
targets. You must, however, set the correct target in the configuration
before you build: HOST_X86_64 or HOST_X86 for 62- and 32-bit targets,
respectively. On a 64-bit machine, you can also force the 32-bit build
with CONFIG_SIM_M32=y.
There are other 64-bit issues as well. For example, addresses are retained in
32-bit unsigned integer types in a few places. On a 64-bit machine, the 32-bit
...
...
@@ -96,17 +99,6 @@ address storage may correcupt 64-bit addressing. NOTE: This is really a bug --
addresses should not be retained in uint32_t types but rather in uintptr_t types
to avoid issues just like this.
The workaround on 64-bit machines for now is to build for a 32-bit target on the
64-bit machine. The workaround for this issue has been included in NuttX 6.15 and
beyond. For thoses versions, you must add CONFIG_SIM_M32=y to the .config file in
order to enable building a 32-bit image on a 64-bit platform.
For older versions of NuttX, a patch also exists. The patch the Make.defs file in the
appropriate places so that -m32 is included in the CFLAGS and -m32 and -melf_386
are included in the LDFLAGS. See the patch
0001-Quick-hacks-to-build-sim-nsh-ostest-on-x86_64-as-32-.patch that can be found at
http://tech.groups.yahoo.com/group/nuttx/files.
Compiler differences
--------------------
...
...
@@ -115,12 +107,6 @@ operator new:
Problem: "'operator new' takes size_t ('...') as first parameter"
Workaround: Add -fpermissive to the compilation flags
Continue up_setjmp() issues:
With some newer compilers, I am now getting segmentation faults in
up_setjmp.S (even when built with the -m32 option). I have not looked into
this yet.
Stack Size Issues
-----------------
When you run the NuttX simulation, it uses stacks allocated by NuttX from the
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment