Hello,
I am using an OMAP L-138 DSP+ARM9 development kit to test an USB camera. On the first time that i have connected the camera to this development kit, i noticed that the v4l2 drivers weren't present. So, i started to search over the internet, and i have found that to activate this video drivers, it was needed to rebuild the kernel and activate some options on a config menu. I was able to build the kernel and activate the the options on the config menu, but when i load the kernel image to the board, it got stuck on the message 'Starting Kernel...' of the serial terminal. Maybe i did a lot of error on the way long, so i am describing my procedure bellow.
I started to follow this guide to rebuild the kernel:
http://processors.wiki.ti.com/index.php/Building_03.22_PSP_release_Components_for_OMAP-L138#Basic_Configuration_of_the_Kernel
and i have activated the following options in the config menu:
System Type ---> TI DaVinci Implementations ---> [*] TI DA850/OMAP-L138/AM18xx Reference Platform Select peripherals connected to expander on UI board (Video Port Interface) ---> Device Drivers ---> <*> Multimedia support ---> <*> Video For Linux [*] Video capture adapters ---> [*] V4L platform devices ---> <*> DM646x/DA850/OMAPL138 EVM Video Display <*> DM646x/DA850/OMAPL138 EVM Video Capture -*- DaVinci VPIF Driver [ ] Autoselect pertinent encoders/decoders and other helper chips Encoders/decoders and other helper chips ---> <*> Texas Instruments TVP514x video decoder -*- ADV7343 video encoder -*- THS7303 Video Amplifier
While trying to compile the kernel i got this erro:
In order to avoid this error , i have comment the 3 responsible lines on kernel/timeconst.pl file, and it worked:
---At the end of the file---
} else { $hz += 0; # Force to number if ($hz < 1) { die "Usage: $0 HZ\n"; } @val = @{$canned_values{$hz}}; #if (!defined(@val)) { # @val = compute_values($hz); #} output($hz, @val); }
After editing the file, and repeating the command to build the kernel image, i was able to generate the image as expected, here are the .config file (Please visit the site to view this file)
and all the commands used to build the kernel:
(Please visit the site to view this file)
After copy the new uImage to the microSD card, and started the board, i got this output on minicom:
Welcome to minicom 2.7
OPÇÕES: I18n
Compilado em Feb 7 2016, 13:37:32.
Port /dev/ttyUSB0, 08:23:39
Pressione CTRL-A Z para ajuda sobre teclas especiais
NAND: 512 MiB
MMC: davinci: 0
Bad block table found at page 262080, version 0x01
Bad block table found at page 262016, version 0x01
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
ARM Clock : 456000000 Hz
DDR Clock : 150000000 Hz
Net: Ethernet PHY: GENERIC @ 0x07
DaVinci-EMAC
Hit any key to stop autoboot: 0
reading boot.scr
** Unable to read "boot.scr" from mmc 0:1 **
reading uImage
2164968 bytes read
## Booting kernel from Legacy Image at c0700000 ...
Image Name: Linux-2.6.33-rc4
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2164904 Bytes = 2.1 MiB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Anyone can help?
Regards,
Pedro Freire