Skip to content

Instantly share code, notes, and snippets.

@bandwidthcrunch
Created March 10, 2014 11:20
Show Gist options
  • Save bandwidthcrunch/9463302 to your computer and use it in GitHub Desktop.
Save bandwidthcrunch/9463302 to your computer and use it in GitHub Desktop.
dm368 IPNC issues
Install tftpd-hpa: apt-getinstall tftpd-hpa / / tftp
install flex: apt-getinstall flex / / makesysall compilation process used
to install mkcramfs: apt-getinstall mkcramfs / / create the file system
to install libncurses5-dev: sudoapt-get install libncurses5-dev / / make menuconfig needs
4, modify the registry by the root user. Install vsftpd. (Refer to another article)
5, the installation target Linux
sudomkdir / camera/mv_pro_5.0
cd / home / ss
chmod777 mvl_5_0_0_demo_lsp_setuplinux_02_10_00_14.bin
chmod777 mvl_5_0_0801921_demo_sys_setuplinux.bin
./mvl_5_0_ # _demo_sys_setuplinux.bin
Installation directory to / camera/mv_pro_5.0
./mvl_5_0_0_demo_lsp_setuplinux_ # _ # _ # _ #. bin
Installation directory to / camera/mv_pro_5.0
Two files to / opt/mv_pro_5.0 decompression inside
sudotar-zxvf mvltools5_0_0801921_update.tar.gz
To unpack a few minutes
sudotar-zxvf DaVinciLSP_02_10_00_14.tar.gz
6, the installation package DVSDK
Give permission chmod.
./dvsdk_setuplinux_2_10_01_18.bin
Installed in / camera/ss/dvsdk_2_10_01_18
./xdctools_setuplinux_3_15_01_59.bin
Installed in / camera/ss/dvsdk_2_10_01_18/xdctools_3_15_01_59
. / Psp_ # _ # _ # _ #. Bin
Installed in / camera/ss/dvsdk_2_10_01_18 /
host $ tar-zxvf psp_ # _ # _ # _ #. tar.gz
Finished delete the installation file.
Patch, unzip the dvsdk_2_10_00_16_patch.tgz under dvsdk.
Set the working environment for the host
cd ~ / dvsdk_2_10_01_18
viRules.make
Check which settings to ensure consistent and practical path, such as:
DEMO_INSTALL_DIR = $ (DVSDK_INSTALL_DIR) / dvsdk_demos_2_10_00_17
7, install the NFS file system
NFS service pack installation:
sudoapt-get install nfs-kernel-server
Configuration file:
sudogedit / etc / exports
Add the following line:
/ Camera / ss / ipnc / target / filesys * (rw, no_root_squash, no_all_squash, sync)
Activated after the restart the NFS service:
sudo / usr / sbin / exportfs-av
sudo / etc / init.d / nfs-kernel-server restart
Check firewall status:
sudoiptables status
Off Firewall:
sudoiptables-F
10, to establish a development environment
Vi / root / .bashrc (the best are built on ordinary users and Root Users)
In the last to join named below:
export PATH = "/ camera/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin :/ camera/mv_pro_5.0/montavista/pro/bin :/ camera/mv_pro_5.0/montavista/common/bin: $ PATH "
Run:
source ~ /. bashrc
Make the environment variable to take effect.
In naming line input arm + [tab] cross compiler tool appears.
root @ www.linuxidc.com :/ camera/ss/dvsdk_2_10_01_18 # arm
arm2hpdl arm_v5t_le-gprof arm_v5t_le-objcopy
arm_v5t_le-addr2line arm_v5t_le-initdconfig arm_v5t_le-objdump
arm_v5t_le-ar arm_v5t_le-ksymoops arm_v5t_le-prelink
arm_v5t_le-as arm_v5t_le-ld arm_v5t_le-prelink-rtld
arm_v5t_le-c + + arm_v5t_le-ldconfig arm_v5t_le-ranlib
arm_v5t_le-c + + filt arm_v5t_le-ldd arm_v5t_le-readelf
arm_v5t_le-cpp arm_v5t_le-libindex arm_v5t_le-shellconfig
arm_v5t_le-g + + arm_v5t_le-libopt arm_v5t_le-size
arm_v5t_le-gcc arm_v5t_le-libtoolize arm_v5t_le-strings
arm_v5t_le-gcov arm_v5t_le-nm arm_v5t_le-strip
11, install LSP support package
Method one:
Copy MontaVistaLinux Support Package to the working directory, which contains the Davinci driver.
cp-R/camera/mv_pro_5.0/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.18_pro500 / * / camera / ss / ipnc / ti-davinci /
Method Two: (Use this method)
Copy lsp_ipnc_dm36x_0.7.0.tgz to / camera / ss / ipnc / under decompression, generate ti-davinci folder.
12, create a file system folder
Decompression / camera / ss / ipnc / Under
ipnc_app_dm365_priv_0.7.0.tgz
ipnc_app_dm365_open_0.7.0.tgz
ipnc_app_dm365_aewb_0.7.0.tgz
Modify / camera / ss / ipnc / under Rules.make path.
HOME: = / camera / ss / ipnc
DVSDK_BASE_DIR: = / camera/ss/dvsdk_2_10_01_18
TFTP_HOME: = / var / lib / tftpboot
MVTOOL_DIR: = / camera/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le
TARGET_FS: = $ (HOME) / target / filesys
KERNELDIR: = $ (HOME) / ti-davinci
BASE_DIR: = $ (HOME) / av_capture / build
New in / camera / ss / ipnc / next target, established at its next filesys, cramfs folder, cramfsImage_ipnc_dm365_0.7.0 copied to the target.
root @ www.linuxidc.com :/ Camera / SS / IPNC / target # LS
cramfs cramfsImage_ipnc_dm365_0.7.0 filesys root @ www.linuxidc.com :/ Camera / SS / IPNC / target # Mount-O loop-tcramfs cramfsImage_ipnc_dm365_0.7.0cramfs / root @ www.linuxidc.com :/ Camera / SS / IPNC / target # LS cramfs / bin etc lib mnt proc sbin tmp var dev init linuxrc opt root SYS usr root @ www.linuxidc.com :/ Camera / SS / IPNC / target # cp-av cramfs / * filesys /
13, and then you can run:
rm-rf / camera / ss / ipnc / target / filesys / root / .esm *
rm-rf / camera / ss / ipnc / target / filesys / usr / local / etc / *
make-s sysall
rm-rf / camera / ss / ipnc / target / rdmnt
rm/camera/ss/ipnc/target/cramfsUby00
mkdir / camera / ss / ipnc / target / rdmnt
cp-av / camera / ss / ipnc / target / filesys / * / camera / ss / ipnc / target / rdmnt
sudomkcramfs / camera/ss/ipnc/target/rdmnt/camera/ss/ipnc/target/cramfsUby00
cp / camera / ss / ipnc / ti-davinci / arch / arm / boot / uImage / home/ss/uImageUby00
# / Var/lib/tftpboot/uImage_00
cp/camera/ss/ipnc/target/cramfsUby00 / home/ss/cramfsUby00
There are:
# Make-s lsp / / incrementally build LSP
# Make-s lspclean / / clean all generated files in LSP
# Make-s lspall / / cleanand rebuild all LSP
# Make-s dvsdk / / incrementally buildDVSDK
# Make-s dvsdkclean / / clean all generatedfiles in DVSDK
# Make-s dvsdkall / / clean and rebuild all DVSDK
# Make-s / / incrementally build AV server and IPNC APP
# Make-s clean / / cleanall generated files in AV server and IPNC APP
# Make-s all / / clean and rebuild all AV Server and IPNC APP
# Make-s sys / / incrementally build LSP, DVSDK, AV server and IPNC APP
# Make-s sysclean / / clean all generated files LSP, DVSDK, AV serverand IPNCAPP
# Make-s sysall / / clean and rebuild all LSP, DVSDK, AVserver and IPNC APP
@bandwidthcrunch
Copy link
Author

