206 lines
5.5 KiB
Plaintext
206 lines
5.5 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
if ARCH_SIM
|
|
comment "Simulation Configuration Options"
|
|
|
|
choice
|
|
prompt "Host CPU Type"
|
|
default HOST_X86_64
|
|
|
|
config HOST_X86_64
|
|
bool "x86_64"
|
|
|
|
config HOST_X86
|
|
bool "x86"
|
|
|
|
endchoice # Host CPU Type
|
|
|
|
config SIM_M32
|
|
bool "Build 32-bit simulation on 64-bit machine"
|
|
default n
|
|
depends on HOST_X86_64
|
|
---help---
|
|
Simulation 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.
|
|
|
|
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 SIM_M32=y to the .config file in
|
|
order to enable building a 32-bit image on a 64-bit platform.
|
|
|
|
config SIM_WALLTIME
|
|
bool "Execution simulation in near real-time"
|
|
default n
|
|
---help---
|
|
NOTE: In order to facility fast testing, the sim target's IDLE loop, by default,
|
|
calls the system timer "interrupt handler" as fast as possible. As a result, there
|
|
really are no noticeable delays when a task sleeps. However, the task really does
|
|
sleep -- but the time scale is wrong. If you want behavior that is closer to
|
|
normal timing, then you can define SIM_WALLTIME=y in your configuration
|
|
file. This configuration setting will cause the sim target's IDLE loop to delay
|
|
on each call so that the system "timer interrupt" is called at a rate approximately
|
|
correct for the system timer tick rate. With this definition in the configuration,
|
|
sleep() behavior is more or less normal.
|
|
|
|
config SIM_LCDDRIVER
|
|
bool "Build a simulated LCD driver"
|
|
default y
|
|
depends on NX && NX_LCDDRIVER
|
|
---help---
|
|
Build a simulated LCD driver"
|
|
|
|
config SIM_FRAMEBUFFER
|
|
bool "Build a simulated frame buffer driver"
|
|
default n
|
|
depends on !NX_LCDDRIVER
|
|
---help---
|
|
Build a simulated frame buffer driver"
|
|
|
|
if SIM_FRAMEBUFFER
|
|
|
|
config SIM_X11FB
|
|
bool "Use X11 window"
|
|
default n
|
|
---help---
|
|
Use an X11 graphics window to simulate the graphics device"
|
|
|
|
config SIM_X11NOSHM
|
|
bool "Don't use shared memory with X11"
|
|
default n
|
|
depends on SIM_X11FB
|
|
---help---
|
|
Don't use shared memory with the X11 graphics device emulation."
|
|
|
|
config SIM_FBHEIGHT
|
|
int "Display height"
|
|
default 240
|
|
---help---
|
|
Simulated display height. Default: 240
|
|
|
|
config SIM_FBWIDTH
|
|
int "Display width"
|
|
default 320 if SIM_LCDDRIVER
|
|
default 480 if SIM_FRAMEBUFFER
|
|
---help---
|
|
Simulated width of the display. Default: 320 or 480
|
|
|
|
config SIM_FBBPP
|
|
int "Pixel depth in bits"
|
|
default 8
|
|
---help---
|
|
Pixel depth in bits. Valid choices are 4, 8, 16, 24, or 32.
|
|
If you use the X11 display emulation, the selected BPP must match the BPP
|
|
of your graphics hardware (probably 32 bits). Default: 8
|
|
|
|
endif # SIM_FRAMEBUFFER
|
|
|
|
if SIM_X11FB && INPUT
|
|
choice
|
|
prompt "X11 Simulated Input Device"
|
|
default SIM_NOINPUT
|
|
|
|
config SIM_TOUCHSCREEN
|
|
bool "X11 mouse-based touchscreen emulation"
|
|
---help---
|
|
Support an X11 mouse-based touchscreen emulation. Also needs INPUT=y
|
|
|
|
config SIM_AJOYSTICK
|
|
bool "X11 mouse-based analog joystick emulation"
|
|
---help---
|
|
Support an X11 mouse-based anallog joystick emulation. Also needs INPUT=y`
|
|
|
|
config SIM_NOINPUT
|
|
bool "No input device"
|
|
|
|
endchoice # X11 Simulated Input Device
|
|
endif # SIM_X11FB && INPUT
|
|
|
|
config SIM_TCNWAITERS
|
|
bool "Maximum number poll() waiters"
|
|
default 4
|
|
depends on !POLL_DISABLE && SIM_TOUCHSCREEN
|
|
---help---
|
|
The maximum number of threads that can be waiting on poll() for a touchscreen event.
|
|
Default: 4
|
|
|
|
config SIM_SPIFLASH
|
|
bool "Simulated SPI FLASH with SMARTFS"
|
|
default n
|
|
select FS_SMARTFS
|
|
select MTD_SMART
|
|
---help---
|
|
Adds a simulated SPI FLASH that responds to standard M25 style
|
|
commands on the SPI bus.
|
|
|
|
choice
|
|
prompt "Simulated SPI FLASH Size"
|
|
default SIM_SPIFLASH_1M
|
|
depends on SIM_SPIFLASH
|
|
|
|
config SIM_SPIFLASH_1M
|
|
bool "1 MBit (128K Byte)"
|
|
|
|
config SIM_SPIFLASH_8M
|
|
bool "8 MBit (1M Byte)"
|
|
|
|
config SIM_SPIFLASH_32M
|
|
bool "32 MBit (4M Byte)"
|
|
|
|
config SIM_SPIFLASH_64M
|
|
bool "64 MBit (8M Byte)"
|
|
|
|
config SIM_SPIFLASH_128M
|
|
bool "128 MBit (16M Byte)"
|
|
|
|
endchoice
|
|
|
|
config SIM_SPIFLASH_MANUFACTURER
|
|
hex "Hex ID of the FLASH manufacturer code"
|
|
default 0x20
|
|
depends on SIM_SPIFLASH
|
|
---help---
|
|
Allows the simulated FLASH Manufacturer ID to be set.
|
|
|
|
config SIM_SPIFLASH_MEMORY_TYPE
|
|
hex "Hex ID of the FLASH Memory Type code"
|
|
default 0x20
|
|
depends on SIM_SPIFLASH
|
|
---help---
|
|
Allows the simulated FLASH Memory Type code to be set.
|
|
|
|
config SIM_SPIFLASH_SECTORSIZE
|
|
int "FLASH Sector Erase Size"
|
|
default 65536
|
|
depends on SIM_SPIFLASH
|
|
---help---
|
|
Sets the large sector erase size that the part simulates.
|
|
This driver simulates SPI devices that have both a large
|
|
sector erase as well as a "sub-sector" (per the datasheet)
|
|
erase size (typically 4K bytes).
|
|
|
|
config SIM_SPIFLASH_SUBSECTORSIZE
|
|
int "FLASH Sub-Sector Erase Size"
|
|
default 4096
|
|
depends on SIM_SPIFLASH
|
|
---help---
|
|
Sets the smaller sub-sector erase size supported by the
|
|
FLASH emulation
|
|
|
|
config SIM_SPIFLASH_PAGESIZE
|
|
int "FLASH Write / Program Page Size"
|
|
default 256
|
|
depends on SIM_SPIFLASH
|
|
---help---
|
|
Sets the size of a page program operation. The page size
|
|
represents the maximum number of bytes that can be sent
|
|
for a program operation. If more bytes than this are
|
|
sent on a single Page Program, then the address will
|
|
"wrap" causing the initial data sent to be overwritten.
|
|
This is consistent with standard SPI FLASH operation.
|
|
|
|
endif
|