RidgeRun LeopardBoard SDK Hints

'division by zero' in kernel error when I try to use ALSA input
This is a known issue that has been discussed on the ASOC mailing list. The problem is that the function davinci_pcm_enqueue_dma performs this operations:

data_type = prtd->params->data_type; count = period_size / data_type;

The first time, data_type is set to zero, so we get the error Division by zero in kernel. This is the reason why the pipe arecord | aplay works after running arecord or aplay first.

Apply the [[Media:Asoc-davinci-pcm.patch]] to the kernel 2.6.29 to resolve this issue.

'Kernel panic' Unable to mount root fs when using NFS
This issue happens when NFS file system is used. Leopard Board does not have a MAC address assign, this issue can be detected by taking a look into the kernel log after booting the board:

1. MAC address is set to 00:00:00:00:00

[42949373.950000] dm9000 Ethernet Driver, V1.31 [42949374.080000] dm9000 dm9000: eth%d: Invalid ethernet MAC address. Please seg [42949374.080000] eth0 (dm9000): not using net_device_ops yet [42949374.090000] eth0: dm9000e at c780c000,c7810016 IRQ 73 MAC: 00:00:00:00:00)

2. Kernel panic error

[42949465.940000] Kernel panic - not syncing: VFS: Unable to mount root fs on u)

There are different ways of solving this issue:

1. Forced the leopard to get a MAC address: run the ping command in the u-boot console:

Leopard Board # ping   or Leopard Board # setenv bootcmd="ping 192.168.1.1;nboot KERNEL"

2. Apply the [[Media:mac_address.patch]] that generates a random MAC address for the leopard.

'Leopard Board got bricked ' BOOTUBLStarting UART Boot...
Whenever UBL or the Uboot on a Leopard Board fail, this means that your board got bricked, however, there's an easy way to recover it. For information on how to recover your leopard, go to: How to recover a bricked Leopard Board

'NAND read: 'FS' is not a number' UBOOT,KERNEL,FS are not set
This issue causes your board to do not boot, causing the following message:

NAND read: 'FS' is not a number

NAND read: 'KERNEL' is not a number Bad Magic Number
 * 1) Booting image at 82000000 ...

The problem is that "make install" was ran over the uboot that comes preinstalled on the Leopard Board. This uboot doesn't support the MTD partitions causing the above messages. To solve this issue:

1. Run "make installbootloader": this will upgrade your board with the uboot that comes with the SDK

2. Reboot your board

3. Run "make install"

If the problem persists, your board probably got bricked, refer to: How to recover a bricked Leopard Board

'xdctools and dvsdk directories not found'
The SDK requires several tools provided by TI, which you should have installed on your host machine.

If the following error appears, you should download xdctools_setuplinux_3_10_05_61.bin

Please provide the path to xdctools_3_10_05_61 installation location or press ctrl-c to abort

Unable to find the directory. Aborting make[1]: *** [xdctools_3_10_05_61] Error 1 make[1]: Leaving directory `/DM355SDK789311/proprietary/xdctools_3_10_05' Error building xdctools_3_10_05 make: *** [dependency_build] Error 1

Also, if the following error appears, you should download dvsdk_setuplinux_2_00_00_22.bin

Please provide the path to dvsdk_2_00_00_22 installation location or press ctrl-c to abort

Unable to find the file /.dvsdk_version. Aborting make[1]: *** [dvsdk_2_00_00_22] Error 1 make[1]: Leaving directory `/DM355SDK789311/proprietary/dvsdk_2_00_00' Error building dvsdk_2_00_00 make: *** [dependency_build] Error 1

Both packages should be install in your home directory for the SDK to find them automatically, if you do install these tools in another path, you can provide the correct path when the SDK requests it or create a dynamic link from that path to your home directory.

'Error building gst-dmai-plugins'
If you are having the following error when building gst-dmai-plugins:

js: "/home/jim/DM355SDK789311/proprietary/xdctools_3_10_05/ xdctools_3_10_05_61/packages/xdc/xdc.tci", line 461: xdc.services.global.XDCException: xdc.MODULE_NOT_FOUND: xdc.module: module name '-p' must be qualified with its package name "./config.bld", line 5 gmake: *** No rule to make target `.configuro'. Stop. js: "/home/jim/DM355SDK789311/proprietary/xdctools_3_10_05/ xdctools_3_10_05_61/packages/xdc/tools/Cmdr.xs", line 40: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.

You might have a corrupted file system on your host machine.
 * Run 'make clean' in ~/DM355SDK789311$
 * Check for any messages about corrupted files in the log, if found, fix the corresponding issue.
 * Run 'make clean' again
 * Compile again the SDK: 'make'

'mono (mono-common) is NOT installed'
It is a known issue with the old SDK: LeopardSDK-781811-Linux-x86-Install.bin. The issue basically consists on the package mono-common not installed, and then mono-gmcs, when they both are already installed in the host machine.

>> mono (mono-common) is NOT installed gmcs (mono-gmcs) is installed There are missing packages, please install them: apt-get install mono-common make: *** [.oscheck] Error 1

One workaround to get pass this issue, once you have both packages installed, is to remove gmcs from:

bsp/arch/host.required

or you can also create a symbolic link to the gmcs2 with name gmcs

sudo ln -s /usr/bin/gmcs /usr/bin/gmcs2