搜档网
当前位置:搜档网 › DM6446-linux-2.6.18移植

DM6446-linux-2.6.18移植

DM6446-linux-2.6.18移植
DM6446-linux-2.6.18移植

Davinci DM6446开发攻略——linux-2.6.18移植

TI DAVINCI 使用最新的内核是montavista linux-2.6.18,之前说过,国内很多公司,包括开发板的软件包,一直在使用montavista linux-2.6.10,这个版本准确来说是比较低的,实时性肯定没2.6.18好(MontaVista Linux

Professional Edition 5.0以linux-2.6.18为基础,打破了Linux不适用于实时和嵌入式应用的迷思);使用devfs,没有使用udev;对DM365等新出的DAVINCI 芯片支持限度很小;ucLibc支持(减少75%应用程序资源需求);IPv6(增加更多Internet Protocol version 6 (IPv6)支持,提供比旧版产品更优异的效能、安全和管理功能);等等,这些优点不得不让人心动。

第一步:简化linux-2.6.18

如果你已经安装好TI mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin,先在你的工作目录下建立linux-2.6.18_pro500的目录,进入改目录,比如

/home/\ dm6446/linux-2.6.18_pro500/,COPY内核源代码到本目录下,命令如下:

cp –r

/opt/mv_pro_5.0.0/montavista\pro/devkit/lsp/ti-davinci/linux-2.6.18_

pro500/* .

(注意”*” ”.”之间的空格)

和UBOOT移植一样,我们先把一些不相关的平台给删除掉,进入arch目录,保留arm目录,其他全部删除掉。

进入linux-2.6.18_pro500/arch/arm/,保留boot,common,configs,kernel,lib,mach-davinci,mm,nwfpe,oprofile,plat-mxc,plat-omap,tools,vfp 和其他4个文件Kconfig,Makefile, Kconfig-nommu, Kconfig.debug,其他有关mach-xxxx的全部删除掉。

删除include下不相关平台的文件夹:asm-alpha,asm-arm26,asm-cris,asm-frv,asm-h8300,asm-i386,asm-ia64,asm-m32r,asm-m68k,asm-m68knommu,asm-mips,asm-parisc,asm-powerpc,asm-ppc,asm-ppc64,asm-s390,asm-sh,asm-sh64,asm-sparc,asm-sparc64,asm-um,asm-v850,asm-x86_64,asm-xtensa 全部删除掉,其他就不用删了,否则出问题。

第二步:建立交叉编译环境

进行下面工作之前,确保你的GCC已经按《DAVINCI DM6446开发攻略——环境搭建篇》建立好。

1、顶层Makefile修改:

在172行,即# make CROSS_COMPILE=ia64-linux-下面,加入:

ARCH = arm

CROSS_COMPILE = arm_v5t_le-

把下面:ARCH := $(shell if [ -f .mvl_target_cpu ]; then \

cat .mvl_target_cpu; \

else \

echo $(SUBARCH); \

fi)

CROSS_COMPILE = $(shell if [ -f .mvl_cross_compile ]; then \

cat .mvl_cross_compile; \

fi)

全部注释掉;

2、COPY UBOOT 的mkimage工具

从编译好的UBOOT里tool目录下的mkimage工具COPY到linux-2.6.18_pro500目录以下,

3、添加mkzImage.sh

使用vi生成mkzImage.sh,把以下内容加入文件:

#!/bin/sh

./mkimage -n 'linux-2.6.18' -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008040 -d zImage davinci_kernel.bin

chmod 777 davinci_kernel.bin

cp -f davinci_kernel.bin /tftpboot

保存在linux-2.6.18_pro500/目录下,配合mkimage,方便把zImage转换成davinci_kernel.bin,这样UBOOT才能把linux kernel给BOOT起来;

4、修改arch/arm/boot/Makefile:

在57行下面加入:

@cp -f arch/arm/boot/zImage zImage

这样每次编译zImage,生成的zImage可以自动COPY到linux-2.6.18_pro500目录下。

5、修改fs/hostfs/Makefile

因为删除um和asm-um,当使用make distclean操作的时候会出现问题,所以把:

include arch/um/scripts/Makefile.rules注释掉。

6、修改arch/arm/Kconfig

因为删除其他不相关的平台的文件夹,所以Kconfig也把这些平台给注释掉:从135行开始一直到343行

#config ARCH_AAEC2000

# bool "Agilent AAEC-2000 based"

# select ARM_AMBA

# help

# This enables support for systems based on the Agilent AAEC-2000 。。。。。。。。。。。。。。。。。。。

#config ARCH_OMAP

# bool "TI OMAP"

# help

# Support for TI's OMAP platform (OMAP1 and OMAP2).

以上全部注释掉。

从第355行开始到399行,全部注释掉:

#source "arch/arm/mach-clps711x/Kconfig"

#source "arch/arm/mach-ep93xx/Kconfig"

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#source "arch/arm/mach-netx/Kconfig"

第三步:内核移植裁减

1、在linux-2.6.18_pro500目录下,使用以下命令开始配置内核:

cp arch/arm/configs/ davinci_dm644x_defconfig .config

make menuconfig

进入熟悉的kernel配置界面:

2、去掉ATA DRIVER

由于本人的开发板没有NOR FLASH,也没有ATA硬盘之类的东西,这一点和TI EVM 板不一样,所以我们先把设备驱动里的ATA选项去掉。

然后保存配置退出,使用

Make zImage

编译完后,运行./mkzImage.sh,可以COPY生成的bin文件到/tftpboot目录下,参照上篇有关uboot的帖子,使板子把uboot运行起来,使用进入UBOOT命令行:U-Boot >tftp 80008000 davinci_kernel.bin

U-Boot >bootm 80008000

之后可以在串口终端看到内核的运行信息。

3、修改arch/arm/mach-davinc/board-evm.c

有关dm644x的平台信息就在board-evm.c里,包括nand flash 分区配置,管脚复用配置,psc初始化等等。

在74行,把有关nor flash的代码全部注释掉,在

static struct platform_device *davinci_evm_devices[] __initdata = { &serial_device,

#if defined(CONFIG_MTD) || defined(CONFIG_MTD_MODULE)

//&davinci_evm_flash_device,

#endif

#if defined(CONFIG_MTD_NAND_DAVINCI) ||

defined(CONFIG_MTD_NAND_DAVINCI_MODULE)

&davinci_nand_device,

#endif

&rtc_dev,

&davinci_fb_device,

#if defined(CONFIG_BLK_DEV_PALMCHIP_BK3710) || \

defined(CONFIG_BLK_DEV_PALMCHIP_BK3710_MODULE)

&davinci_ide_device,

#endif

#if defined(CONFIG_MMC_DAVINCI) || defined(CONFIG_MMC_DAVINCI_MODULE) &mmc0_device,

#endif

};

把nor flash的设备驱动注释掉;

对nand flash进行分区,这个要和UBOOT烧写UBOOT KERNEL ROOTFS等烧写的地址一一对应;

static struct mtd_partition davinci_nand_partitions[] = {

/* bootloader (U-Boot, etc) in first sector */ /*Mtdblock0*/

