搜档网
当前位置:搜档网 › Tiny6410_Uboot移植步骤详解

Tiny6410_Uboot移植步骤详解

Tiny6410_Uboot移植步骤详解
Tiny6410_Uboot移植步骤详解

Uboot_for_Tiny6410_移植步骤详解

一、设计要求

1.目的

1)掌握U-boot剪裁编写

2)掌握交叉编译环境的配置

3)掌握U-boot的移植

2.实现的功能

1)U-boot编译成功

2)移植U-boot,使系统支持从NAND

FLASH启动

二、设计方案

1.硬件资源

1)ARM处理器:ARM11芯片(Samsung

S3C6410A),基于ARM1176JZF-S核设

计,运行频率533Mhz,最高可达

667Mhz

2)存储器:128M DDR RAM,可升级至

256M;MLC NAND Flash(2GB)

3)其他资源:具有三LCD接口、4线电阻

触摸屏接口、100M标准网络接口、标准DB9

五线串口、Mini USB2.0接口、USB Host

1.1、3.5mm音频输入输出口、标准TV-OUT

接口、SD卡座、红外接收等常用接口;另外

还引出4路TTL串口,另1路TV-OUT、

SDIO2接口(可接SD WiFi)接口等;在板的

还有蜂鸣器、I2C-EEPROM、备份电池、A D

可调电阻、8个中断式按键等。

2.软件资源

1)arm-linux-gcc-4.5.1(交叉编译)

2)u-boot-2010.09.tar.gz

arm-linux-gcc-4.5.1-v6-vfp-20101103.t

gz

三、移植过程

1.环境搭建

1)建立交叉编译环境

2)去这2个网站随便下载都可以下载得到最