DAVINCI DM365-DM368 development Raiders - U-BOOT-2010 .12 and UBL transplant
2011-11-13 22:20:40
Tags: U-BOOT UBL DM368 development Raiders core board
Original works, for permission to reproduce, be sure to indicate the form of hyperlinks article reprint the original source , author information and this statement. Otherwise it will be held liable. http://zjbintsystem.blog.51cto.com/964211/713240
From the summer came late autumn, we continue DAVINCI DM365-DM368 development. Ashamed to say, people 51CTO enthusiastic support of this blog, but I was never like the other blog as frequently updated blog star, was indeed justified. Management company really tired, anxious customers more projects to do, we successfully launched the first core board DM6446-810MHz is ( http://www.tongyetech.com ), during the Security Exhibition in Shenzhen also met with several other City customers, and continue to develop our DM368.

One, DM36X the BOOT process introduced
DM36x the BOOT process and DM6446, DM6467 exactly the same, as are ARM926EJS architecture, inside there is a RBL, which RBL in the factory when the chips are programmed in the ROM, the chip power-on reset RBL running, then read Take BOOT MODE pin state level, the decision is from NAND FLASH mode or from the MMC / SD, UART, USB, SPI, EMAC, HPI one of the BOOT, see specific SPRS558A.pdf and SPRUSG5A.pdf introduction, this two documents for hardware engineers, software engineers is very important driver.

This article and subsequent DM36X basic introduction to the DM368-based, because DM365 --- dvsdk_dm365_4_02_00_06 and DM368 ---- dvsdk_dm368_4_02_00_06 of UBL, U-BOOT, KERNEL source exactly the same, if you do not consider 2A algorithm, DM368 DM365 is overclocked out of the super-high-definition!

Two, DM36X of UBL transplant
About UBL transplant, I intend to write a separate article, but too close to the UBL and UBOOT is TI davinci chip features, so to speak put together. We focus on NAND BOOT transplant, the UBL version is V1.50, in dvsdk_dm368_4_02_00_06 \ psp \ flash-utils \ DM36x and flash-utils \ directory under the Common, Common directory, there are many things, including UBL driver source code , tools, scripts, and so on. Our main concern arch, drivers, src, ubl. UBL's main () function in dvsdk_dm368_4_02_00_06 \ psp \ flash-utils \ Common \ ubl \ src \ ubl.c where these folders open to see it to understand what it means, there is not wordy.
DM36x under CCS, Common, GNU three folders:
CCS folder:
This side of the program needs to be compiled under the TI CCS through emulators and JTAG debugging and programming NAND FLASH or NOR FLASH on DM36X board, there is an application programming Writer, open the project file with CCS, will be connected to dvsdk_dm368_4_02_00_06 \ psp \ flash-utils \ Common \ drivers inside.
Common folder: Common core file device.c there and device_nand.c. device.c is the most important document, a lot of things here to initialize the system, see DEVICE_init ():
1, mask all interrupts;
2, clear the interrupt flag;
3, DEVICE_PSCInit (), Power and Sleep Controller;
4, the main chip pin multiplexing settings DEVICE_pinmuxControl (), DM36X pin multiplexing many, very complex, a total of five PINMUX register must be configured;
5, DEVICE_PLL1Init (), PPL1 configuration, see the beginning of the introduction SPRUSG5A.pdf 35, using different frequencies DM36X, these values ​​are different, but the parameters have been provided with reference to TI, is our core board DM365: ARM297_DDR243_OSC24, DM368 core board are: ARM432_DDR340_OSC24;
6, DEVICE_PLL2Init (), PPL2 configuration used above, different values ​​for different frequencies;
7, DEVICE_DDR2Init () configuration, DDR2 memory chips require different parameters on different market, in this function.
8, DEVICE_EMIFInit (), the timing for accessing NAND FLASH interface or NOR FLASH interface configuration;
9, DEVICE_UART0Init () configuration, this is what we DM36X serial debugging settings, we use UART0 to debug LINUX, where the configuration is not good, do not develop behind debugging.
10, DEVICE_TIMER0Init () TIMER0 timer settings;
11, DEVICE_I2C0Init () is provided;
GNU folder:
This is a compilation UBL environment in the LINUX environment, modify the makefile dvsdk_dm368_4_02_00_06 \ psp \ flash-utils \ DM36x \ GNU \ ubl under the

$ (MAKE)-C build TYPE = nor commented out, leaving only the $ (MAKE)-C build TYPE = nand, then make clean and make production ubl_DM36x_nand.bin documents;

If there is: device.c: (. Text +0 x2ec): undefined reference to __aeabi_uidiv 'and device.c: (. Text +0 x2e8): undefined reference to __aeabi_uidivmod' the BUG, ​​is DDR_Get_Val () function inside the division and remainder of the sentence and configure your compiler does not result.
result = ((parm * freq) / 10000) - 1; and if (((parm * freq)% 10000)), we evaluated parameters directly:
tRFC = xxx; / / DDR_Get_Val (DDR_T_RFC, DDR_FREQ);
tRP = xxx; / / DDR_Get_Val (DDR_T_RP, DDR_FREQ);
tRCD = xxx; / / DDR_Get_Val (DDR_T_RCD, DDR_FREQ);
tWR = xxx; / / DDR_Get_Val (DDR_T_WR, DDR_FREQ);
tRAS = xxx; / / DDR_Get_Val (DDR_T_RAS, DDR_FREQ);
tRC = xxx; / / DDR_Get_Val (DDR_T_RC, DDR_FREQ);
tRRD = xxx; / / DDR_Get_Val (DDR_T_RRD, DDR_FREQ);
tWTR = xxx; / / DDR_Get_Val (DDR_T_WTR, DDR_FREQ);
Not DDR_Get_Val () function evaluation, so that you can compile it. Later, I found TI's http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/115574/425950.aspx where this man was also resolved, Oh, I did not expect a solution and as a netizen The. I remember debugging Samsung 2440 UBOOT when someone points to before, where I forget what changed.

Third, introduce u-boot-2010.12 characteristics
u-boot-2010.12 architecture organizations are increasingly closer to the LINUX architecture, which is the development trend of the U-BOOT. DM36x of UBOOT source on dvsdk_dm368_4_02_00_06 \ psp below, folder called u-boot-2010.12-rc2-psp03.01.01.39, too long, our direct u-boot-2010.12. The u-boot-2010.12 support YAFFS2, UBI and other file system, support for SD card, USB, VIDEO, etc. driver to support lzma and lzo compressed kernel image, as well as the classic linux shell command support model that tab so magical, that is In "U-boot>" on the same type and LINUX host command prompt development, of course, very little of this order, and some commands are user added. Relative to the previous u-boot-1.3.4 version and other versions, the new U-BOOT the configuration script to remove the many platforms.

Four, u-boot-2010.12 transplant
DAVINCI chip series UBOOT transplant similar, relatively simple.
1, the first modifications: Makefile:
Line 140: # examples / standalone
Line 141: # examples / api
Line 246: # LIBS + = api / libapi.o
Wait a minute, we can put some unrelated folder to delete, to u-boot-2010.12 thin.
Line 323: ALL + = $ (obj) u-boot.srec $ (obj) u-boot.bin $ (obj) System.map $ (U_BOOT_NAND) $ (U_BOOT_ONENAND) u-boot.img
Increased u-boot.img behind this u-boot.img is what we want to be programmed into the NAND inside the BIN file that can be UBL to BOOT up files because u-boot.img through the u-boot-2010.12 \ tools mkimage tool under production with the first header of the file, which can be UBL header information to identify, so can be programmed into the NAND FLASH or NOR FLASH go inside. The u-boot.bin is no increase in file header information file can not be UBL directly to BOOT up. u-boot.bin only use software BOOT, such as: tftp 0x82080000 u-boot.bin; go 0x82080000.
The most important places modification: the first 350 lines:-a $ (CONFIG_SYS_TEXT_BASE)-e 0x81080000
Or-a $ (CONFIG_SYS_TEXT_BASE)-e $ (CONFIG_SYS_TEXT_BASE)
The beginning-e 0 is false, we U-BOOT-2010.12 EntryPoint the definitions to 0x81080000 , the DDR address in u-boot-2010.12 \ board \ davinci \ dm365evm \ config.mk
CONFIG_SYS_TEXT_BASE = 0x81080000
The-e (entrypoint) can not be 0 , otherwise it can not be UBL to BOOT.

Section 953 does not require changes to the line:
davinci_dm365evm_config: unconfig
@ $ (MKCONFIG) $ (@: _config =) arm arm926ejs dm365evm davinci davinci
Dm365evm DM368 also use the same name.

2, start deleting irrelevant folder
u-boot-2010.12 \ api folder
u-boot-2010.12 \ examples
u-boot-2010.12 \ nand_spl
u-boot-2010.12 \ onenand_ipl
u-boot-2010.12 \ arch \ retain only arm in the folder
u-boot-2010.12 \ arch \ arm \ cpu folder, leaving only arm926ejs
u-boot-2010.12 \ arch \ arm \ cpu \ arm926ejs folder, leaving only davinci folder, we just delete the folder, cpu.c and Makefile next do not delete, and so on;
u-boot-2010.12 \ board inside, leaving only davinci folder, delete all others;
u-boot-2010.12 \ board \ davinci \ li, leaving only dm365evm and common, other deleted;
u-boot-2010.12 \ include \ configs inside, leaving only davinci_dm365evm.h, other files and folders deleted;
Through the above operations, our u-boot-2010.12 simplify more.

3, modify the most important davinci_dm365evm.h
In the u-boot-2010.12 \ include \ configs inside, davinci_dm365evm.h
Modify # define CONFIG_SYS_NAND_MAX_CHIPS 1 , the previous two into one, which means that the system only supports a NAND FLASH;
The # define CONFIG_BOOTCOMMAND "if mmc rescan 0; Then if fatload mmc 0 0x80600000 boot.scr; Then Source 0x80600000; else fatload mmc 0 0x80700000 uImage; bootm 80700000; Fi; Fi" to comment out, we do not want to use the SD card to save the kernel BIN file uImage;
Then define # define CONFIG_BOOTCOMMAND "run nand_boot", said reading the kernel from NAND FLASH;
BOOTARGS UBOOT modify the parameters of: # define CONFIG_BOOTARGS
"Console = ttyS0, 115200n8 mem = 60M noinitrd rw ip = 192.168.1.188:192.168.1.252:192.168.1.1:255.255.255.0 root = / dev / nfs nfsroot = 192.168.1.252 :/ home/davinci/dm368/dvsdk_dm368_4_02_00_06/filesystem / dm368rootfs, nolock "
We mention here mem = 60M, is based on our board is 128M-BTYE, because behind DVSDK4.02 inside encodedecode and other examples of the need to use CMEM, and DM6446 like this, it is defined as 60M.
See dvsdk_dm368_4_02_00_06 \ filesystem \ dvsdk-dm368-evm-rootfs unpacked etc \ init.d \ loadmodule-rc file:
Default DM368 EVM Memory Map #

Start Addr Size Description

------------------------------------- ------

0x00001000 32K ARM TCM Memory

48 MB Linux # 0x80000000
0x83000000 # Driver 12 MB ​​Video Memory (Linux)

0x83C00000 68 MB CMEM

0x88000000 BOTTOM ADDRESS

load () {
modprobe cmemk phys_start = 0x83C00000 phys_end = 0x88000000 AllowOverlap = 1 phys_start_1 = 0x00001000 phys_end_1 = 0x00008000 pools_1 = 1x28672 useHeapIfPoolUnavailable = 1
modprobe irqk
modprobe edmak
modprobe dm365mmap
mknod / dev/dm365mmap c awk" \ \ $ 2 == \ "dm365mmap \ "{Print \ \ $ 1 } "/ proc / Devices 0
}
Some people define CMEM smaller shared memory, then this value can be greater than 60M. Behind the argument is to use a static IP of NFS SERVER fixed path, be NFS debugging;

Addition

Define CONFIG_IPADDR 192.168.1.188

Define CONFIG_SERVERIP 192.168.1.252

Define CONFIG_ETHADDR 00:03:55:88:00:00

Define the board's own IP and MAC, the MAC in MAC assurance and other network devices that do not conflict premise own way when debugging assignment. SERVERIP LINUX is the host IP address of our development environment, mainly used as TFTP and NFS debugging.

Define CONFIG_EXTRA_ENV_SETTINGS \

"Eraseenv = nand erase 0x00060000 0x00020000 \ 0"
"Eraseall = nand erase 0x00000000 0x08000000 \ 0"
"Updateuboot = tftp 0x84000000 dm368_uboot.bin; nand erase 80000 80000; nand write 84000000 80000 80000 \ 0"
"Updatecore = tftp 0x84000000 dm368_kernel.bin; nand erase 0x00100000 0x00480000; nand write 84000000 100000 300000 \ 0"
"Nand_boot = nboot 0x80700000 0 0x100000; bootm \ 0"
"Tftp_boot = tftpboot 0x80700000 dm368_kernel.bin; bootm \ 0"
This is very classic, I used the DM6446 at U-BOOT-2009.03 transplant said in u-boot-> prompt, use the run command, you can do some automatic batch operation. CONFIG_EXTRA_ENV_SETTINGS that have used u-boot-2010.12 \ common \ env_common.c and u-boot-2010.12 \ common \ env_embedded.c. Although you can be defined here.
run eraseenv said erase u-boot parameters;
run eraseall said erase the entire piece NAND;
run updateuboot said dm368_uboot.bin to the board via TFTP programming;
run updatecore said programming kernel file 300000 BIN represents the size of the kernel, we will die here directly, 3M's core BIN file length enough, of course, you can change the dynamic programming method based on the length of the kernel size;
TFTP to download the BIN file (uImage) to the DDR 0x84000000 address, and then programmed into the district's own definition, the kernel linux-2.6.32.17 district is one to one, it is very important;
"Nand_boot = nboot 0x80700000 0 0x100000; bootm \ 0"; kernel on the NAND 0x100000, we use the run nand_boot board-level kernel boot;
"Tftp_boot = tftpboot 0x80700000 dm368_kernel.bin; bootm \ 0" using TFTP boot a kernel software, compiler debugging kernel;
In the run eraseenv, we use 0x00060000 as the U-BOOT parameters stored in the offset address, length of use 128K-BYTE, so start at line 183:

Ifdef CONFIG_NAND_DAVINCI

define CONFIG_ENV_SIZE (128 << 10) / * 128KiB * / / / 128K-byte for EVN

define CONFIG_ENV_IS_IN_NAND

define CONFIG_ENV_OFFSET 0x00060000

undef CONFIG_ENV_IS_IN_FLASH

endif

By the way, we generally do not recommend the U-BOOT inside and programming via TFTP to download the file system of at least tens of M, we try to simplify the U-BOOT function, because our product focus is on LINUX kernel, all development, application, the upgrade process is based on the LINUX kernel, so we recommend LINUX kernel drivers to be programmed by the file system, which is something.

4, so that I can use the tab key function
This feature is the ability to use the tab key to U-boot-> command prompt, so that
There must be defined in davinci_dm365evm.h CONFIG_AUTO_COMPLETE on line "# define CONFIG_SYS_HUSH_PARSER" or the next line;
In the u-boot-2010.12 \ common \ command.c, the first 165 lines, the "# if 0" into "# if 1";
In the u-boot-2010.12 \ common \ env_common.c, the first 247 lines of the "# if 0" into "# if 1";

5, increasing the GPIO driver functionality and modify some BUG
Reset chip peripherals, such as Ethernet port using GPIO control chip reset, the u-boot-2010.12 \ board \ davinci \ dm365evm \ dm365evm.c of board_init () function, increase GPIO reset the drive, for some peripheral chip reset bit;
In the u-boot-2010.12 \ common \ cmd_nvedit.c, the first 227 lines, the "((strcmp (name," ethaddr ") == 0)" with "(0", so you can save any modifications in the net mouth MAC address ethaddr;

6, began to compile
In the u-boot-2010.12 \ arch \ arm in the config.mk

CROSS_COMPILE? = Arm-linux-

CROSS_COMPILE = arm-none-linux-gnueabi-
We use the Code Sourcery ARM GCC Tool Chain of Sourcery G+ + Lite 2009q1-203 for ARM GNU / Linux.
Note that in addition to UBL UBL folder in internal compiler, other documents DVSDK package u-boot, linux, dm365mm, irq, edma, ceexamples, dmai, there psp_examples, etc., are compiled in dvsdk_dm368_4_02_00_06 directory , see the specific dvsdk_dm368_4_02_00_06 the Makefile.
compile u-boot is: make u-boot, make u-boot_clean etc.;
We can also produce a build_uboot.sh own command in this directory

Build u-boot in dvsdk4_02

make u-boot
chmod 777 / home/davinci/dm368/dvsdk_dm368_4_02_00_06/psp/u-boot-2010.12/u-boot.img
cp-f / home/davinci/dm368/dvsdk_dm368_4_02_00_06/psp/u-boot-2010.12/u-boot.img / tftpboot/dm368_uboot.bin
Or additional build_uboot_all.sh

Build u-boot in dvsdk4_02

make u-boot_clean
make u-boot
chmod 777 / home/davinci/dm368/dvsdk_dm368_4_02_00_06/psp/u-boot-2010.12/u-boot.img
cp-f / home/davinci/dm368/dvsdk_dm368_4_02_00_06/psp/u-boot-2010.12/u-boot.img / tftpboot/dm368_uboot.bin
Use sh file to help you work, how many get in the habit.

Basically, your mouth plate subnet OK, then you can burn through TFTP UBOOT put into it, by burning or other means emulator, we generally do not have the emulator programming, direct way of programming using uart boot, write their own uart boot thing, take a look at dvsdk_dm368_4_02_00_06 \ psp \ flash-utils bag stuff, keep it here.

Here, the entire u-boot-2010.12 transplant completed. There are deficiencies need correction of other users. I maintain two main chip platform, becomes very busy, but I will insist on writing the next one is linux-2.6.32.17 transplant,'ve written three articles about UBOOT, including S3C2440, I aim to let We develop these BOOT shorten development time, because the focus is on the development of the kernel and kernel-based applications (MII also strongly support the open source linux and related technologies), so everyone's audio and video networking products out quickly, improve people's life, and promote the social civilization, civilization is driven by science and technology to make those ugly brutality numbness wicked civilization backwards, fooling means empty distorted intelligence insulting things people exposed soon encounter tricky The problems can be exposed, after all the wisdom of the people is endless, is fully capable of solving the problem. But the premise is that we have such an academic atmosphere, they do not have the basic necessities of extremely heavy shackles, did not waste time in the vast majority of foreign language lessons and XX (look at the people of Germany, right), so we have to stick to our technical road. Civilization is relying on science and technology to promote, and science and technology we need to get down to the tens of thousands of scientists and technicians doing things.

Debugging collection yesterday with TVP5158 D1 finally see images. I was very comfortable. By the way, this time we do sun drying of two core board: DM368 and DM6446-810MHz core board. Core board to maximize customer convenience for extensions, integrated applications, speed up product development and market, reduce the risk of early product development. We tend to compare project cooperation, focusing on the development board is not developed by us.

DM368 core board
DM368 core board hardware interface description:
■ Onboard memory:

  • dynamic memory (DDR2 SDRAM): 1Gb (128M-byte)
  • non-volatile memory (NAND FLASH): 1Gb (128M-byte)
    ■ On-board interfaces:
  • 1 4 Boot Mode Select Interface
  • 16-BIT YCC digital video input interface
  • 2 programmable output clock CLOCK0 and CLOCK2
  • 1 SD analog video output interface TVOUT
  • 1 analog HD YPbPr video output interfaces
  • 1 Mic differential input interface
  • 1 channel linear output interface audio
  • 1 channel speaker differential output
  • 3-way AD acquisition interface
  • an SD card interface SD0
  • 1 a 10/100M Network differential input and output interfaces RX TX
  • 2 x RS232 serial ports (UART0, UART1)
  • a USB 2.0 interface (HOST / DEVICE / OTG)
  • 1 SPI-mouth SPI1
  • 1 standard JTAG interface
  • a 4 × 4 keyboard interface
    • 18 separate GPIO port
  • 3-way power input interface +1.8 V, + 3.3V, +1.2 V
    ■ veneer Dimensions:
    46mm x 46mm x 9.5mm
    which is 9.5mm overall height

DM6446-810MHz core board
DM6446-810MHz core board uses a TI TMD320DM6446BZWT8 dual-core chip, ARM9 the frequency of 405MHz, DSP-C64 + core frequency of 810MHz, DDR2-667 is configured as operating frequency 189MHz, NAND FLASH for the 128M-BYTE. 10M/100M network chip integrated in the core board, designed to facilitate customer base plate, 70mm * 47mm, the overall height of 9mm, smaller than a business card.
Tong Ye Technology DM6446-810MHz core board supports hardware interface:
1, VPFE16 bit bus and H, V signals, can take video capture chip and CMOS SENSOR;
2, VPBE leads to the control signal RGB24, RGB24 LCD screen for easy access;
3 , CVBS analog video output;
4, Ethernet port and Ethernet port signal LED, LINK signal;
5, I2C interfaces;
6, SPI interfaces;
7, SD card interface;
8, ATA hard disk interface;
9, USB2.0 HOST interfaces;
10 , ASP audio interface;
11,3 UART interfaces;
12,18 independent GPIO interfaces and GPIO interfaces to other multiplexing;
13, JTAG emulator interface;
14,3 a PWM control lines;
15, CLK_OUT0 and CLK_OUT1 programmable clock The output signal;
16, TI's H264 ENCODE LIB reach 720P (1280 * 720) in real time;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment