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
libpath: /usr/local/lib/softgun/boards
libs: unc90.so

The board variable

With the board variable one of the boards emulated by softgun can be selected. Available boards are: NS9750DEV, iMX21ADS, UNC90, LACC.

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.

libpath and libs variables

Softgun can load shared library modules. The "libs" variable contains the modules which are loaded on emulator startup as space separated list. The libpath variable is a semicolon separated lists of directories searched for shared libraries. In our example we load the unc90.so board emulation module.

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.
[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