{

.name = "bootloader",

.offset = 0,

.size = SZ_1M+SZ_512K,

.mask_flags = 0, /* force read-only */

},

/* bootloader params in the next sector */ /*Mtdblock1*/

{

.name = "dspcore",

.offset = SZ_1M+SZ_512K,

.size = (SZ_8M-SZ_2M-SZ_512K),

.mask_flags = 0, /* force read-only */

},

(这里注明一下:mtdblock1源代码被定义为128K参数,但是在UBOOT里,我们把参数放在0x0000开始的地址,这里可以保留该分区,也可以不要。本人定义成DSP BIN文件存放的地方,有种调试方式可以不用KERNEL就可以在UBOOT把DSP BOOT起来,双核并行运行嘛。这个分区在本人这里是拿来测试DSP程序,一般不建议使用UBOOT方式把DSP给BOOT起来。这个DSP BIN就是通过HEX64工具生成的,这和DM642、DM6437的BIN文件完全一样。具体说,把DSP程序运行起来常用有四种方法,一是硬件BOOT方式选择DSP BOOT,二是通过UBOOT把BIN启动起来,三是通过内核把BIN启动起来,四是DSP SERVER方式,即*.x64P,就是最常用的Codec Engine机制。第三种方式也有很多公司在用,然后通过共享内存方式、中断等实现双核通信。)

/* kernel */ /*Mtdblock2*/

{

.name = "kernel",

.offset = (SZ_8M-SZ_1M),

.size = SZ_4M+SZ_1M,

.mask_flags = 0,

},

/* file system */ /*Mtdblock3*/

{

.name = "rootfs",

.offset = (SZ_8M+SZ_4M),

.size = SZ_64M,

.mask_flags = 0,

},

/* data */ /*Mtdblock4*/ 这个可以保存一些备份数据,一可以不用定义{

.name = "data",

.offset = (SZ_64M+SZ_8M+SZ_4M),

.size = (SZ_128M-(SZ_64M+SZ_8M+SZ_4M)),

.mask_flags = MTD_WRITEABLE,

}

};

以上是NAND 分区信息,针对各自板子不同大小的NAND FLASH,合理分配空间。#if 1

static struct platform_device rtc_dev = {

.name = "pcf8563",

.id = -1,

};

#else

static struct platform_device rtc_dev = {

.name = "rtc_davinci_evm",

.id = -1,

};

#endif

以上的代码修改,表示板子采用pcf8563 时钟芯片作为RTC设备,本人的板子不采用TI-EVM的电路,所以要修改这里,同时在drivers/rtc目录下,修改

rtc-pcf8563.c的一个BUG,就是:

static unsigned short normal_i2c[] = { 0x51, I2C_CLIENT_END };

一定要加0x51地址,否则内核运行时,无法注册pcf8563的驱动,会出现RTC 错误信息,很多网友都碰都过这个问题。改完后,make menuconfig要选上pcf8563的驱动。

在static void dm644x_setup_pinmux(unsigned int id)里,把有关FPGA接口的管脚复用功能去掉,因为很多中低端DM6446产品都没有接FPGA芯片。这样我们可以把这些引脚定义成SPI核UART接口。

#if 0

case DAVINCI_LPSC_VLYNQ:

davinci_cfg_reg(DM644X_VLINQEN);

davinci_cfg_reg(DM644X_VLINQWD);

break;

#endif

同时在arch/arm/mach-davinci/mux_cfg.c里

struct pin_config __initdata_or_module davinci_dm644x_pins[] = {

/*

* description mux mode mode mux dbg

* reg offset mask mode

*/

#if 1 //ATA功能不用

MUX_CFG("HDIREN", 0, 16, 1, 0, 1)

MUX_CFG("ATAEN", 0, 17, 1, 0, 1)

#else

MUX_CFG("HDIREN", 0, 16, 1, 1, 1)

MUX_CFG("ATAEN", 0, 17, 1, 1, 1)

#endif

MUX_CFG("MSTK", 1, 9, 1, 0, 0)

MUX_CFG("I2C", 1, 7, 1, 1, 0)

MUX_CFG("MCBSP", 1, 10, 1, 1, 0)

MUX_CFG("PWM0", 1, 4, 1, 1, 0)

MUX_CFG("PWM1", 1, 5, 1, 1, 0)

MUX_CFG("PWM2", 1, 6, 1, 1, 0)

#if 0

MUX_CFG("VLINQEN", 0, 15, 1, 1, 0)

MUX_CFG("VLINQWD", 0, 12, 3, 3, 0)

#endif

MUX_CFG("EMACEN", 0, 31, 1, 1, 1)

MUX_CFG("GPIO3V", 0, 31, 1, 0, 1)

MUX_CFG("GPIO0", 0, 24, 1, 0, 1)

MUX_CFG("GPIO3", 0, 25, 1, 0, 0)

MUX_CFG("GPIO43_44", 1, 7, 1, 0, 0)

MUX_CFG("GPIO46_47", 0, 22, 1, 0, 1)

MUX_CFG("RGB666", 0, 22, 1, 1, 1)

/*MUX_CFG("RGB888", 0, 23, 1, 1, 1)*/ /* for vpbe rgb888*/

MUX_CFG("LOEEN", 0, 24, 1, 1, 1)

MUX_CFG("LFLDEN", 0, 25, 1, 1, 0)

};

4、内核进一步配置

对内核进一步配置之前,如果对linux-2.6.18很陌生,这里给出一个链接:https://www.sodocs.net/doc/3014750801.html,/u2/71415/showart_1018029.html

一个网友对“Linux 2.6.19.x 内核编译配置“进行详细的描述,不妨

去看一下。

使用cp arch/arm/configs/ davinci_dm644x_defconfig .config

make menuconfig

进入内核配置界面,在这里,本人只对要修改的地方进行分析,其他设置,保留davinci_dm644x_defconfig。上面已经介绍有关去掉ATA和TI-EVM RTC设备,接着我们对文件系统进行裁减,如下图。图下半部没有显示,保留

