RidgeRun LeopardBoard SDK Hints
- 1 Solutions to known issues
- 1.1 'division by zero' in kernel error when I try to use ALSA input
- 1.2 'Kernel panic' Unable to mount root fs when using NFS
- 1.3 'Leopard Board got bricked ' BOOTUBLStarting UART Boot...
- 1.4 'NAND read: 'FS' is not a number' UBOOT,KERNEL,FS are not set
- 1.5 'xdctools and dvsdk directories not found'
- 1.6 'Error building gst-dmai-plugins'
- 1.7 'mono (mono-common) is NOT installed'
- 1.8 CMEMK errors when capturing video
Solutions to known issues
'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 <ip_address> 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 ## Booting image at 82000000 ... Bad Magic Number
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: *** [xdctools_3_10_05_61] Error 1 make: Leaving directory `<home_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: *** [dvsdk_2_00_00_22] Error 1 make: Leaving directory `<home_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:
or you can also create a symbolic link to the gmcs2 with name gmcs
sudo ln -s /usr/bin/gmcs /usr/bin/gmcs2
CMEMK errors when capturing video
This is not a non fatal error found in the SDK when video is captured using the VGA.
Execution ended after 13373478335 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... [42949461.220000] CMEMK Error: FREE: Not a registered user of physical buffer 0x87b14000 [42949461.230000] CMEMK Error: FREE: Not a registered user of physical buffer 0x874d8000 CMEM Error: free[42949461.240000] CMEMK Error: FREE: Not a registered user of physical buffer 0x874d3000 : failed to free[42949461.250000] CMEMK Error: FREE: Not a registered user of physical buffer 0x87c8a000 0x41c1c000 CME[42949461.260000] CMEMK Error: FREE: Not a registered user of physical buffer 0x874d2000 M Error: free: f[42949461.270000] CMEMK Error: FREE: Not a registered user of physical buffer 0x874d1000 ailed to free 0x[42949461.280000] CMEMK Error: FREE: Not a registered user of physical buffer 0x874ec000 41997000 CMEM E[42949461.290000] CMEMK Error: FREE: Not a registered user of physical buffer 0x87507000 rror: free: failed to free 0x419ab000 CMEM Error: free: failed to free 0x419ac000 CMEM Error: free: failed to free 0x41b22000 CMEM Error: free: failed to free 0x41b23000
In order to correct this issue, the patch should be applied in DM355SDK789311/proprietary/dvsdk_2_00_00.