Dvsdk_3.01.00.10 compilation notes

Source: Internet
Author: User

 

Hardware Platform:

 

 

Devkit8000

256 m DDR + 256 m Nand

S-video output

 

 

Software Package:

AM35x-OMAP35x-PSP-SDK-03.00.01.06.tgz

Dvsdk_3_01_00_10_setup.bin

Cs1omap3530_setupLinux_1_01_00-prebuilt-dvsdk3.01.00.10.bin

Ti_cgt_c6000_6.1.12_setup_linux_x86.bin

 

 

1. Install all packages in one directory, preferably to/Arago-install/dvsdk_3_01_00_10, because I am under/home/workdir/Ti/dvsdk_3_01_00_10, during the compilation process, you may need to link the file under/Arago-install/dvsdk_3_01_00_10 because it seems that the path is written to the configuration file, I have also established a symbolic link such as/Arago-install/dvsdk_3_01_00_10, pointing to/home/workdir/Ti/dvsdk_3_01_00_10.

 

2. After the above components are installed, the following structure is shown in dvsdk_3_01_00_10:

3, into the AM35x-OMAP35x-PSP-SDK-03.00.01.06/src/unzip. The kernel in the kernel cannot be squashed here because devkit8000 still needs to modify the kernel, which is quite troublesome. The DSP-bridge driver also exists in the kernel transplanted from 0xlab to devkit8000, so I directly replaced the linux-03.00.01.06 here with 0xkernel.

Download Method: git clone git: // gitorious.org/0xlab-kernel/kernel.git

You can directly store the 0xlab kernel in the kernel directory or create a symbolic link.

In short, the ability to access: dvsdk_3_01_00_10/AM35x-OMAP35x-PSP-SDK-03.00.01.06/src/kernel/linux-03.00.01.06 on the line.

There are two other source codes to be modified:

(1) There is a bug in the pm34xx. c file. You need to enclose the following two functions in macros. You need to modify the following points for calling these two functions:

# Ifdef config_omap_watchdog

Extern int omap_wdt_suspend (void );

Extern int omap_wdt_resume (void );

# Endif

(2) include/Linux/omap_resizer.h and Drivers/Media/Video/ISP/omap_resizer.c in the compilation process will prompt rsz_s_exp undefined error, compared with the AM35x-OMAP35x-PSP-SDK-03.00.01.06 built-in kernel is not difficult to solve:

Add a case in the rsz_unlocked_ioctl function of map_resizer.c:

Case rsz_s_exp:

If (mutex_lock_interruptible (& rsz_conf_chan->

Chanprotection_mutex ))

Return-eintr;

Rsz_conf_chan-> register_config.sdr_req_exp =

* (Unsigned int *) Arg );

Mutex_unlock (& rsz_conf_chan-> chanprotection_mutex );

Break;

Add the definition in map_resizer.h: # define rsz_s_exp _ IOWR (rsz_ioc_base, 9, _ s32) and change the value of rsz_ioc_maxnr to 9

Because the Kernel configuration of menuconfig cannot be performed when running make in dvsdk, you must first run menuconfig under the kernel to configure the kernel and generate it. config file, and then copy it to arch/ARM/config/my_devkit8000_defconfig

 

4. Modify ~ /. Bashrc, add several environment variables:

Dvsdk_install_dir =/home/workdir/Ti/dvsdk_3_01_00_10

Cstool_dir =/home/workdir/toolchain/arm-2009q1

Codegen_install_dir = $ dvsdk_install_dir/ti_cgt_c6000_6.1.12

Codec_install_dir = $ dvsdk_install_dir/cs1omap1_01_00

Export dvsdk_install_dir codegen_install_dir cstool_dir

 

5. Check whether the address of each directory defined in the dvsdk_3_01_00_10/rules. Make file is correct and modify the directory according to the actual situation.

 

6. Modify dvsdk_3_01_00_10/makefile and specify the default configuration files for U-boot and kernel:

Linuxkernel_config = my_devkit8000_defconfig

Uboot_config = omap3_beagle_config

 

7. Run make help in the dvsdk_3_01_00_10 directory, view help, and select the target of make.

Run make everything to compile all targets. Run make install to copy the generated targets to the exec_dir directory set in rules. Make.

However, it seems that not all the generated targets have been copied. For example, after running make dmai_install, you can copy dmai.

8. Modify the memory address of insmod cmemk. KO in the OPT/dvsdk/omap3530/loadmodules. Sh script in the file system.

By default, its memory is 99 m + 15 m + 13 m = 128 m, and the memory of my devkit8000 is 256 m (0x80000000 ~ 0x90000000) So after the adjustment is:

#0x80000000 99 MB Linux -------------> 0x80000000 ------- 0x8e300000 227 m

#0x86300000 15 MB cmem -------------> 0x8e300000 ------- 0x8f200000 15 m

#0x87200000 13 MB codec server -------------> 0x8f200000 ------- 0x90000000 13 m

That is:

Insmod cmemk. Ko phys_start = 0x8e300000 phys_end = 0x8f200000 pools = 1 x 300hrs, 1 X 1429hrs, 6x1048576, 4 x 829hrs, 1x4096x132132, 20 X allowoverlap =

 

9. To set the uboot startup parameters, add "mem = 227 m omapfb. vrfb = Y ", especially" omapfb. vrfb = y "must be added; otherwise, the error" omapdss dispc error: gfx_polico_underflow, disabling GFX "will make you very big. My startup parameters are as follows:

Console = ttys2, 115200n8 VRAM = 12 m mem = 227 m omapdss. def_disp = TV omapfb. mode = 576p80 rotation = 1 omapfb. vrfb = y root =/dev/mmcblk0p2 init =/init RW rootwait

 

10. After Linux is started, you may need to manually create the cmem node:

CAT/proc/devices check the master device Number of cmem. My number is 250.

Mknod/dev/cmem c 250

Then you can run OMAP-demo (copy it from dvsdk_3_01_00_10/examples/omap3530/) for testing.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.