davinci_dm644x_defconfig就可以了,一般不要修改。NFS文件系统的配置也用默认的,直接编译就可以了。

其他功能和驱动,建议保留默认配置。对于自己板子新的设备(和TI-EVM板差别很大),则要做更复杂的移植工作,包括相应目录的makefile和Kconfig文件的修改等,这里不再累赘。

第四步:保存备份修改后的配置

内核移植配置,一定要养成备份配置文件的良好习惯,一步一个脚印,防止做重复工作。幸好davinci_dm644x_defconfig给大家提供一个很好的参考,否则更加麻烦。直接从内核网站下载最新内核来移植,那是非常大的挑战,不是一般人为的。Linux-2.6.18也许有很多设备没有支持,但在较新的linux内核上有,这也可以把新的驱动移植下来,这个工作量也不小,当然也有简单的patch,那是后话。

按照上篇UBOOT的介绍,设置好参数,比如使用NFS:

mem=120M console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.251:/home//nfs/tirootfs,nolock 测试内核和NFS文件系统。

以上工作已经通过本人的板子验证,有不足的地方,大家可以博客留言共同讨论。

试管移植前后注意事项

试管婴儿移植前后注意事项大全 试管婴儿移植后应该注意什么 做试管婴儿植入胚胎之后要不要平躺其实要看每个医师、每个医院、每个国家的习惯性,做试管婴儿的成功或失败不会因为你做完胚胎植入有没有平躺而影响成功率,影响试管婴儿成功率的还是有三大要件: (1)胚胎的质量 (2)子宫内膜细胞的准备 (3)胚胎植入手术的顺利,植入胚胎的手术之后像英国、德国,让病人在医院躺30分钟就叫病人回家,甚至还开车回家,在台湾地区有的医院让病人躺2个钟头、4个钟头、6个钟头不等,但是躺多久其实都不影响试管婴儿的成功率,当然胚胎植入之后,病人难免患得患失,因此以下是我们对于胚胎植入之后的几项建议: (1)如果能卧床休息尽量卧床休息 (2)尽量不要搬重物 (3)不要太劳累 (4)多休息、睡眠充份 (5)抱着平常心不要患得患失 (6)如果有不正常的腹痛、腹胀、阴道出血要立即与医疗院所联络,以便立即做安胎的处理。因此植入胚胎完之后需不需要平躺或请假休息,这由妳自行决定,因为这些处置不会影响试管婴儿的成功率,但如果只要有时间请你尽量多休息,而一些食物提醒您的是最好不要吃如:烟、酒、咖啡、茶叶、薏芢、香蕉、木瓜,这些是公认对胚胎有萎缩作用的。 移植前每天: 宫冷偏寒不着床的偏方,是在经期吃的:10粒枣加两勺红糖煮开以后再煮10分钟,然后再加20克生姜片加盖盖严煮5分钟,喝汤吃枣,经期每天都吃,一天两次。吃完第一次就见效果,不仅痛经好转且经色改观。 1.月经干净后泡脚,水要没过小腿, 30分钟,泡到出汗为好,直到移植前一晚,高温期没有泡脚。我觉得这招肯定对身体有帮助,因为加速了全身血液循环。 2.月经干净后早晚吃阿胶,养血,直到移植前。还吃了一些中成药,这里不再细说,因为各人情况不同,不能乱说,移植后就停了。 3. 每天喝豆浆和牛奶,吃4-5粒红枣并喝红枣汤。 4、坚持锻炼身体,跑步跳绳散步,放松心情。 5、促排期间不能熬夜,熬夜不利于卵泡和内膜的生长,早睡早起.适当的运动是可以的,不能过量 试管婴儿移植前后应注意哪些(生活和吃) 一、取卵前: 1、开始进入周期打针开始,多吃蛋白质高的食物卵泡会长的好如:牛奶、黄豆、鱼、虾、蛋类;牛、羊、猪、狗肉。

嵌入式系统移植+心得

嵌入式系统作为近年来新兴的且发展很快的学科,它的应用越来越受到广大技术人员的重视。尤其起可移植性,显著的区别了通用操作系统。一款嵌入式操作系统通常运行在不同体系结构的处理器和开发板上,极大的方便了开发者开发与应用,节约了成本。 嵌入式操作系统作为移植支持嵌入式系统应用的操作系统软件,被广泛的运用于不同应用领域。纵观嵌入式系统40多年的历史,从无操作系统的嵌入式算法阶段到简单监控式的实时操作系统,一步又一步的到现在的以Internet为标志的嵌入式系统,一批又一批的先辈为其努力而奋斗。科技的革新,带动着社会的发展,人类的进步。大数据的时代必定属于我IT 人。以下我们聊一聊嵌入式系统及其移植性。 嵌入式操作系统大体分为商用型和免费型。 商用型主要是WindowsCE。Psos.os-9.qnx等其价格较为昂贵,开发成本高,广泛运用于通信。军事。航天等高端技术领域 免费型主要为Linux等主要运用于没有存储器管理单元的处理器而设置。 嵌入式基本操作共四步 主机和目标机的连接方式; UARA最经典90%的板子上,都支持的方式叫异部串行接口,也就是我们所说的串口。 USB串行接口 TCP/IP网络接口 Debug Jtag调试接口 补充说明 1.对于串口,通常用的有串口调试助手,putty工具等,工具很多,功能都差不多,会用一两款就可以; 2.对于USB线,当然必须要有USB的驱动才可以,一般芯片公司会提供,比如对于三星的芯片,USB下载主要由DNW软件来完成; 3.对于网线,则必须要有网络协议支持才可以 安装交叉编译器 方法一:分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。如果只是想使用交叉工具链,建议使用下列的方法二构建交叉工具链。 方法二:通过Crosstool-ng脚本工具来实现一次编译,生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。 方法三:直接通过网上下载已经制作好的交叉编译工具链。该方法的优点不用多说,当然是简单省事,但与此同时该方法有一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的,没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同时也许会在使用时出现许多莫名其妙的错误 搭建主机

将驱动移植到64位Windows操作系统

