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