新或者你想要的u-boot。(

https://www.sodocs.net/doc/0a6547533.html,/batch.viewl

ink.php?itemid=1694

ftp://ftp.denx.de/pub/u-boot/

下面是具体的对u-boot…的修改

一:下载并解压u-boot-gxb.tar.gz。

#tar xzvf u-boot-gxb.tar.gz

二:在顶层的目录下找到Makefile文件,并用gedi

gedit t 打开

在Makefile中找到下面代码进行修改

########################################################################

##ARM1176Systems

#########################################################################

smdk6400_noUSB_config\

smdk6400_config:unconfig

@mkdir-p$(obj)include$(obj)board/samsung/smdk6400

@mkdir-p$(obj)nand_spl/board/samsung/smdk6400

@echo"#define CONFIG_NAND_U_BOOT">$(obj)include/config.h

@echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk

@if[-z"$(findstring smdk6400_noUSB_config,$@)"];then\ echo"RAM_TEXT=0x57e00000">>$(obj)board/samsung/smdk6400/config.tmp;\ else\

echo"RAM_TEXT=0xc7e00000">>$(obj)board/samsung/smdk6400/config.tmp;\ fi

@$(MKCONFIG)smdk6400arm arm1176smdk6400samsung s3c64xx

@echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk

下面红色的为新增加的

#=====================更改部分=======================================

tiny6410_noUSB_config\

tiny6410_config:unconfig

@mkdir-p$(obj)include$(obj)board/samsung/tiny6410

@mkdir-p$(obj)nand_spl/board/samsung/tiny6410

@echo"#define CONFIG_NAND_U_BOOT">$(obj)include/config.h

@echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk

@if[-z"$(findstring tiny6410_noUSB_config,$@)"];then \

echo"RAM_TEXT=0x57e00000">> $(obj)board/samsung/tiny6410/config.tmp;\

else

\

echo"RAM_TEXT=0xc7e00000">> $(obj)board/samsung/tiny6410/config.tmp;\

fi

@$(MKCONFIG)tiny6410arm arm1176tiny6410samsung s3c64xx

@echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk

#==================================================================

三:arch/arm/cpu/arm1176/s3c64xx/cpu_init.S #gedit arch/arm/cpu/arm1176/s3c64xx/cpu_init.S

#include

#include

.globl mem_ctrl_asm_init

mem_ctrl_asm_init:

/*DMC1base address0x7e001000*/

ldr r0,=ELFIN_DMC1_BASE

ldr r1,=0x4

str r1,[r0,#INDEX_DMC_MEMC_CMD]

ldr r1,=DMC_DDR_REFRESH_PRD

str r1,[r0,#INDEX_DMC_REFRESH_PRD]

ldr r1,=DMC_DDR_CAS_LATENCY

str r1,[r0,#INDEX_DMC_CAS_LATENCY]

ldr r1,=DMC_DDR_t_DQSS

str r1,[r0,#INDEX_DMC_T_DQSS]

ldr r1,=DMC_DDR_t_MRD

str r1,[r0,#INDEX_DMC_T_MRD]

ldr r1,=DMC_DDR_t_RAS

str r1,[r0,#INDEX_DMC_T_RAS]

ldr r1,=DMC_DDR_t_RC

str r1,[r0,#INDEX_DMC_T_RC]

ldr r1,=DMC_DDR_t_RCD

ldr r2,=DMC_DDR_schedule_RCD

orr r1,r1,r2

str r1,[r0,#INDEX_DMC_T_RCD]

ldr r1,=DMC_DDR_t_RFC

ldr r2,=DMC_DDR_schedule_RFC

orr r1,r1,r2

str r1,[r0,#INDEX_DMC_T_RFC]

ldr r1,=DMC_DDR_t_RP

ldr r2,=DMC_DDR_schedule_RP

orr r1,r1,r2

str r1,[r0,#INDEX_DMC_T_RP]

ldr r1,=DMC_DDR_t_RRD

str r1,[r0,#INDEX_DMC_T_RRD]

ldr r1,=DMC_DDR_t_WR

str r1,[r0,#INDEX_DMC_T_WR]

ldr r1,=DMC_DDR_t_WTR

str r1,[r0,#INDEX_DMC_T_WTR]

ldr r1,=DMC_DDR_t_XP

str r1,[r0,#INDEX_DMC_T_XP]

ldr r1,=DMC_DDR_t_XSR

str r1,[r0,#INDEX_DMC_T_XSR]

ldr r1,=DMC_DDR_t_ESR

str r1,[r0,#INDEX_DMC_T_ESR]

ldr r1,=DMC1_MEM_CFG

str r1,[r0,#INDEX_DMC_MEMORY_CFG]

ldr r1,=DMC1_MEM_CFG2

str r1,[r0,#INDEX_DMC_MEMORY_CFG2]

ldr r1,=DMC1_CHIP0_CFG

str r1,[r0,#INDEX_DMC_CHIP_0_CFG]

ldr r1,=DMC_DDR_32_CFG

str r1,[r0,#INDEX_DMC_USER_CONFIG]

/*DMC0DDR Chip0configuration direct command reg*/

ldr r1,=DMC_NOP0

str r1,[r0,#INDEX_DMC_DIRECT_CMD]

/*Precharge All*/

ldr r1,=DMC_PA0

str r1,[r0,#INDEX_DMC_DIRECT_CMD]

/*Auto Refresh2time*/

ldr r1,=DMC_AR0

str r1,[r0,#INDEX_DMC_DIRECT_CMD]

str r1,[r0,#INDEX_DMC_DIRECT_CMD]

/*MRS*/

ldr r1,=DMC_mDDR_EMR0

str r1,[r0,#INDEX_DMC_DIRECT_CMD]

/*Mode Reg*/

ldr r1,=DMC_mDDR_MR0

str r1,[r0,#INDEX_DMC_DIRECT_CMD]

/*Enable DMC1*/

mov r1,#0x0

str r1,[r0,#INDEX_DMC_MEMC_CMD]

check_dmc1_ready:

ldr r1,[r0,#INDEX_DMC_MEMC_STATUS]

mov r2,#0x3

and r1,r1,r2

cmp r1,#0x1

bne check_dmc1_ready

nop

添加下面红色的代码

/*===========================更改部分=============================*/

#if defined(CONFIG_TINY6410)

#define SROM_BC1_REG_Tacs(0x0)//0clk address set-up

#define SROM_BC1_REG_Tcos(0x4)//4clk chip selection set-up #define SROM_BC1_REG_Tacc(0xE)//14clk access cycle

#define SROM_BC1_REG_Tcoh(0x1)//1clk chip selection hold

#define SROM_BC1_REG_Tah(0x4)//4clk address holding time

#define SROM_BC1_REG_Tacp(0x6)//6clk page mode access cycle #define SROM_BC1_REG_PMC(0x0)//normal(1data)page mode configuration

#define SROM_BW_REG_DATA((1<<7)|(1<<6)|(1<<4))

#define SROM_BW_REG_BC1(0xf<<4)

#define SROM_BC1_REG_DATA((SROM_BC1_REG_Tacs<<28)|\

(SROM_BC1_REG_Tcos<<24)|\

(SROM_BC1_REG_Tacc<<16)|(SROM_BC1_REG_Tcoh<<12)|\

(SROM_BC1_REG_Tah<<8)|(SROM_BC1_REG_Tacp<<4)|\

(SROM_BC1_REG_PMC))

ldr r0,=ELFIN_SROM_BASE

ldr r1,[r0,#SROM_BW_REG_DATA]

mov r2,#(~SROM_BW_REG_BC1)

and r1,r1,r2

mov r2,#SROM_BW_REG_DATA

orr r1,r1,r2

str r1,[r0,#INDEX_SROM_BW_REG]

ldr r1,=SROM_BC1_REG_DATA

str r1,[r0,#INDEX_SROM_BC1_REG]

#endif

/*========================================================*/

mov pc,lr

.ltorg

四:修改arch/arm/cpu/arm1176/s3c64xx/Makefile

#gedit arch/arm/cpu/arm1176/s3c64xx/Makefile

include$(TOPDIR)/config.mk

LIB=$(obj)lib$(SOC).a

SOBJS=reset.o

#COBJS-$(CONFIG_S3C6400)+=cpu_init.o speed.o

添加下面红色代码

#==================================更改部分================================

COBJS-$(CONFIG_S3C6410)+=cpu_init.o speed.o

#===================================================================== ====

COBJS-y+=timer.o

OBJS:=$(addprefix$(obj),$(SOBJS)$(COBJS-y))

all:$(obj).depend$(START)$(LIB)

$(LIB):$(OBJS)

$(AR)$(ARFLAGS)$@$(OBJS)

五:修改

arch\arm\include\asm\arch-s3c64xx\s3c64x 0.h

#ifndef__S3C64XX_H__

#define__S3C64XX_H__

添加红色代码

/*==================================更改部分

===============================*/

#if defined(CONFIG_SYNC_MODE)&&defined(CONFIG_S3C6400)|| defined(CONFIG_S3C6410)

/*===================================================================== ===*/

/*#error CONFIG_SYNC_MODE unavailable on S3C6400,please,fix your configuration!*/

#endif

#include

六:修改

arch/arm/include/asm/arch-s3c64xx/s3c640 0.h

#define ELFIN_SROM_BASE0x70000000

#define SROM_BW_REG__REG(ELFIN_SROM_BASE+0x0)

#define SROM_BC0_REG__REG(ELFIN_SROM_BASE+0x4)

#define SROM_BC1_REG__REG(ELFIN_SROM_BASE+0x8)

#define SROM_BC2_REG__REG(ELFIN_SROM_BASE+0xC)

#define SROM_BC3_REG__REG(ELFIN_SROM_BASE+0x10)

#define SROM_BC4_REG__REG(ELFIN_SROM_BASE+0x14)

#define SROM_BC5_REG__REG(ELFIN_SROM_BASE+0x18)

添加下面红色代码

/*====================================更改部分=============================*/

#define INDEX_SROM_BW_REG0x0

#define INDEX_SROM_BC0_REG0x4

#define INDEX_SROM_BC1_REG0x8

#define INDEX_SROM_BC2_REG0xC

#define INDEX_SROM_BC3_REG0x10

#define INDEX_SROM_BC4_REG0x14

#define INDEX_SROM_BC5_REG0x18

/*===================================================================== ===*/

/*

七:在board/samsung建立tiny6410的文件夹,并且把smdk6400文件里面的所有文件复制过去,在修改board/samsung/tiny6410/lowlevel_init.S

_TEXT_BASE:

.word TEXT_BASE

.globl lowlevel_init

lowlevel_init:

mov r12,lr

/*LED on only#8*/

/*=========================================更改部分========================*/

#if0

ldr r0,=ELFIN_GPIO_BASE

ldr r1,=0x55540000

str r1,[r0,#GPNCON_OFFSET]

ldr r1,=0x55555555

str r1,[r0,#GPNPUD_OFFSET]

ldr r1,=0xf000

str r1,[r0,#GPNDAT_OFFSET]

#endif

/*==================================================================== =====*/

将上面的红色的部分屏蔽掉

wakeup_reset:

/*Clear wakeup status register*/

ldr r0,=(ELFIN_CLOCK_POWER_BASE+WAKEUP_STAT_OFFSET)

ldr r1,[r0]

str r1,[r0]

/*LED test*/

/*========================================更改部分===========================*/

#if0

ldr r0,=ELFIN_GPIO_BASE

ldr r1,=0x3000

str r1,[r0,#GPNDAT_OFFSET]

#endif

/*==================================================================== =======*/

/*Load return address and jump to kernel*/

ldr r0,=(ELFIN_CLOCK_POWER_BASE+INF_REG0_OFFSET)

/*r1=physical address of s3c6400_cpu_resume function*/

ldr r1,[r0]

/*Jump to kernel(sleep-s3c6400.S)*/

mov pc,r1

nop

nop

将上面红色的部分屏蔽掉

/*

*This was unconditional in original Samsung sources,but it doesn't

*seem to make much sense on S3C6400.

*/

/*======================================更改部分===========================*/

/*#ifndef CONFIG_S3C6400*/

#if!defined(CONFIG_S3C6400)&&!defined(CONFIG_S3C6410)

/*===================================================================== ====*/

ldr r1,[r0,#OTHERS_OFFSET]

bic r1,r1,#0xC0

orr r1,r1,#0x40

str r1,[r0,#OTHERS_OFFSET]

八:修改board/Samsung/tiny6410/Makefile中include$(TOPDIR)/config.mk

LIB=$(obj)lib$(BOARD).a

#=============================更改部分=====================

COBJS-y:=tiny6410.o

SOBJS:=lowlevel_init.o

#===========================================================

SRCS:=$(SOBJS:.o=.S)$(COBJS-y:.o=.c)

OBJS:=$(addprefix$(obj),$(COBJS-y))

SOBJS:=$(addprefix$(obj),$(SOBJS))

九:修改board/samsung/tiny6410/tiny6410.c 屏蔽掉下面头文件;

/*===========================更改部分====================================*/

#if0

#include

#endif

/*===================================================================== =======*/

#include

/*===============================更改部分====================================*/

#if0

#define CS8900_Tacs0x0/*0clk address set-up*/

#define CS8900_Tcos0x4/*4clk chip selection set-up*/

#define CS8900_Tacc0xE/*14clk access cycle*/

#define CS8900_Tcoh0x1/*1clk chip selection hold*/

#define CS8900_Tah0x4/*4clk address holding time*/

#define CS8900_Tacp0x6/*6clk page mode access cycle*/

#define CS8900_PMC0x0/*normal(1data)page mode configuration*/

#endif

/*===================================================================== =======*/

static inline void delay(unsigned long loops)

{

__asm__volatile("1:\n""subs%0,%1,#1\n"

"bne1b"

:"=r"(loops):"0"(loops));

}

/*

*Miscellaneous platform dependent initialisations

*/

/*=====================================更改部分==========================*/

#if0

static void cs8900_pre_init(void)

{

SROM_BW_REG&=~(0xf<<4);

SROM_BW_REG|=(1<<7)|(1<<6)|(1<<4);

SROM_BC1_REG=((CS8900_Tacs<<28)+(CS8900_Tcos<<24)+ (CS8900_Tacc<<16)+(CS8900_Tcoh<<12)+

(CS8900_Tah<<8)+(CS8900_Tacp<<4)+CS8900_PMC);

}

#endif

/*===================================================================== ==*/

int board_init(void)

{

DECLARE_GLOBAL_DATA_PTR;

/*=========================================更改部分===================*/ #if0

cs8900_pre_init();

#endif

/*NOR-flash in SROM0*/

/*Enable WAIT*/

SROM_BW_REG|=4|8|1;

gd->bd->bi_arch_number=MACH_TYPE;

gd->bd->bi_boot_params=PHYS_SDRAM_1+0x100;

return0;

}

int dram_init(void)

{

DECLARE_GLOBAL_DATA_PTR;

gd->bd->bi_dram[0].start=PHYS_SDRAM_1;

gd->bd->bi_dram[0].size=PHYS_SDRAM_1_SIZE;

return0;

}

#ifdef CONFIG_DISPLAY_BOARDINFO

int checkboard(void)

{

printf("Board:TINY6410\n");

return0;

}

#endif

#ifdef CONFIG_ENABLE_MMU

/*=====================================更改部分==========================*/

ulong virt_to_phy_tiny6410(ulong addr)

/*===================================================================== ==*/

{

if((0xc0000000<=addr)&&(addr<0xc8000000))

return addr-0xc0000000+0x50000000;

else

printf("do not support this address:%08lx\n",addr);

return addr;

}

#endif

/*=======================================更改部分=======================*/

#if0

ulong board_flash_get_legacy(ulong base,int banknum,flash_info_t*info)

{

if(banknum==0){/*non-CFI boot flash*/

info->portwidth=FLASH_CFI_16BIT;

info->chipwidth=FLASH_CFI_BY16;

info->interface=FLASH_CFI_X16;

return1;

}else

return0;

}

#endif

/*===================================================================== ==*/

/*=================================更改部分===============================*/

#ifdef CONFIG_CMD_NET

int board_eth_init(bd_t*bi)

{

int rc=0;

#if defined(CONFIG_DRIVER_DM9000)

rc=dm9000_initialize(bi);

#endif

return rc;

}

#endif

十:修改drivers/net/dm9000x.c

DM9000_ior(DM9000_MRCMDX);/*Dummy read*/

/*Get most updated data,

only look at bits0:1,See application notes DM9000*/

rxbyte=DM9000_inb(DM9000_DATA)&0x03;

/*========================================更改部分==========================*/

#if1

u8temp;

temp=DM9000_ior(DM9000_MRRH);

temp=DM9000_ior(DM9000_MRRL);

#endif

红色的为增加的

/*===================================================================== ========*/

/*Status check:this byte must be0or1*/

if(rxbyte>DM9000_PKT_RDY){

DM9000_iow(DM9000_RCR,0x00);/*Stop Device*/

DM9000_iow(DM9000_ISR,0x80);/*Stop INT request*/

printf("DM9000error:status check fail:0x%x\n",

rxbyte);

ZC301摄像头移植

摄像头驱动的移植(ZC3XX) 一、普通设计 第一:首先确保所用的FS2410开发板上移植的是Linux-2.6.22.6内核,USB 及CS8900A均能工作 第二:移植驱动gspcav1-20071224.tar.gz: ( 1 ) 在linux-2.6.22.6/drivers/usb 目录下新建media 目录,将gspcav1-20071224.tar.gz copy 到 media 下并解压。为了使media 编译进内核,需修改linux-2.6.22.6/drivers/usb 目录下的Kconfig、Makefile 文件。具体操作: [linux@weijing usb]$ vi Kconfig 添加下面语句: source "drivers/usb/media/Kconfig" [linux@weijing usb]$ vi Makefile 添加下面语句: obj-$(CONFIG_USB_SPCA5XX) += media/ ( 2 )为添加 gspcav1-20071224 编译选项,在 media 下新建 Kconfig、Makefile 文件。 [linux@weijing media]$ vi Kconfig # # USB Multimedia device configuration # comment "USB Multimedia devices" depends on USB config USB_SPCA5XX tristate "USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras" depends on USB && VIDEO_DEV ---help--- Say Y or M here is you want to use one of these wedcams: The built-in microphone is enabled by selecting USB Audio support.

奶牛胚胎移植技术

奶牛胚胎移植技术 上海交通大学农业与生物学院 朱淑文 一、概述 牛胚胎移植的商业化应用开始于七十年代初期。当时,必须通过手术方法才能采集胚胎,由于奶牛的乳房影响手术的顺利进行,手术后往往还会影响奶牛以后的繁殖性能,因此,胚胎移植主要在肉牛中应用。1976年,一些研究小组报道了应用导管高效采集胚胎的非手术方法。随后,胚胎移植在奶牛中的应用得到了飞速发展。1974年,第一头胚胎移植登记荷斯坦奶牛在美国出生。七十年代后期,胚胎移植(ET)登记荷斯坦奶牛的数量每年以100%以上的速度增长,1980年达到8298头年。进入80年代后,随着非手术采胚法和移植技术的改进以及胚胎冷冻保存技术的发展,每年(ET)登记奶牛的数量在稳步增长,至1990年达到18727头年。截止1991年,美国登记的胚胎移植荷斯坦奶牛总数量已达到142598头。目前,44%的荷斯坦优秀种公牛是由胚胎移植培育的。九十年代以来,胚胎移植在发达国家中的增长速度有所减缓,但是技术含量越来越高,例如体外受精胚胎生产技术、转基因技术以及克隆技术的应用和研究得到加强。近几年来,胚胎移植在亚洲和南美一些国家中增长速度很快。从整个世界范围来看,牛胚胎移植的增长速度仍然很快。 二、胚胎移植技术 (一)体内受精胚的移植 1 超数排卵 在常规胚胎移植技术中,获得大量可用胚胎的主要途径是超数排卵(简称超排),因此,高效率的超排技术是胚胎移植技术能否在生产中推广应用的关键。应用于奶牛的超排激素主要有PMSG(孕马血清促性腺激素)和FSH(促卵胞素)。PMSG尽管只需一次性注射,省时省力,但是半衰期过长,可以导致卵巢的过度刺激以及对排卵、受精和随后的胚胎发育产生不利的影响,因此现在一般已不采用PMSG对奶牛进行超排处理。目前广泛应用于母牛的超排激素是FSH。用于奶牛超排的商品FSH均是从屠宰家畜的脑垂体中提取的,脑垂体不但能够分泌

关于【野火】OV7725例程移植【OV7670】总结

关于OV7725程序移植OV7670总结 用了三天的时间,终于搞定了程序的移植。也是第一次移植stm32程序。 最终的移植成功版本,改了SCCB通信、FIFO读写时序、寄存器配置、引脚修改的一些地方。 一、移植过程中SCCB通信遇到的问题 1.由于野火的OV7725摄像头内置上拉电阻,所以在配置时SDA和SDL都被设置成了Mode_OD (开漏模式),但是战舰带的OV7670摄像头并没有内置上拉电阻,所以不能用开漏模式,否则不能正常输出高电平,SDA线也不会被主机拉高。 于是参考了战舰的例程。战舰对SCL线设置为了PP(推挽输出模式),SDA线的输出则需要切换。如下: 在战舰的例程上进行修改时,由于需要修改一些IO口,所以需要把这句改掉。我尝试用这样的手法修改: 发现并不可行。查询网络,原因可能是在运行中途修改管脚模式时,由于32的LCKK:锁密钥,并不能直接修改管脚工作模式。我们选择对底层寄存器进行操作。。

于是乎这样改: *注:SDA为PC7口。 2. 还有需要修改的地方就是:在需要读取SDA电平状态的时候,要用SCCB_SDA_IN 这个语句把替换掉SDA_H,而不是先SDA_H 然后再SCCB_SDA_IN 。否则不能正确读取到SDA线的电平。 3.最后一步,器件ID: 在这一段代码用到: 二、FIFO读数据时序的修改 1.由于每个人选择的数据口可能不同,有的是0-7位,有的是8-15位,所以我这里给出了两种不同的读取时序。 H_MY_READ_FIFO_PIXEL(YUV)是当数据位选择的是8-15位时候用的; L_MY_READ_FIFO_PIXEL(YUV)是当数据位选择的是0-7位时候用的。 *注:因为我要的二值化的图像,所以只读取了YUV 分量中的Y分量。

Tiny6410_Uboot移植步骤详解

Uboot_for_Tiny6410_移植步骤详解 一、设计要求 1.目的 1)掌握U-boot剪裁编写 2)掌握交叉编译环境的配置 3)掌握U-boot的移植 2.实现的功能 1)U-boot编译成功 2)移植U-boot,使系统支持从NAND FLASH启动 二、设计方案 1.硬件资源 1)ARM处理器:ARM11芯片(Samsung S3C6410A),基于ARM1176JZF-S核设 计,运行频率533Mhz,最高可达 667Mhz 2)存储器:128M DDR RAM,可升级至 256M;MLC NAND Flash(2GB) 3)其他资源:具有三LCD接口、4线电阻 触摸屏接口、100M标准网络接口、标准DB9 五线串口、Mini USB2.0接口、USB Host 1.1、3.5mm音频输入输出口、标准TV-OUT

接口、SD卡座、红外接收等常用接口;另外 还引出4路TTL串口,另1路TV-OUT、 SDIO2接口(可接SD WiFi)接口等;在板的 还有蜂鸣器、I2C-EEPROM、备份电池、A D 可调电阻、8个中断式按键等。 2.软件资源 1)arm-linux-gcc-4.5.1(交叉编译) 2)u-boot-2010.09.tar.gz arm-linux-gcc-4.5.1-v6-vfp-20101103.t gz 三、移植过程 1.环境搭建 1)建立交叉编译环境 2)去这2个网站随便下载都可以下载得到最 新或者你想要的u-boot。( https://www.sodocs.net/doc/0a6547533.html,/batch.viewl ink.php?itemid=1694 ftp://ftp.denx.de/pub/u-boot/ )

监控摄像机安装的详细流程教学提纲

监控摄像机安装的详 细流程

监控摄像机安装的详细流程与细节 监控摄像头的安装方法: 1) 在满足监视目标视场范围要求的条件下,其安装高度:室内离地不宜低于2.5m;室外离地不宜低于3.5m。 2) 监控摄像头及其配套装置,如镜头、防护罩、支架、雨刷等,安装应牢固,运转应灵活,应注意防破坏,并与周边环境相协调。 3) 在强电磁干扰环境下,监控摄像头安装应与地绝缘隔离。 4) 信号线和电源线应分别引入,外露部分用软管保护,并不影响云台的转动。 5) 电梯厢内的监控摄像头应安装在厢门上方的左或右侧,并能有效监视电梯厢内乘员面部特征。 云台、解码器安装: 1) 云台的安装应牢固,转动时无晃动。 2) 应根据产品技术条件和系统设计要求,检查云台的转动角度范围是否满足要求。 3) 解码器应安装在云台附近或吊顶内(但须留有检修孔)。 监控摄像头控制设备安装: 1) 控制台、机柜(架)安装位置应符合设计要求,安装应平稳牢固、便于操作维护。机柜架)背面、侧面离墙净距离应符合维修要求。 2)监控摄像头所有控制、显示、记录等终端设备的安装应平稳,便于操作。其中监视器(屏幕)应避免外来光直射,当不可避免时,应采取避

光措施。在控制台、机柜(架)内安装的设备应有通风散热措施,内部接插件与设备连接应牢*。 3) 控制室内所有线缆应根据设备安装位置设置电缆槽和进线孔,排列、捆扎整齐,编号,并有永久性标志。 监控工程施工常见问题 安防工程的专业施工及安装标准根据国家有关部门近年来颁发的安防设计、施工规范、规程和标准,在总结我公司几年来安防工程的设计和施工经验和基础上,结合安防科技发展的新技术、新产品的技术要求,本着服务社会、用户第一的宗旨,一、室内配线的技术室 安防工程的专业施工及安装标准 根据国家有关部门近年来颁发的安防设计、施工规范、规程和标准,在总结我公司几年来安防工程的设计和施工经验和基础上,结合安防科技发展的新技术、新产品的技术要求,本着服务社会、用户第一的宗旨, 一、室内配线的技术 室内配线不仅要求安全可*,而且要使线路布置合理、整齐,安装牢固。技术要求如下: 使用导线,其额定电压应大于线路的工作电压;导线的绝缘应符合线路的安装方式和敷设的环境条件。导线的截面积应能满足供电和机械强度的要求。 配线时应尽量避免导线有接头。除非用接头不可的,其接头必须采用压线或焊接。导线连接和分支处不应受机械力的作用。

胚胎移植操作规程

1 1 范围 本标准规定了绵羊的胚胎生产和移植的供体羊的选择和饲养管理、供体羊的超数排卵及人工授精、手术冲卵技术及胚胎质量鉴定、冻胚的解冻、受体羊的选择及饲养管理、胚胎手术移植技术和妊娠受体羊的饲养管理技术。 本标准适用于秦皇岛地区绵羊的胚胎生产和移植。 2 2 规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。 DB 1303/T 098-2000 羊的人工授精技术操作规程 3 3 供体羊的选择和饲养管理 3.1 3.1 供体羊的选择 a)a)体羊品种优良、生产性能好; b)b)传性稳定、谱系清楚; c)c)体质健壮。繁殖机能正常,无遗传和传染性疾病。年龄在2岁至7岁为宜; d)d)具有畜牧部门颁发的种畜禽鉴定合格证书。 3.2 3.2 供体羊的饲养管理 3.2.1 3.2.1 保持饲养环境稳定,饲养环境卫生、干燥、棚舍温度适宜。避免应激反应。 3.2.2 3.2.2 制定合理的供体羊日粮配方,保证正常的营养平衡。 3.2.3 3.2.3 满足供体羊清洁饮水的需要。 4 4 供体羊的超数排卵及人工授精 4.1 4.1 超数排卵 4.1.1 4.1.1 超数排卵的季节和发情周期:绵羊最适超数排卵季节为9月下旬至11月上旬。绵羊的发情周期在15d—17.5d。供体母羊在超数排卵前需观察1—2个完整的发情周期。 4.1.2 4.1.2 用于超数排卵的激素选择 FSH—P(垂体促滤泡素) LH—P(垂体促黄体生成素) ICI80996(氯前列烯醇) 4.1.3 4.1.3 激素剂量(注射总量/只) FSH—P剂量(肌注):120IU—160IU LH—P剂量:根据FSH的注射剂量,肌注100—120IU。 ICI80996:肌注0.08mg/次,注射两次/d。 4.1.4 4.1.4 超数排卵方法 FSH—P 3天注射法 以母羊发情之日作为发情周期的0d,在母羊发情周期的第13d或13.5d(周期大于17.5d的羊在第13.5d)开始,每天早:(6:00—7:00)和晚(18:00—19:00)各注射1次FSH,连续3天,递减注射。 FSH、LH用生理盐水稀释。 在第5、6次注射FSH—P时,同时肌肉注射ICI80996。 确定供体羊发情后立即注射LH。如果FSH—P未注射完供体羊已发情,停止注射FSH—P,立即注射LH。

UBoot移植详解

u-boot 移植步骤详解 1 U-Boot简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linux 系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年11 月PPCBOOT 改名为U-Boot后逐步扩充的。从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 选择U-Boot的理由: ①开放源码; ②支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ③支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale; ④较高的可靠性和稳定性; ④较高的可靠性和稳定性; ⑤高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等; ⑥丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等; ⑦较为丰富的开发调试文档与强大的网络技术支持; 2 U-Boot主要目录结构 - board 目标板相关文件,主要包含SDRAM、FLASH驱动; - common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测;

羊的胚胎移植.doc

羊的胚胎移植 一、胚胎移植概述 二、胚胎移植原理 三、胚胎移植技术程序 一、胚胎移植概述 1.胚胎移植的发展历史 2.胚胎生物技术的研究意义及其在畜牧生产中的应用 3.胚胎移植目前存在的问题 4.影响胚胎移植的主要因素 5.胚胎移植的经济效益 6.胚胎移植的发展前景 1.1国外胚胎移植发展史 George是世界上第一个提出动物胚胎移植的人。1890年4月,Walter Heape用兔作为实验动物,成功地获得了世界上第一个动物胚胎移植后代。Heape兔胚胎移植的成功,极大的影响着繁殖生物学和畜牧业的发展。1900年,Heape的杰出接班人FHA Marshall和John Hammond总结了他的主要工作内容,提出了哺乳动物性季节的概念,也就是现在所说的发情周期。1911-1913年,奥地利维也纳的Biedl 等进行了兔的胚胎移植实验,但由于战争,直到1922年才报道了其研究结果。虽然他们做了70多个实验,但由于把输卵管的胚胎移植到子宫,结果只有一只受体兔妊娠,这充分证明了胚胎和受体的同步性是非常重要的。1932年和1933年,Warwick,Berry和Horlache第

一次把胚胎移植技术用在绵羊和山羊上,Dr. Berry也因此成为了第一个国际胚胎移植协会先驱奖的获得者。1948年,张明觉用超数排卵技术从2只母兔获得88枚受精卵,给7只受体母兔移植,成功地产出76只小兔,这次试验的成功具有划时代的意义。1950年12月19日,33岁的美国人Elwyn Willed成功地获得了世界上第一头胚胎移植牛犊。60年代初,全部采用的是手术回收胚胎和移植,1964年Mutter 等和1965年Sugie相继报道了非手术移植胚胎获得成功。70年代中期,牛的非手术移植完全取代了手术移植. 1974年,成立了国际胚胎移植协会(IETS ),随后相继成立了美国胚胎移植协会、加拿大胚胎移植协会、欧洲胚胎移植协会 1.2 国内胚胎移植发展史 我国的胚胎移植研究起步较晚,于20世纪70年代初才开始。1973年首先在家兔上获得成功。1974年,中科院遗传所在绵羊胚胎移植上取得成功。1976年郭志勤、谭丽玲等在家兔胚胎和绵羊胚胎低温(100C)保持1天和10天后移植成功。手术法和非手术法牛胚胎移植在1978年和1980年也相继成功。1980年中国农业科学院畜牧所在绵羊胚胎超低温保存后移植产羔。20世纪80年代,胚胎移植进入了实验阶段,掀起了全国的研究高潮,20几个省近30个单位相继开展了胚胎移植研究工作。20世纪90年代初期,我国的胚胎移植工作逐渐进入了生产应用初始阶段。生产应用比较好的地区主要是内蒙古、新疆和黑龙江、北京 1.3 羊的胚胎移植发展历史

i.MX6UL -- Linux系统移植过程详解(最新的长期支持版本)

i.MX6UL -- Linux系统移植过程详解(最新的长期支持版本) ?开发平台:i.MX 6UL ?最新系统: u-boot2015.04 + Linux4.1.15_1.2.0 ?交叉编译工具:dchip-linaro-toolchain.tar.bz2 源码下载地址: U-Boot: (选择rel_imx_4.1.15_1.2.0_ga.tar.bz2) https://www.sodocs.net/doc/0a6547533.html,/git/cgit.cgi/imx/uboot-imx.git/ Kernel: (选择rel_imx_4.1.15_1.2.0_ga.tar.bz2) https://www.sodocs.net/doc/0a6547533.html,/git/cgit.cgi/imx/linux-2.6-imx.git/ 源码移植过程: 1、将linux内核及uBoot源码拷贝到Ubuntu12.04系统中的dchip_imx6ul目录下; 2、使用tar命令分别将uboot和kernel解压到dchip_imx6ul目录下; 3、解压后进入uboot目录下,新建文件make_dchip_imx6ul_uboot201504.sh,且文件内容如下: ################################################################### # Build U-Boot.2015.04 For D518--i.MX6UL By FRESXC # ################################################################### #!/bin/bash export ARCH=arm export CROSS_COMPILE=/dchip-linaro-toolchain/bin/arm-none-linux-gnueabi - make mrproper # means CLEAN make mx6ul_14x14_evk_defconfig make2>&1|tee built_dchip_imx6ul_uboot201504.out 4进入kernel目录下,新建文件make_dchip_imx6ul_linux4115120.sh,且文件内容如下: ###################################################################

摄像头是如何做出来的

看——摄像头是如何做出来的! 市场上一般主流的摄像头都在一百多元左右,基本上都归成外设耗材类产品。很多人去买摄像头的时候,都以为没有什么技术含量,没有什么工艺要求,买个鼠标键盘还要看看手感,买摄像头就不太在意了,所以造成很多生产摄像头的厂商大量制造品质低劣的产品,有无牌无厂的,有大品牌去找小厂OEM的,鱼龙混杂,这些摄像头“厂家”基本上有三个类型: 一、纯加工厂,这类厂家无开发能力,到市场上买一些外壳(俗称:模具),买已经设计好的公版PCB,就进行手工贴片和组装。专门接单,赚的是加工费,有时也随便贴个牌子,以低价或抛单的形式来渠道上出现。 二、品牌运营商和兼营商,这类商家具有很强的渠道推广的能力,品牌也有较好的知名度,摄像头产品主要是从纯加工厂里买来,也叫OEM。虽然有品牌,但外观长得都差不多一个样,产品同质化严重。 三、综合化厂家,拥有有从外观设计、电路开发、软件和驱动研发、生产、销售的综合企业,这类厂家在最所投入的精力最大,产品也较具特色,能较好的把握市场和消费者的需求,不断开发新的产品推向市场。 笔者近来就去一家综合化的摄像头开发生产厂家全程参观了J-CAM的全套生产过程。从外观设计,PCB电路板设计、精密模具设计制造、注塑成形、无尘车间喷油、电路板SMT高速贴片、插件、装配、检测、包装。

(接下来,介绍的就是此款摄像头的制造流程) 出色的摄像头不仅需要有出色的效果,同样,也要有吸引人的外观。成功的外观设计,需要出色的设计理念,但要把将这理念在具体实物体现出来,又需要精湛的工艺。 设计篇 一、外观设计 据天敏工业设计小组介绍,摄像头前期设计的工作也很复杂。 一个新的摄像头的诞生,最初由设计师的灵感而成,设计师首先用手画草图,将自己的的想法粗略地在纸上体现,画出简易的大体外观。 (天敏子弹头的设计草图) 在ID小组讨论后决定后,用Rhino犀牛工业造型软件先画几个三维的外观效果图,经讨论大致确认后,把这个粗略的外观图纸文件送去打版中心进行CNC三维雕刻打“手版”,然后对实体模型进行评审,然后会根据模型计师进行不断的修改,这个过程是要将摄像头的最后所要实现的外观确认。外观打样后,即进行结构论证和设计工作,一般使用“PRO-E”软件,结构设计。 在设计底座时,就打了很多个样版。设计师根据市场的调研,发现现大多数的摄像头的底座都

胚胎移植技术应用

《动物遗传育种与繁殖专论》 课程作业 胚胎移植技术在畜牧业中的应用 姓名: 学号:

胚胎移植技术在畜牧业中的应用 畜牧业发展水平占农业的比重是衡量一个国家和地区现代化水平的重要标志,近年来,畜牧业已成为我国农业发展的重心.胚胎移植技术也称受精卵移植技术,就是将良种母畜配种后的早期胚胎取出,移植到同种的生理状态相同的母畜体内,使之继续发育成为新个体,所以该项技术又被称为“借腹怀胎”。胚胎工程技术是胚胎移植技术发展到一定程度而出现的名词, 是由发育工程演变而来的。由于胚胎移植技术可最大限度的发挥优秀母畜在品种改良和育种中的作用,同时它又是体外受精、转基因、体细胞核移植等胚胎工程的基础性环节,因此,胚胎移植技术被誉为家畜繁殖技术的第二次革命。 胚胎工程技术根据其发展现状包括以下9类:胚胎移植技术;胚胎冷冻保存技术;胚胎分割技术;试管动物技术(体外受精技术);性别控制技术,即XY精子分离和胚胎性别鉴定技术;转基因动物技术;动物克隆技术(细胞核移植技术);胚胎干细胞技术;胚胎嵌合技术。目前, 前5种技术已在生产实践中得到不同程度的应用,但应用较多的是前2种技术, 其他几种技术由于设备投入成本较大、成功率较低, 尚处于实验室向生产转化阶段。 胚胎移植技术可使引进的种畜在较短时间内快速纯种繁殖,成为大群体,满足牛羊业迅猛发展的需要。同时,牛、羊业的快速发展和这种市场化发展的需求,使胚胎移植技术受到更多研究者和生产者的

高度重视,进而促进了胚胎移植技术快速发展和商业化。20世纪90年代后期,胚胎移植技术在畜牧生产中得到应用推广,同时胚胎移植技术又解决了畜牧业发展中的一些难点问题。 胚胎移植技术是继人工授精之后发展起来的繁殖高新技术, 目前已成为扩大优秀家畜遗传资源的主要手段, 有的称作MOET技术( 超数排卵与胚胎移植技术)。作为家畜育种的重要手段之一, 自20 世纪50年代初第一头胚胎移植牛在美国诞生以来, 胚胎移植技术飞速发展。据不完全统计, 全世界目前年产胚胎移植牛超过35万头, 美国、法国等发达国家每年参加后裔测定的青年公牛的80%来自胚胎移植所产的后代。20世纪80年代后期, 我国在生产中开始应用牛、羊胚胎移植技术, 近几年该技术在全国得到迅速发展。本实验室1990年奶牛新鲜胚移植妊娠率达62.2%, 达76%。在6省区规模化生产中, 绵羊和山羊的移植妊娠率在60%左右, 达76.8%。根据国际胚胎协会的统计, 20多年来,进行胚胎移植的动物数量和种类每年都在增加, 胚胎移植已经成为畜牧业中最活跃的产业。 胚胎移植技术在畜牧业发展中的作用主要体现在促进家畜的遗传改良,充分发挥优良母畜的繁殖潜力,提高繁殖效率.优良后代的增加,既取决于种公畜,也有赖于优良母畜。尤其是生产性能取决于父母双方,如果说人工授精技术的出现使公畜的繁殖潜力得到最大限度地发挥的话,那么胚移技术的出现可以使母畜的繁殖潜力得以充分发挥,从而有效促进家畜的遗传改良。更为重要的是,如果超数排卵时利用优良公畜冻精配种优良母畜(供体),然后利用采出的胚胎进行

uboot移植步骤介绍

uboot移植过程 1.修改Makefile 首先给要建立的S3C2410开发板取名为TE2410, 移植uboot时以smdk2410为模板, 修改Makefile #tar xvjf u-boot-1.1.3.tar.bz2 #cd u-boot-1.1.3 #vi Makefile scb9328_config : unconfig @./mkconfig $(@:_config=) arm arm920t scb9328 NULL imx smdk2400_config : unconfig @./mkconfig $(@:_config=) arm arm920t smdk2400 NULL s3c24x0 smdk2410_config : unconfig @./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0 SX1_config : unconfig @./mkconfig $(@:_config=) arm arm925t sx1 te2410_config : unconfig @./mkconfig $(@:_config=) arm arm920t te2410 NULL s3c24x0 蓝色字体是添加的内容。其中,te2410_config : unconfig意思是为TE2410建立一个编译项,@./mkconfig $(@:_config=) arm arm920t te2410 NULL s3c24x0中的arm表示CPU的架构是基于ARM体系结构的;arm920t表示CPU类型是arm920t;te2410是开发板的型号;NULL表示开发商或经销商的名称为空;s3c24x0表示是基于s3c24x0的片上系统。 2.在uboot的board目录下建立te2410开发板子目录 #cp –fr board/smdk2410 /board/te2410 #cd board/te2410 #mv smdk2410.c te2410.c 还要修改board/te2410/Makefile文件, OBJS := smdk2410.o flash.o -------- OBJS := te2410.o flash.o 3.在include/configs目录下建立te2410.h头文件 #cd include/configs #cp –fr smdk2410.h te2410.h 4.指定交叉编译器的路径 选择支持softfloatpoint的交叉编译器,在etc/bashrc文件中添加一行 export PATH=/home/newdisk/toolchain/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linu x-gnu/bin:$PATH 其中, /home/newdisk/toolchain/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu /bin是交叉编译器路径

肉牛胚胎移植技术

肉牛胚胎移植技术 胚胎移植又称受精卵移植,是将l头良种母畜(供体)配种后的早期胚胎取出,移植到另一头同种的生理状态相同的母畜(受体)的子宫内,使之继续发育成为个体,所以也叫人工授胎或“借腹怀胎”。 (一)胚胎移植的意义 1.充分发挥优良母畜的繁殖潜力,提高繁殖效率由于牛的胚胎移植可以利用非手术法反复从一头供体中收集胚胎,所以繁殖率得以更加提高。据报道国外已能做到从一头供体牛一年获得40~50头犊牛。 2.加速品种改良,扩大良种畜群利用超数排卵、胚胎移植技术能使母畜排出较多卵子,山东永丰牧业同时解除其妊娠胚胎的职能,这样一头良种母牛就可产生多量的后代。使一头优良母畜在育种工作中的意义大为提高。 3.诱发肉牛怀双胎,提高生产效率在肉牛业中,有一种由胚胎移植技术演化出来的所谓“诱发双胎”的方法,即向已配种的母畜(排卵的对侧子宫角)移植一个胚胎,这样配种后未受胎的母畜可能因接受移植的胚胎而妊娠,而已受精的母畜由于增加了一个外来胚胎而可能怀双胎o 4.代替种畜的引进,保存品种资源通过胚胎的运输代替以往的种牛进出Vl山东永丰牧业,大大节约了购买和运输种牛的费用。同时可用保存胚胎的方式解决牛品种资源保存的问题。 (二)胚胎移植的操作原则 1.胚胎移植前后所处环境的一致性即胚胎移植后的生活环境和胚胎的发育阶段相适应山东永丰牧业。包括生理上的一致性(即供体和受体在发情时问上的一致性)和解剖位上的一致性(即移植后的胚胎与移植前所处的空问环境的相似性)以及种属一致性(即供体与受体应属同一物种,https://www.sodocs.net/doc/0a6547533.html,但并不排除种间移植成功的可能性)。 2.胚胎收集期限胚胎收集和移植的期限(胚胎的日龄)不能超过周期黄体的寿命,最迟要在周期黄体退化之前数日进行移植。通常是在供体发情配种后3~8日内收集和移植胚胎。 3.在全部操作过程中,胚胎不应受到任何不良因素(物理的、化学的、微生物的)的影响而危及生命力。移植的胚胎必须经鉴定并认为是发育正常者。 (三)胚胎移植技术的基本程序胚胎移植的基本程序包括:供授体母牛的同期发情、供体母牛的超数排卵、供体母牛的配种、胚胎的收集、山东永丰牧业胚胎的检查、胚胎的保存和移植等程序。如图3—4所示。关于超排和同期发情处理在前面已有叙述,下面仅介绍其余部分。 1.供体母牛的配种经超数排卵的供体母牛,为了使排出的卵子有较多的受精机会,一般在发情后输精2~3次,每次间隔8~12 h。 2.胚胎的收集 从供体母牛收集胚胎的方法,可采用手术法和非手术法两种。手术法是按外科剖腹术的要求进行山东永丰牧业,手术部位在右肋部或腹下乳房至脐部之问的白线切开。 https://www.sodocs.net/doc/0a6547533.html,伸进手指找到输卵管和子宫角,引出供。母体十畜同期发情处理受体母畜 辛辛辛辛

手机摄像头模组生产工艺的SMT流程及SMT应用分析(1).

手机摄像头模组生产工艺的SMT流程及SMT应用分析 摘要 随着通信技术的不断扩延,手机已成为人们生活、工作、学习、娱乐不可或缺的工具。而手机摄像头模组是手机中非常重要的组件之一,其品质的好坏直接影响手机整体品质的高低。因此在手机摄像头模组生产的过程中每一步都是要严格把关的,不能有丝毫的懈怠。在手机摄像头模组中,FPC软电路板是决定手机照相生成图片的关键组件之一,因此它的生产工艺及质量好坏显得尤为重要。 基于此,首先简单介绍了手机摄像头模组原理以及SMT技术在手机摄像头模组生产工艺中的应用,着重阐述了手机摄像头模组FPC软电路板的改良设计和SMT生产工艺流程及产品质量分析。根据手机摄像头模组FPC软电路板的具体要求,合理进行SMT技术指标优化,分析研究了手机摄像头模组再流焊SMT焊接温度分布曲线。针对FPC软电路板产品设置了AIO(automatic optical inspection)检测及ICT在线测试方法。 关键字:手机摄像头模组 SMT AIO检测 ICT在线测试

Mobile phone camera module production technology of SMT processes and SMT application ABSTRACT Summary as communication technologies continues expansion, mobile phone has become the people's life, work, learn, play an indispensable tool. Mobile phone camera module is one of the very important components in the mobile phone, its quality directly affect the overall level of quality phones. In the mobile phone camera module production at every step in the process is to strictly, there can be no slack. Mobile phone camera module in the FPC flexible circuit board is to determine the key components of the camera phone picture, therefore its production process and the quality is particularly important. Based on this, the first simply introduced the mobile phone camera module principle and SMT technology and its application in mobile phone camera module production, focusing on mobile phone camera module is described FPC flexible circuit board design and analysis of SMT production process and product quality. According to mobile phone camera module FPC flexible circuit board requirements, reasonable SMT technical specifications, analysis of mobile phone camera module for reflow SMT soldering temperature distribution curves.FPC flexible circuit board set AIO products (automatic optical inspection) test online test methods and ICT. Keyword: mobile phone camera module;SMT;AIO ICT;on-line test

肉种羊胚胎移植扩繁养殖基地建设项目可行性研究报告

2000只肉用种羊胚胎移植扩繁养殖基地扩建可行性研究报告 此文档word版本下载后可任意编辑修改

目录 第一章总论 (3) 第二章项目建设的意义及必要性 (11) 第三章项目选址及建设条件 (15) 第四章建设方案 (18) 第五章环境保护及节能减排措施 (24) 第六章项目投资估算与资金来源 (26) 第七章效益分析 (28)

第一章总论 1.1 项目单位基本情况 1.1.1 概况 项目实施主体:某某市某某生物工程有限责任公司 项目服务对象:全市及周边旗县的农牧民 发展历程:某某生物工程有限责任公司,始建于2003年,公司占地16亩,建筑面积2000㎡,饲草料基地200亩。公司设董事会、理事会、监事会,下设技术服务部,经营服务部,综合管理部,是某某市第一家畜牧业产业化民营企业。内设人工采精、授精,胚胎移植、兽医防疫等多功能配套设施。公司现有员工50人,高级职称2人,中级职称4人;其中:经济师、会计师各1人。同年申请办理了相关手续证书。是我区仅有的几个手续完备,技术专业,较具规模的良种羊扩繁基地之一。原自治区党委书记储波、原政府主席杨晶,盟市各级领导曾多次到我公司视察、调研、指导工作。对我公司所取得的成绩给予充分的肯定。 公司初创时,聘请国家级胚胎移植专家张立博士为技术总顾问,同内蒙古家畜改良站、内蒙古大学、内蒙古农业大学等院校、研究机构建立了稳定的技术合作关系。引进了“多赛特、特克赛尔、萨福克”种公羊4只,种母羊16只,受体羊100只。利用“胚胎移植技术”实现良种羊的迅速扩繁。目前,公司拥有种公羊120只,种母羊508只,受体羊1000多只。几年来,累计扩繁种公羊800多只。全部投放到某某市各乡镇和周边旗县,开创了农民“以养促种,以

usb摄像头驱动移植第一步总结

Kernel version :2.6.22.6 Crosstool :arm-softfloat-linux-gnu-gcc-3.4.5 Board :FS2410 System :ubuntu 8.10 Source :spcaview-20061208.tar.gz SDL-1.2.13.rar servfox-R1_1_3.rar gspcav1-20071224.tar.gz 整理:LXP 一、移植gspcav1-20071224 FS2410开发板上移植的是Linux-2.6.22.6内核,USB及CS8900A均能工作,由于linux-2.6.22.6/drivers/usb 目录下没有media 目录,故移植步骤如下: [linux@farsight usb]$ pwd /work/kernel/linux-2.6.22.6/drivers/usb [linux@farsight usb]$ vi Kconfig 添加 source "drivers/usb/media/Kconfig" [linux@weijing usb]$ vi Makefile 添加 obj-$(CONFIG_USB_SPCA5XX) += media/ [linux@weijing media]$ pwd /work/kernel/linux-2.6.22.6/drivers/usb/media [linux@weijing media]$ vi Kconfig # # USB Multimedia device configuration # comment "USB Multimedia devices" depends on USB config USB_SPCA5XX tristate "USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras" depends on USB && VIDEO_DEV [linux@weijing media]$ vi Makefile # # Makefile for USB Media drivers #

uboot移植实验

一、移植环境 ?主机:UBUNTU ?开发板:飞凌2440 ?编译器:arm-linux-gcc-4.3.2.tgz ?u-boot:u-boot-2009.03.tar.bz2

3)修改u-boot根目录下的Makefile文件。查找到smdk2410_config的地方,在他下面按照smdk2410_config的格式建立mini2440_config的编译选项,另外还要指定交叉编译器 4)测试编译新建的mini2440开发板项目

到此为止,u-boot对自己的mini2440开发板还没有任何用处,以上的移植只是搭建了一个mini2440开发板u-boot的框架,要使其功能实现,还要根据mini2440开发板的具体资源情况来对u-boot源码进行修改。 3. 根据u-boot启动流程图的步骤来分析或者修改添加u-boot源码,使之适合mini2440开发板(注:修改或添加的地方都用红色表示)。 1)mini2440开发板u-boot的stage1入口点分析。 一般在嵌入式系统软件开发中,在所有源码文件编译完成之后,链接器要读取一个链接分配文件,在该文件中定义了程序的入口点,代码段、数据段等分配情况等。那么我们的my2440开发板u-boot的这个链接文件就是cpu/arm920t/u-boot.lds,打开该文件部分代码如下:

知道了程序的入口点是_start,那么我们就打开mini2440开发板u-boot第一个要运行的程序cpu/arm920t/start.S(即u-boot的stage1部分),查找到_start的位置如下: 从这个汇编代码可以看到程序又跳转到start_code处开始执行,那么再查找到start_code 处的代码如下:

usb摄像头驱动的移植并在网页上查看视频信息

【usb摄像头驱动的移植】 常见的usb摄像头有两种格式:YUV,GSPCA 格式 YUV格式:不经压缩的视频GSPCA格式:视频经过了压缩 1.如果摄像头是YUV格式: 通用的移植步骤是: make menuconfig Device Drivers ---> <*> Multimedia support ---> [*] Cameras/video grabbers support [*] Media USB Adapters ---> < *> USB Video Class (UVC) (NEW) 2.视频通过一张一张图片连续播放得到视频信息,每秒播放24帧图像会得到视频信息 3.添加摄像头驱动(GSPCA) 1.将摄像头插入到pc电脑,让pc电脑去识别摄像头。 将得到的详细的硬件信息是: V(vendor)ID: 0AC8 PID:303B 2.在内核的源码中搜索VID或者PID. grep "303b" * ./* -nR 搜索结果:drivers/media/usb/gspca/zc3xx.c:6986: {USB_DEVICE(0x0ac8, 0x303b)}, 425 config USB_GSPCA_ZC3XX 426 tristate "ZC3XX USB Camera Driver" 427 depends on VIDEO_V4L2 && USB_GSPCA 说明要添加USB_GSPCA_ZC3XX VIDEO_V4L2 USB_GSPCA 3.在菜单中用/ 搜索USB_GSPCA 搜索结果:Symbol: USB_GSPCA [=n] │ │Type : tristate │Prompt: GSPCA based webcams │Location: │-> Device Drivers │(1) -> Multimedia support (MEDIA_SUPPORT [=n]) │-> Media USB Adapters (MEDIA_USB_SUPPORT [=n]) │Defined at drivers/media/usb/gspca/Kconfig:1 │Depends on: USB [=y] && MEDIA_SUPPORT [=n] && MEDIA_USB_SUPPORT [=n] 4.根据搜索结果找到对应的驱动在菜单中选中添加: make menuconfig -> Device Drivers │

相关主题