将驱动移植到64位Windows操作系统 x64位操作系统和x32位操作系统的最大区别就是内存寻址方式的不同。而64位操作系统不支持32位的驱动程序,因为驱动程序和windows内核同处于一个地址空间中。这是移植32位驱动到64位驱动的最大原因。当然,64位驱动程序可以使用更大的分页内存,非分页内存及系统缓存。而且,你的设备从此就支持64位windows操作系统了。 1.在X64下的驱动程序安装 除了要把应用程序的32位驱动程序变成64位程序之外,驱动的安装程序和其它配置文件同样需要修改。也就是说,对于要在x64上运行的32位程序,它所依赖的驱动仍然需要是64位的。这些相关程序包括inf文件,device installers, class installers和co-installers。相关资料可查看MSDN Libarary DDK:Porting Your Driver to 64-Bit Windows。 所以,要改造应用程序的安装程序。方法是,让32位版的驱动安装为缺省安装选项,即用户插入安装光盘之后,依然运行32位安装程序。但当程序调用UpdateDriverForPlugAndPlayDevices返回值为ERROR_IN_WOW64时,这说明该安装程序正运行在64位Windows环境中。此时,这个安装程序应该调用CreateProcess函数来启动64位的安装进程。这个64位的安装进程通过调用64位驱动目录下的inf文件进行驱动安装。 2.驱动要支持32位IOCTL 某些IOCTL可能包含含有指针的结构,所以,要特别小心的区别对待它,必须根据被调用者解析结构或者输出结构。 有三种办法可以解决这个问题: 1.尽量避免使用IOCTL传递包含有指针的结构; 2.通过API IoIs32bitProcess()来判断上层调用者的程序类型; 3.在64位程序中采用新的IOCTL命令; 例子: IOCTL structure in header file typedef struct _IOCTL_PARAMETERS {

试管婴儿冻胚移植成功全过程

以下文章来自:童梦无忧论坛;不孕不育试管婴儿患者所写,情况属实,未经版权允许请勿转载;如有试管婴儿专业知识不明,请进童梦无忧论坛!一个不孕不育试管婴儿患者交流的平台! 艰难的试管婴儿过程最终取得成功 我今年30周岁结婚2年体形偏胖,今年3月份做输卵管造影发现双侧都堵了,虽然这些年也隐约感觉自己可能妇科不太好但是从没有想过会不孕,出了手术室就开始止不住的哭,在家昏天暗地的哭了很多次。中间也纠结徘徊在通水还是手术或者试管,每次去医院回来都是大哭一场,感谢我的老公一直很贴心,给我支持让我能够一直顺利的走到现在。后来经过几家医院的对比还有医生的建议就放弃了保守治疗,第一我年纪不小了害怕在蹉跎几年回头做试管的时候延误了最好的年纪。第二不管什么治疗都是有创的,对身体也有伤害。不如直接试管还有一个好的卵巢和子宫环境。 4月就开始了一系列的检查,因为不知道流程,第一次去只检查了一些常规项目,等到月经第二天的时候又去检查了内分泌。然后隔几天又去观察卵泡。我老公也检查了身体,精子成活率59%,还算不错一切都很顺利。 5月正式进周,开了14天的达菲琳降调,在此期间加入试管群,浏览试管贴吧,通过各种渠道尽可能的多了解这个原来对我如此陌生的名字。自己在家打针,开始的时候很不顺利,我是打针不

敢看针头的选手,这次要自己在家打针手都是发抖的。因为紧张也是因为怕疼第一针只打进了表皮,肚子被我打起来一个小包。我紧张的不行马上给医生打电话医生说下次打针的时候捏起来肚皮一点在打深一点就行了。我在家把空瓶子里打进水用针管反复练习抽药,最后可以把瓶子里的药抽到一点不剩的时候在把面巾纸叠起来用针头打进去找感觉,第二天的时候就好多了,但是我拿药的时候不小心打碎了一瓶粉,这个心疼啊,一百多块呀。但是功夫不负有心人,通过几天的练习,我自己打的针不浪费药而且一点不疼,还学会了把药抽进针管以后轻轻的把药弹到针头这一边,后面留一点点空气在针管的尾部保证最后一滴药都打进肚子里。15天的降调期过去以后进入促排期,我是打的普利康每天两支800多块钱。这个时候认识了一个很好的姐姐她的性格很开朗,我们是在看病等待的时候聊天认识的她比我早一步,我刚促排她就取卵了,她告诉我这个时候要开始吃高蛋白的东西了,我也在网上看到了喝蛋白粉豆浆吃大虾,所以我每天一杯蛋白粉,半斤大虾。很不喜欢喝牛奶也是硬着头皮喝进去,想想我一天800多的药费呀,卵宝宝长的快一些吧。促排第四天的时候去医院有拉丝白带了,医生说很好,让我准备在过3天后可以准备取卵了,很高兴回家,不成想啊居然热伤风了本身我就有鼻炎痛不欲生啊,两天晚上睡的非常不好,在去医院的时候医生说还得在打几天,我估计就是因为生病的原因,中间还喝了一盒三精双黄连也不见好就硬挺着了。到第九天的时候加了一针尿促隔天

嵌入式系统技术实验指导

《嵌入式系统技术》 实验指导 桂林电子科技大学 电子工程与自动化学院

2013.10 实验一 KEIL MDK 编程环境及实验箱使用入门 一、实验目的: 1、掌握MDK建立工程、设置工程的方法; 2、掌握MDK编译工程、链接工程的方法; 3、掌握MDK仿真调试的方法; 二、实验内容: 1、参考本次实验的实验步骤,完成本次实验,以及实验步骤中的几个思考题 2、参考教材66页有关MDK工具的配置回答以下几个问题 (1)MDK提供的两种调试模式 (2)如何在工程中打开存储单元观察窗口 (3)如何在工程中设置断点 三、实验原理: Keil公司开发的ARM开发工具 MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM 的设备,能帮助工程师按照计划完成项目。本次实验主要熟悉软件的使用过程以及编译代码的下载过程。 四、实验步骤: (1)启动MDK; (2)建立项目; (3)设置工程 (4)建立文件并将文件添加到过程; (5)输入代码; (6)编译连接;

(7)下载代码在线调试。 五、实验要求 1. 总结软件使用过程; 1.总结CORTEXM3处理器的开发流程和调试方法; 实验二数字I/O实验 1、实验目的 1、了解通用I/O接口的接口和性能; 2、了解复用功能和重映射; 3、掌握通用I/O接口的程序设计方法。 2、实验原理 CORTEX 处理器的一个GPIO引脚包含以下几个寄存器: ①两个32位的配置寄存器(GPIOx_CRL,GPIOx_CRH) ②两个32位的数据寄存器(GPIOx_IDR,GPIOx_ODR) ③一个16位的复位寄存器(GPIOx_BRR) ④一个32位的置位/复位寄存器(GPIOx_BSRR) ⑤一个32位的锁定寄存器(GPIOx_LCKR)。 所有寄存器不允许按照半字节或字节访问,必须按32位字访问。1.1.2每一个GPIO引脚都可以在程序中配置成如下几种模式:输入悬空,输入上拉,输入下拉,模拟输入,开漏输出,推挽式输出,,推挽式复用功能,开漏复用功能。

嵌入式系统移植的简单介绍

嵌入式操作系统的移植 综述:嵌入式操作系统与通用操作系统的最显著的区别之一就是它的可移植性。一款嵌入式操作系统通常可以运行在不同体系结构的处理器和开发板上。为了使嵌入式操作系统可以在某款具体的目标设备上运行,嵌入式操作系统的编写者通常无法一次性完成整个操作系统的代码,而必须把一部分与具体硬件设备相关的代码作为抽象的接口保留出来,让提供硬件的OEM厂商来完成。这样才可以保证整个操作系统的可移植性。 一、移植的定义及其目的 由于嵌入式系统所使用的芯片型号多种多样,很多芯片不能直接兼容,所以通过修改部分代码,把能在甲芯片上运行的程序,也能在与之不完全兼容的乙芯片上正确运行,就叫移植. 嵌入式操作系统移植的目的是指使操作系统能在某个微处理器或微控制器上运行。 二、移植的方法与具体操作步骤 2.1 在进行移植时,我们的首要任务就是要建立一个最基本的开发环境。该环境具备一套跨平台开发工具。它包含有编译器、连接 器、除错器等,另外还要准备制作文档系统所需的软件。以PC机作为宿主机构建一套完整的交叉编译系统来调试目标板。而在目标平台上只需要准备一段开机程序,如Ether boot,Red boot等,此程序可以在除错阶段取得系统的映像(image)文件后启动或者直接从Flash room中来引导系统。一旦启动后就进入Linux操作系统,同时也可

以使用GDB server作为远端除错工具。 2.2 内核的移植 为了使Linux内核能在不同的目标平台上运行,要求我们根据平台的处理器类型和外围接口,对Linux内核文件进行正确的配置,同时。修改内核文件Linux移植的主要步骤。如果修改完Linux的内核文件,使其能在目标平台上正确跑起来,那么整个移植过程就基本完成了。 2.3 移植的具体步骤 (1)首先获取某一版本的Linux内核源码,根据具体的目标平台对源码进行必要的改写(主要是修改体系结构相关的部分); (2)添加一部分外设驱动(如网卡驱动、USB驱动),打造一款适合于目标平台的新的操作系统,也就是常说的内核配置或内核定制;(3)对该系统进行针对目标平台的交叉编译,生成一个内核映象文件; (4)最后通过一些手段将该映象烧写到目标平台中。 三、移植过程中如何进行剪裁 3.1 进行方式 进行的方式必须有效率的建立系统,基本可行的方法有两种: (1)从其中一个发行版本中把不必要的部份全部删掉,留下我们想要的系统。 (2)把系统所有的功能依规格从新建立起来。 3.2开发环境 要建立一个最基本的开发环境,必需具备一套跨平台的开发工具

试管婴儿移植后注意事项及经验

试管婴儿移植后注意事项及经验 2009-11-17 19:06 1、躺真的是关键,虽然仍然有一些姐妹没怎么躺还是成功了,但我总结了下身边的病友,发现凡是 躺得好的姐妹,成功率还是要高些。胚胎3-5天着床,6-8天扎根,所以前8天一定要注意。还有, 我这次移植后的7小时没睡枕头,完全平躺的。(是一个成功了的妹妹告诉我的,她说要2小时不睡 枕头,她妹妹也是这样成了的,我这次试了下也成了,还多了几个小时,也许没什么科学依据,但我 发现这样躺腰好像没那么酸,不妨一试)。移植后的前6个小时很重要,我当时除了上2次厕所,其 余时侯全当自己胸以下半身不遂样躺的。 2、多喝鱼汤,牛奶,多吃高蛋白食物。 3、要调整心态,首先自己要有信心,每天试试和肚子里的宝宝说话,宝宝是有灵性的,他们会感应到 妈妈的坚持,所以他们也会留下来的。一般来讲,9天-14天是最难熬的,尽可能分散自己注意力, 记住:坚持就是胜利! 4、动作不要太大,不起提重物,从床上起身时,先侧身用手肘支住再起来,躺下时也这样。 5、不要太执着地找感觉,个体差异真的很大:测体温吧,我们打了黄体酮不准的;乳房也不是每个人都有反应的;肚子涨、分泌物、腹水情况因人而异;呕吐我觉得和心理因素有关;还有,来月经的感觉很明显,但这种感觉好像成功失败的人都有。 6 移植后不要随便再喝牛奶,怕万一拉肚子,我就是第二天空腹喝了牛奶,结果拉得可惨了,网上也有姐妹说移植 后喝牛奶拉肚子,姐妹们一定要小心要小心,多喝豆浆行了,豆浆记得要煮熟(煮沸5分钟),否则也会拉肚子。 7 拉肚子和便秘都会引起宫缩,影响着床,要尽量避免。除了注意饮食后,每天早上起来一杯蜂蜜水,一定要定时排便。 建议姐妹们还是尽量不要早测,真的会影响心情的。移植后的症状也不要老对号入座,每个人情况不一样,有的症状明显,有的不明显也成功了,网上说白带多好,有裼色分泌物好,可有人一样都没有,不仅没白带,还甚至有点干呢,可也早早当上中队长了。 1:取卵后:24小时内不要提重物;不要喝含酒精的饮料;不要使用止痛或者镇静之类的药物;按医嘱按时吃药 (这里取卵后,医生会开2 小瓶药给你)

嵌入式系统综合实验一

嵌入式系统综合实验一

学号: 装 订 线 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 专业:测控技术与仪器 姓名:颜睿

装订 线1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发送响应信号,送出40bit 的数据,幵触发一次信采集。

b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低 电平保持时间不能小于18ms,然后等待DHT11 作出 应答信号。 装 线 订 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时, 等待外部信号低电平结束,延迟后DHT11 的DATA 引脚处于输出状态,输出80 微秒的低电平作为应答信 号,紧接着输出80 微秒的高电平通知外设准备接收数 据。

装 订线 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。 (2)数据格式 一次传送40 位数据,高位先出 8bit 湿度整数数据+ 8bit 湿度小数数据+8bit 温度整

五大适合STM32的嵌入式操作系统

五大适合STM32的嵌入式操作系统 基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这五种嵌入式操作系统的特点及不足。1、μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比, μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。 μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU特点进行改良,且不支持内核抢占,实时性一般。 在内存管理上由于μClinux是针对没有MMU的处理器设计的,不能使用处理器的虚拟内存管理技术,只能采用实存储器管理策略。系统使用分页内存分配方式,在启动时对实际存储器进行分页。系统对内存的访问是直接的,操作系统对内存空间没有保护,多个进程可共享一个运行空间,所以,

即使是一个无特权进程调用一个无效指针也会触发一个地 址错误,并有可能引起程序崩溃甚至系统崩溃。 μClinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。 μClinux对文件系统支持良好,由于μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS文件系统,这种文件系统相对于一般的文件系统(如ext2)占用更少的空间。但是ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据须采用虚拟RAM盘/JFFS的方法进行处理。在对硬件的支持上,由于μClinux继承了Linux的大部分性能,所以至少需要512KB的RAM空间,lMB的ROM/Flash 空间。 在μClinux的移植方面,。μClinux是Linux针对嵌入式系统的一种改良,其结构比较复杂。移植μClinux,目标处理器除了需要修改与处理器相关的代码外,还需要足够容量的外部ROM和RAM。 综上可知,μClinux最大特点在于针对无MMU处理器设计,

试管移植后0--14天,你需要知道地

试管移植后0--14天,你需要知道的!! 做完胚胎移植后的两周,你会感到不安与烦躁,问题在心头萦绕:头两天我是否需要卧床休息?胚胎会不会掉出来?该吃什么,不该吃什么?在这两周我的运动量应该是怎样的?出血多少是正常的?咱们来一步步分析移植后的每个阶段。 移植后六十分钟胚胎移植完成后,你将平卧在手术床上被推到休息室,大多数诊所(译者注:这里指的是美加的诊所)要求患者至少平卧30至60分钟。几乎所有的胚胎移植术都是在腹部B超下进行的,生殖科医生会将一根软管插入你的子宫,另一位医护人员则通过腹部超声监测移植情况,以便医生判断放置胚胎最合适的位置。 由于超声波在液体中比在空气或器官组织中传播得更好,医生可能会让你实现憋尿。经过移植术开始前的等候(你见过哪个医生是严格守时的吗?)和在移植过程中被医生用冰凉的手和B超用

具按压肚皮,你会觉得自己要爆炸了。 很多病人常常说她们最受不了的,是移植后想上厕所,又不敢或不好意思。其实排尿不会降低成功率,所以你不用忍得太辛苦也不要感到害臊,移植术结束后可以使用尿盆在床上解决。(译者注:中国好像没这待遇,都是自己下床去厕所的,但既然医生没说不可以,应该也问题不大哈。) 移植后头两天离开医院前,你会收到移植后的注意事项。医生会根据病人状况和偏好的不同给出不同的意见,但通常包括如下几条: ? 48小时不要搬动重物(译者注:我在别的地方看到,对重物的定义是超过五磅,即四斤半) ? 48小时不可进行激烈体力活动,如跑步、健身操等 ? 48小时不可盆浴或游泳(译者注:西方医生没有建议不淋浴的,我的医生也没这么说过) ? 不要冲洗阴道,使用置卫生棉条或有自动冲洗装置的马桶

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

胚胎移植后成功的征兆后成功的征兆

胚胎移植后成功的征兆后成功的征兆随着科学技术的发展,人工胚胎的成活率越来越高,很多难以受孕的人就会选择做试管婴儿,很多人为了一次性方便,在做试管婴儿的时候会做成双胞胎。这样既有保险姓,又可以一次得到两个孩子,胚胎在移植到女性体内成功后会有征兆的,下边会给大家详细介绍胚胎移植成功后有哪些征兆 现在越来越多人怀孕特别难,从而走上了更辛苦的试管婴儿之路,只为求一个健康的宝宝。试管婴儿说简单也简单,说难其实也很难,大部分人经历了一定的流程就抱上孩子,也有很多移植困难的,求子之路变得很艰辛。只希望每一位妈妈都能好孕。 小多第一次试管移植就成功怀孕了,让两夫妻都特别高兴。因为备孕了三年都没办法怀上孩子,去医院检查受孕率医生都推介用试管比较靠谱,没有办法只能转战试管婴儿的路,让人兴奋的是第一次移植就顺利怀上了宝宝。 移植后小多每天都忍不住测试晨尿,到第7天时已经能测出

一条很大的粉印,可是不明显,身体也起了点变化。因为第三天有一点见红,心情很急躁,胸部胀痛,头晕嗜睡,她很担心会生化或宫外了。第8天到10天验孕棒也还没加深更加害怕,好在 第11天是加深了很多,终于不用每天担心了,第二天就去医院 验血,果然是怀孕上了。 试管婴儿让很多难以怀孕的人顺利抱上宝宝,也算是圆了心愿。移植成功后如果有这些症状说明宝宝已经来了,因为这是胎儿着床的表现。小多实际经验分享给需要了解的准妈妈,希望大家一起好孕 着床的意思是受精卵在子宫内膜里扎根了,慢慢的孕育出新生命,但这个时候B超是看不到的,因为太小了。一般正常的受精卵发育健康的话,可能移植后一两天就已经着床。如果发育不那么好,可能会在妈妈的子宫内多发育几天再找合适的地方着床,晚着床的一般在移植后6-9天都可能。 胎儿着床时的感觉因人而异,大部分人是没有感觉的,但有

嵌入式系统与应用实验指导08

《嵌入式系统原理及应用》 实验指导书 适用专业:电气、测控等 课程代码: 8413841 总学时: 48 总学分: 3 编写单位:电气信息学院 编写人:王平 审核人: 审批人: 批准时间:年月日

目录 实验一ADS 1.2集成开发环境练习 (3) 实验二汇编调用实验与Bootloader下载 (11) 实验三、μC/OS-II移植实验 (14) 实验四、步进电机控制实验 (17)

实验一ADS 1.2集成开发环境练习 一、实验目的和任务 了解ADS 1.2集成开发环境的使用方法。 建立一个新的工程;建立一个汇编源文件,并添加到工程中;设置文本编辑器支持中文;设置编译链接控制选项;编译链接工程;调试工程。 二、实验设备 装有ADS 1.2集成开发环境的PC机 三、实验步骤 1.ADS环境练习。 (1) 在D:\新建一个目录,目录名为experiment。 (2) 启动ADS1.2 IDE集成开发环境,选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 (3) 选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。

(4) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script 是CHINESE_GB2312。 (5) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置链接地址。

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 P.1 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED 灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC 引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.4.28 地点:创客空间

装订线送响应信号,送出40bit 的数据,幵触发一次信采集。 b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时间不能小于18ms,然后等待DHT11 作出应答信号。 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11 的DATA引脚处于输出状态,输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。

u(boot中NANDflash的MTD驱动移植)-

u(boot中NANDflash的MTD驱动移植)- u-boot u-boot中的“与非”闪存的MTD驱动程序迁移移植了linux中的MTD 驱动程序源代码,以支持“与非”闪存擦除、刻录写入和读取驱动程序内存技术设备内存技术设备是Linux的一个子系统,用于访问闪存设备MTD的主要目的是简化新存储设备的驱动,并提供通用接口功能。MTD驱动可以支持CFI接口的非闪存驱动和非闪存驱动。众所周知,“与非”闪存的访问接口不像“非”闪存那样提供标准的CFI访问接口,但“与非”闪存制造商已经对不同品牌和型号的“与非”闪存芯片的访问接口制定了一些常规规定,如命令字、地址序列、命令序列、坏块标记位置、oob区域格式等。 值得注意的是,在工艺方面有两种类型的“与非”闪存:MLC和SLCMLC和SLC属于两种不同类型的NAND闪存SLC的全称是单级单元,即单级单元闪存,而MLC的全称是多级单元,即多级单元闪存。它们的区别在于,SLC的每个单元只能存储一位数据,而MLC 的每个单元只能存储两位数据,MLC的数据密度是SLC的两倍。就页容量而言,还有两种类型的与非:大页与非闪存(例如HY27UF082G2B)和小页与非闪存(例如K9F1G08U0A)这两种类型在页面容量、命令序列、地址序列、页面内访问和坏块识别方面非常不同,并且遵循不同的约定,因此在移植驱动程序时应该特别注意。在下,以大页面NAND flash: HY27UF082G2B为例,介绍NAND flash 的一些基本情况,然后介绍MTD驱动程序的基本结构和流程分析。

最后,介绍了在u-boot中迁移MTD驱动程序的详细步骤: 3 . 4 . 1)nandflash的一些基本信息 fl2400开发板上的NAND Flash芯片型号是现代HY27UF082G2B。英特尔于1988年首次开发了或非闪存技术。它最重要的特点是支持片上执行,彻底改变了EPROM和EEPROM主宰非易失性闪存世界的局面。然后,在1989年,东芝发布了NAND闪存结构,它具有较低的单位成本、较高的容量,并且可以像磁盘一样通过接口轻松升级。“或非”闪存更适合存储少量的关键代码和数据,而“与非”闪存更适合存储大量的高密度数据。 下表说明了非闪存与非闪存的区别:非闪存非闪存性能项目的容量通常为1~4MB,片上支持的最大容量为32MB 8MB~512MB。它可以直接在芯片上启动。它不受支持,需要驱动读取。只有三星芯片支持步进式引导加载器技术,其他芯片必须配备norflash以启动具有较高可靠性、较低位反转概率、常见位反转的引导加载器,并且必须采取验证措施。ECC椭圆曲线算法被推荐用于错误检查和恢复,这导致1/10的非闪存使得非闪存的管理和驱动程序写入更加复杂。存取接口与随机存取存储器和可编程只读存储器相同。地址线地址、数据和命令通过每个使能引脚区和输入/输出线与数据线分开。访问接口可分为地址、数据和命令以及串行访问。随机存取8K-64K块大小(擦除64K~128K单位)必须按顺序存取。擦除时间为5S,慢3毫秒,快速读写速度慢。快速读取,快速读取,刻录和写入可以快速擦除10 ~ 100,000次和100 ~ 100万次。主要用途保存代码和关键数据保存大

