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