Configfile sections common to all devices
The softgun configuration files has sections which are common to all
emulated devices.
The [global] section
Example:
[global]
board: UNC90
imagedir: /home/user/emulator/unc90
random_seed: 12345678901234
dbgwait: 0
The board variable
With the board variable one of the boards emulated by softgun can be selected.
Available boards are: NS9750DEV, iMX21ADS, UNC90, LACC, ETH-M32, Uzebox.
The imagedir variable
The imagedir variable contains a path where softgun can store the
required disk images. Before starting softgun the first time create
an empty directory and edit the value of the imagedir variable.
Random Seed
Softgun sometimes uses random numbers for the initial state of open IO-Pins, undefined registers or for MAC addresses. When debugging Software with bugs depending on the initial state the bug might be more reproducible if softgun always starts with the same seed value of the random number generator. softgun uses srand48() to initialize the random number generator with the value of the "random_seed" variable. If it is not configured the result from gettimeofday() is used to generate the seed.
The [regions] section
The regions section is optional. It lists the memory regions as used
by your operating system. It is used for example by the loader.
If you want to flash something to an emulated
flash chip or DRAM you can do this by giving the absolute hex address
on the commandline or by giving the name of the memory region. The loader
uses the region with the name "flash" if no address is given on the command line.
[regions]
flash: 0x10000000 0x01000000
uboot: 0x10000000 0x00040000
kernel: 0x10040000 0x00300000
rootfs: 0x10340000 0x00300000
flash_rw: 0x10640000 0x00200000
flash_ro: 0x10840000 0x00200000
flash2_rw: 0x10a40000 0x00200000
unused: 0x10c40000 0x003c0000
The loader section
In the loader section special hints for the loader can be given.
Currently the loader supports the variable "swap32" which can
be 0 or 1 (which is false or true). If the swap32 option is
set, the byteorder is swapped 32Bit wise during loading.
The section is optional. The default value for swap32 is 0.
[loader]
swap32: 0