试管婴儿移植前后的一些个人症状

童梦无忧论坛是一家专门从事试管婴儿研究的权威网站,这是童梦无忧论坛工作人员为试管婴儿患者精心准备的方案:如有不明请进童梦无忧论坛 移植前后的这几天 6.23 取卵23颗 6.25 收到医院短消息,成熟卵子22颗,icsi成功受精16颗 6.26 移植,早上和胖胖,lpp一起到医院等待移植,看到一起取卵的几个姐妹,大家聚到一起互相交流,我们大家当时都只知道受精多少个,等级就到等医生谈话时才知道。我们有一个一起,取之前只测的5个,打了夜针后,取卵时竟然取了10个,后来配成8个,看来最后时刻卵宝宝们也能冲刺一下的。轮到我和胖胖去谈话时,医生告诉我们,配成的有8个a,3个b,3个c,另外两个可能质量不高,都没说是什么情况。然后,医生说我卵取的比较多,移植会有腹水风险,建议我这次不要移,回去休养两个月再来。我和胖胖一听,愣了,我们是很希望能马上移的,取卵前后一直都是高蛋白饮食,没有腹水的感觉,而且这两个月我放假,有时间休息,所以我们很坚持。然后医生想了想,说那先做个b超看看。于是我和胖胖决定,如果有腹水,我们就不做,没有的话,为什么不试试看呢。b超结果显示没有腹水,卵巢偏大。然后医生在我们的一再坚持下,建议我们移植一个,我说一个成功率没有保证啊,然后建议我们移一个a一个c,我说有b干嘛不用b啊,要是没b,就c了,我和胖胖一再坚持,医生最后只好同意,移一个a一个b,叮嘱我移植后要高蛋白饮食,另外又给我开了三天的万汶。接下来就是在手术室外等待移植,除了我们移植鲜胚的四个人,还有四个移冻胚。移植的过程和其他帖子里讲的差不多,整个过程没有痛感。唯一的就是小便要憋的刚刚好,不能太少,不然看不到子宫,也不能太多,憋尿的感觉实在是难受的要死,我就是这样憋的太多了,b超压在我肚子上感觉膀胱都要爆了,而且因为我胖,医生找我的宫颈口费了老半天功夫,于是,我在手术台上又是难受的一头脑子的汗。还好找到宫颈口后,很快就结束了,然后我走到外间,分两次排空小便,在病床上躺了一个多小时就回家了。 6.26-28 这几天是在家挂水的三天,因为在家躺着挂,有时手的姿势没摆好,两瓶水要挂很长时间,一般至少要4个半小时,28号的那一天竟然6个小时,挂水的孩子伤不起啊。这几天,因为挂水,每天是扎扎实实的躺在床上度过的。第一天基本平躺,第二天偶尔侧躺。头两天天气不错,气温都只26、7度,晚上睡觉都要盖薄毯。老天爷对我真好,六月底能有这样的气温,然后能不洗澡也能安然度过。然后第三天开始,不知道是不是睡席子的原因还是什么原因,我嗓子痒痒的,开始咳嗽打喷嚏,出现了感冒的症状。我从去年备孕开始到现

嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20 – 20第学期 赵成,张克新 院系: 姓名: 专业: 学号: 电子通信工程系 2014年3月制

实验一ARM体系结构与编程方法 一、实验目的 了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。 二、实验内容 1.ADS1.2 IDE的安装、环境配置及工程项目的建立; 2.ARM汇编语言程序设计(参考附录A): (1)两个寄存器值相加; (2)LDR、STR指令操作; (3)使用多寄存器传送指令进行数据复制; (4)使用查表法实现程序跳转; (5)使用BX指令切换处理器状态; (6)微处理器工作模式切换; 三、预备知识 了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。 四、实验设备 1. 硬件环境配置 计算机:Intel(R) Pentium(R) 及以上; 内存:1GB及以上; 实验设备:UP-NETARM2410-S嵌入式开发平台,J-Link V8仿真器; 2. 软件环境配置 操作系统:Microsoft Windows XP Professional Service Pack 2; 集成开发环境:ARM Developer Suite (ADS) 1.2。 五、实验分析 1.安装的ADS1.2 IDE中包括和两个软件组件。在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。 2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

USB驱动移植教程

USB驱动移植教程 一.USB驱动框架 在Linux系统中,提供了主机侧和设备侧视角的USB驱动框架,这里,仅仅讲解主机侧角度看到的USB驱动框架。 从主机侧的角度而言,需要编写的USB驱动程序包括主机控制器驱动和设备驱动两类。USB主机控制器驱动程序控 制插入其中的USB设备,而USB设备驱动程序控制该设备如何作为设备与主机通信。在USB主机控制器驱动和USB 设备驱动之间还有一层叫USB核心层。USB核心负责USB驱动管理和协议处理工作,它通过定义一些数据结构、宏 和功能函数,向上为USB设备驱动提供编程接口,向下为USB主机控制器驱动提供编程接口;通过全局变量维护整个 系统的USB设备信息,完成设备热插拔控制、总线数据传输控制等。说了那么多,无图无真相啊~~

Linux USB主机侧驱动总体框架 二.USB驱动移植步骤 1.S5PV210主机控制驱动的移植 USB主机控制器有3种规范,UHCI(Universal Host Controller Interface),这种规范主要是Intel、Via芯片公司提供支 持PC主板的;OHCI(Open Host Controller Interface),这种规范是微软提出来的,主要应用在非PC系统上的嵌入式 领域上的USB芯片;EHCI(Enhanced Host Controller Interface),这种后来为提高USB速度而提出的规范,它支持 最高速度为480Mbps。 在《S5PV210_UM_REV1.1》手册上搜索OHCI关键词,会发现下面一段话 这表明S5PV210这款CPU支持一个USB主机接口,同时支持EHCI和OHCI这两种规范,支持USB1.1和USB2.0规范,支持最高的外设传输速率为480Mbps。注意了,它并不支持USB3.0规范的USB设备,所以做测试的时候,千万不要拿USB3.0规范的USB设备去测试。 2.1移植ohci-s5p驱动 打开内核目录:driversusbhost,发现Linux系统提供了大量的主机控制器驱动,找遍所有平台,都没有找到ohci-s5p.c源码。很遗憾,3.8的内核没有提供S5PV210的USB HOST控制器驱动程序。最好验证有没有提供的办法就是, 烧写网蜂提供的第二版的uImage进去,然后找个U盘、或者鼠标插入Webee210开发板的USB HOST接口,看看串 口有没有打印什么信息,结果是不会有任何反应的。既然没有提供,这就需要我们自己来编写了,这下不好办了吧?

科普移植后常见症状临床处理及术后生活

【科普】移植后常见症状的临床处理及术后生活 感染 由于所有免疫抑制剂都改变了免疫系统以降低机体对于细菌、病毒的识别和反应能力,因此移植受者均面临着发生感染的危险。感染后的正常反应是白细胞增多,因为白细胞是负责与入侵的微生物作战的。霉酚酸酯(骁悉、米芙、赛可平)、硫唑嘌呤(依木兰)和雷帕霉素(雷帕鸣)均可以造成白细胞减少,因此可以增加发生感染的危险。监测白细胞计数和依据其结果调整治疗方案是很重要的。在移植后3-6个月期间,此时免疫抑制剂的药物浓度都维持在最高水平,因此许多中心都应用预防感染的治疗。应用更昔洛韦以防止巨细胞病毒(CMV)感染;阿昔洛韦控制疱疹病毒感染;复方新诺明(SMZ-CO)预防肺孢子虫肺炎、尿路感染;氟康唑预防霉菌感染。有关移植的相关问题可登陆移植专家APP咨询。建议: 1、建议养成良好的洗手习惯,对儿童而言,建议先教导他们如何洗手; 2、避免清理动物废弃物; 3、避免与病人接触; 4、进行口腔治疗时使用抗生素以预防感染; 5、避免赤手挖污物; 6、一旦出现感染的症状或体征立即向医生报告,例如:咽喉痛、疲劳感、尿量改变、淋巴结肿大、咳嗽、发热; 7、有任何穿刺伤、大的割伤或伤口都应该立即向医生报告。 痤疮 痤疮是由于皮肤油脂分泌增加引起的,痤疮的发生与环孢素、激素和雷帕霉素有关。 建议: 1、每天多次轻柔地清洗患处,注意不要摩擦患处; 2、用肥皂清洗去除多余的油脂,注意不要让皮肤感觉干燥; 3、患处局部涂抹含有5-10%苄基过氧化物软膏; 4、选择每天使用的洗发精时:避免使用婴儿洗发精产品; 5、避免手接触面部,同时不要用手挤痤疮或者刺破痤疮; 6、皮肤科医生会给予一些局部用的抗生素或胶囊如维A酸。 情绪不稳定 激素、FK506是造成移植受者情绪不稳定的最常见原因。 建议: 1、一旦出现这样的问题,反馈给你的医生寻求好的办法; 2、参加一些组织或者社区活动; 3、如果必要,请专业的精神科医生给予专业的治疗; 4、向一些移友咨询,以提高对于这些失控行为的认识; 5、阅读一些专业书籍。

相关主题