当前位置:文档之家› DM6446开发攻略

DM6446开发攻略

DM6446开发攻略
DM6446开发攻略

TI Davinci DM6446 开发攻略(序)

在TI DAVINCI DM6446上开发产品,有很多可值得学习的地方。首先简单介绍这款芯片的基本功能:双核:ARM926EJS(300MHz),C64+DSP(600MHz),集成USB2.0,网口EMAC+MDIO,串口UART,SD卡接口,ATA接口,FPGA接口,众多GPIO,SPI,I2C接口,VPSS图像处理接口等等,有兴趣的朋友可以下载DATASHEET了解。ARM可以跑u-boot,linux,DSP可以跑音频,视频等算法。其次,这款芯片可以用来设计机器视觉(单目、双目)的产品,包括机器人,也可以设计安防监控产品,VOIP视频电话,IP-CAMERA,智能图像分析,数码相机,IP-机顶盒,医疗影像,手持设备,等等。众多的功能,我们只能一步一步去学,一步一步去做。今年的技术博客主题,就是专注在这个平台上,重点讨论软件设计,如何让我们的做的DM6446开发板跑起来,运行正常,从而学习U-BOOT,LINUX,DSP算法等。

开发攻略包括:开发环境搭建,UBL移植设计,U-BOOT移植设计,LINUX-2.6.18移植设计,根文件系统设计,DSP程序设计,LINUX驱动程序设计,LINUX应用程序,一共8大类。路很长,但我们要坚持走下去,相互讨论学习,人才能得到升华!

TI Davinci DM6446开发攻略——开发环境搭建

TI DAVINCI DM6446的开发环境搭建不像三星S3C2410,S3C2440,ATMEL的AT91SAM9260之类的单核ARM那么简单,因为DM6446还有DSP端的开发环境,以及双核之间的通信和程序编译等问题,所以开发攻略第一步就是要搭好开发环境。其实TI的EVM(TI 的开发板)也提供相关的EVM start guide(sprue66f.pdf),适合参考。

DAVINCI开发环境搭建基本上可分以下几步:

1)准备好各种相关的windows,linux,DAVINCI 软件开发包安装软件;

2) linux环境搭建;

3) ARM编译环境搭建;

4) DSP编译环境搭建;

5)编译DSP算法LIB,生成x64P,由ARM端可执行程序调用运行;

第一步:相关软件准备

LINUX下的软件工具包如下:

1)VMware-workstation;

2)RedHat Enterprise Linux Server 5(server 4 也可以);

3)mvl_5_0_0801921_demo_sys_setuplinux.bin;

(这是GCC交叉编译工具,根文件系统target。注册TI的账号,可以从TI的网站上下载) 4)mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin;

(最新montavista linux-2.6.18内核等安装包)

5)dvsdk_setuplinux_2_00_00_22.bin;这个是TI 自己EVM的软件开发包)

6)bios_setuplinux_5_33_06.bin;

7)xdctools_setuplinux_3_10_03.bin;

8)ti_cgt_c6000_6.0.23_setup_linux_x86.bin

(以上3个文件都是从TI上下载比较新的dvsdk的工具链)

DSP开发工具:

1)CCS3.3;

2)bios_setupwin32_5_33_06.exe;

(和LINUX里的版本bios_setuplinux_5_33_06配对)

补充一下,本人这里基本上都是从TI上下载比较新的安装包,很多公司和朋友目前还都停留在linux-2.6.10和mvl_4_0_1上开发;

第二步:linux环境搭建

有关如何搭建,本人已在之前发表一篇《RedHat Enterprise Linux Server 5 在VMware Workstation 6.5的安装》里有详细介绍,一定要选择安装图形界面的,这里不重复。配置好samba 后,把从TI上下载的安装包COPY到一个temp的目录里;

第三步:ARM编译环境搭建

上一步搞定后,以ROOT身份进入linux环境。

1)搭建montavista linux环境

按以下命令安装GCC(arm_v5t_le)交叉编译工具,安装过程按照提示操作,运行时会提示安装目录的选择,建议/opt/mv_pro_5.0.0;

host $ ./mvl_5_0_0801921_demo_sys_setuplinux.bin

host $ ./mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin

执行上面的命令后,会在/opt/mv_pro_5.0.0/目录下生成mvltools5_0_#######.tar.gz和DaVinciLSP_#_#_#_#.tar.gz的文件,“#”表示版本。mvltools5_0_##包括GCC交叉编译环境和根文件系统(target),DaVinciLSP_##里包含montavista linux-2.6.18的内核源代码。用以下命令把它们解压到当前目录:

host $ tar zxf mvltools5_0_#######.tar.gz

host $ tar zxf DaVinciLSP_#_#_#_#.tar.gz

以上两个开发包是最基本的,至于下面要安装的TI 自己的dvsdk,没有它也可以照样开发DM6446,因为DSP算法开发也可以使用常用的方法生成*.bin文件,放到根文件系统,当做一个应用文件boot起来也是可以的,那是后话。

补充提示:由于mvl_5_0_0801921_demo_sys_setuplinux.bin和mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin等文件比较占用虚拟机的空间,建议安装完后,把它们删除。如果有些*.bin运行不了,请使用chmod +x *.bin改变文件属性。

2)安装TI DVSDK工具链

dvsdk存放路径/home//下,就是你的linux系统普通用户账号,不是root 账号。TI 建议用户使用su 命令切换到用户账号的权限下安装dvsdk,其在root下安装也没问题。使用以下命令开始安装dvsdk;

host $ ./dvsdk_setuplinux_2_00_00_22.bin

安装完dvsdk后,使用以下命令,按照提示安装xdctools和bios工具包到/home//dvsdk_2_00_00_22/目录下,

host $ ./xdctools_setuplinux_3_10_03.bin

host $ ./bios_setuplinux_5_33_06.bin

然后在/home//dvsdk_2_00_00_22/下先使用

host $ mkdir cg6x_6_0_23

产生cg6x_6_0_23/目录,执行以下命令安装ti_cgt_c6000_6.0.23到/home//dvsdk_2_00_00_22/cg6x_6_0_23/:

host $ ./ti_cgt_c6000_6.0.23_setup_linux_x86.bin

设置环境变量

csh:

host $ setenv C6X_C_DIR /home//dvsdk_2_00_00_22/cg6x_6_0_23/include: /home//dvsdk_2_00_00_22/cg6x_6_0_23/lib

或ksh or bash:

host $ export C6X_C_DIR=/home//dvsdk_2_00_00_22/cg6x_6_0_23/include:

/home//dvsdk_2_00_00_22/cg6x_6_0_23/lib

其实以上的环境变量的设计也可以在dvsdk_2_00_00_22/Rules.make里设置。对应XDC_INSTALL_DIR宏及BIOS_INSTALL_DIR宏,需要改成如下值:

XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdctools_3_10_03

BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_33_06

在需要使用到DSP程序编译处,需要改动相应的CODEGEN_INSTALL_DIR宏如下:

CODEGEN_INSTALL_DIR = $(DVSDK_INSTALL_DIR)/cg6x_6_0_23

3)安装Codec Servers

Codec Servers就是提供ARM端调用DSP端算法的一个服务机制,使用以下命令安装DM6446的Codec Servers到/home//dvsdk_2_00_00_22下,

host $ ./dm6446_codecs_setuplinux_#_#_#_#.bin

4) 最后,把临时的*.bin都删除掉,毕竟文件很大,保留在VM里占空间。到这里,ARM端的开发环境已经搭建完。

第四步:设置TFTP SERVER

有两种方法可以实现,一个在Redhat Linux 5里设置 TFTP SERVER,在根目录/下产生tftpboot目录,使用chmod -R 777 /tftpboot/改变权限属性,然后配置linux 里的TFTP server。另一个是直接使用windows下的TFTP SERVER软件,把在LINUX下生成的文件,比如U-BOOT,KERNEL,ROOTFS 通过samba机制COPY到windows下的TFTP SERVER的目录。我们这里只介绍第1中方法。

使用tftp server 之前,首先确保你的linux 主机安装有xinetd,然后使用以下命令,查看你linux主机是否安装TFTP SERVER:

host $ rpm -q tftp-server

如果出现: tftp-server-0.xx-x.x字样,表明安装成功。没有的话,你需要从REDHAT LINUX5的镜像光盘CD里SERVER目录下,使用命令(rpm -ivh tftp-server-0.42-3.1.i386.rpm)安装,或者直接把tftp-server-0.42-3.1.i386.rpm解压出来放到临时文件夹里同样使用rpm -ivh tftp-server-0.42-3.1.i386.rpm安装。

进入根目录/下,使用命令

host $ mkdir /tftpboot

host $ chmod -R777 /tftpboot

host $ /sbin/chkconfig tftp on

host $ /sbin/chkconfig --list

这时linux主机会显示

..............

xinetd based services:

chargen-dgram: off

chargen-stream: off

cvs: off

daytime-dgram: off

daytime-stream: off

discard-dgram: off

discard-stream: off

echo-dgram: off

echo-stream: off

eklogin: off

ekrb5-telnet: off

gssftp: off

klogin: off

krb5-telnet: off

kshell: off

rsync: off

tcpmux-server: off

tftp: on

time-dgram: off

time-stream: off

on表示TFTP SERVER已经运行。这时你可以把ubl.bin uboot.bin kernel.bin之类的bin文件COPY 到/tftpboot目录下,在板子上跑的UBOOT可以做很多update的工作了。

第五步:设置NFS

开发嵌入式LINUX一定少不了NFS,目的是提高应用软件的开发效率。笨办法就是频繁烧写rootfs 到板子上,那是不可取的。

1)以普通用户进入linux host,如果你在ROOT下,使用exit,然后换成普通用户进入。

2)使用命令进入 /home/下,

host $ cd /home/

host $ mkdir -p dm6446/nfs_rootfs

host $ cd dm6446/nfs_rootfs

3)切换到root

host $ su root

host $ cp -a /opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le/target/* .

host $ chown -R opt

cp -a 命令很耗时间,因为东西很多,就是把之前安装的mvl_5_0_0801921_demo_sys_setuplinux.bin里的根文件系统target目录下的东西全部COPY到当前目录下(注意那个"."),其实这个target就是TI EVM的根文件系统,超级大!不过使用nfs不用管它的大小,等制作rootfs烧到板子上的时候,再裁减不迟。

4)编辑linux host /etc/exports文件,

host $ vi /etc/exports

内容:/home//dm6446/nfs_rootfs *(rw,no_root_squash,no_all_squash,sync)输入,注意"*"和"("之间不能有空格,它们是连在一起写的。使用wq保存exports文件退出。

5)还是在root账号下,使用以下命令激活nfs,

host $ /usr/sbin/exportfs -av

host $ /sbin/service nfs restart

6)检验并关闭linux host的防火墙:

host $ /etc/init.d/iptables status

host $ /etc/init.d/iptables stop

到这里linux host的nfs已经搞定,我们以后可以使用下面的方法测试nfs。

使用以下命令得到linux host的IP,gatewayip,netmask等信息。

host $ /sbin/ifconfig

然后在板子上的U-BOOT命令下,输入以下信息:

myboard # setenv ipaddr 192.168.1.188(本人板子u-boot ip)

myboard # setenv serverip 192.168.1.251(本人linux host ip)

myboard # setenv netmask 255.255.255.0

myboard # setenv gatewayip 192.168.1.1

myboard # setenv nfshost 192.168.1.251

myboard # setenv rootpath /home//dm6446/nfs_rootfs

myboard # setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=192.168.1.188:192.168.1.251:192.168.1.1:255.255.255.0:::off root=/dev/nfs nfsroot=192.168.1.251:/home///dm6446/nfs_rootfs,nolock mem=120M

myboard # saveenv(保存)

myboard # printenv

(检查刚才的输入是否正确,否则NFS挂不上根文件系统)

第六步:设置GCC交叉编译环境

以普通用户login,vi 编辑~/.bashrc文件,添加

PATH="/opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le/bin:

/opt/mv_pro_5.0.0/montavista/pro/bin:

/opt/mv_pro_5.0.0/montavista/common/bin:$PATH"

保存退出,然后使用以下命令生效,或者退出系统再登陆也可以。

host $ source ~/.bashrc

其实,使用root身份处理也行。

TI Davinci DM6446开发攻略——UBL移植

UBL的程序设计,相对UBOOT、KERNEL、ROOTFS、设备驱动、DSP开发来说,还是比较简单。我们先从DAVINCI的启动说起,了解UBL在DAVIN系统中的位置和作用。对于固件程序烧写在NAND FLASH 的Davinci dm644x嵌入式系统,上电启动的过程如下:

RBL(ARM ROM Boot Loader)在芯片出厂的时候就已经烧写到ROM里了,这不需要大家关心,上电后,RBL会自动从EMIFA EM_CS2 memory space (0x0200 0000). 执行指令,这个地址就是NAND FLASH 或NOR FLASH的片选起始地址。当你的系统设置为NAND BOOT的时候,UBL(User Boot Loader)是必不可少的,否则RBL不能直接把UBOOT给BOOT起来,因为RBL只支持14K NAND FLASH 的 BOOT程序,而UBOOT编译出来后的bin文件一般都大于80K,特别是版本越高,UBOOT的代码越大,所以这时候就需要写一个UBL。UBL 从NAND FLASH 读取UBOOT,然后把UBOOT COPY 到 DDR2(RAM)的相关地址上,然后把UBOOT 给BOOT 起来。根据TI DAVIN RBL的规定,不同型号的NAND FLASH,UBL保存的地址是不同的,512字节PAGE 的NAND(即SMALL PAGE),保存的地址是:0x00004000;2048字节PAGE 的NAND (即LARGE PAGE)保存的地址是:0x20000。至于如何通过XDS560仿真器烧写UBL或通过UART BOOT烧写UBL,本人放在DAVINCI UBOOT移植的文章介绍。(提示:RBL和UBL不要混淆!多看看BOOT的顺序图。)

UBL的移植,比较简单,当然,前提条件你已经搭好交叉编译环境。进入UBL文件包最上层的文件夹,使用make 就可以编译出:ubl_davinci_nand.bin。UBL主要有:

ubl.c

dm644x.c

util.c

nand.c

nandboot.c

nor.c

norboot.c

uart.c

uartboot.c

ubl_davinci.lds

相关的*.h 文件和两个makefile文件。如果最上层的makefile选择$(MAKE) -C src FLASH=nand,表示使用ARM nand flash boot模式,这时NOR,UART BOOT模式相关的c文件不会编译。

介绍一下:

ubl_davinci.lds:指定UBL的SECTIONS及UBL本身的入口地址;

ubl.c:从selfcopy函数开始运行,COPY自己到RAM,然后跳到正常入口地址,执行boot(),main()等函数,调用DM644xInit(),COPY UBOOT到RAM相关地址,最后执行UBOOT的入口地址(EntryPoint),这时UBOOT就可以运行了。

dm644x.c:主要配置最小系统,比如关中断、PLL1、PLL2设置、DDR2 时序设置、UART设置,等等。util.c:是一些相关的malloc等公共函数。

nand.c:主要是NAND FLASH的驱动;

nandboot.c:主要是实现NAND_Copy,把UBOOT从NAND COPY到相应的DDR2(RAM)里。

UBL要移植的东西不是很多,主要是在dm644x.c里要定义好:

Uint32 PLL1_Mult = 22; // DSP=594 MHz for DM6446,DM6441一般使用Uint32 PLL1_Mult = 19; // DSP=513 MHz。在PLL2Init()函数里,使用不同型号的DDR,要设置不同的参数,即时序参数等,这是关键的地方。

Nand.c及nand.h主要移植就是定义好UBOOT在NAND的存储地址,不同型号的NAND FLASH ,比如SMALL PAGE(512字节)和LARGE PAGE(2048字节)这些都要修改除非你的NAND的类型和TI EVM 兼容。

nandboot.c主要任务就是如何把u-boot.bin或带有头的u-boot.img正确COPY到DDR里,这里最容易出问题,编译出来的U-BOOT文件一般带有Valid magic number(MAGIC_NUMBER_VALID),入口地址entrypaoit,这些信息不对都使UBOOT 运行不起来,建议看一下或COPY UBOOT的image.h。

本人在自己设计的开发板上实现UBL的移植。UBL把UBOOT运行起来,很多事情都可以做了,LINUX KERNEL,ROOTFS,NFS,DSP,设备驱动,应用等等,都可开始按部就班开发。

Davinci DM6446开发攻略——u-boot-1.3.4移植

UBOOT的版本更新速度比较快,截止今天,稳定正式的版本是u-boot-2009.11-rc2,而TI最新的EVM 开发包里的UBOOT是1.2.0版本,国内很多公司还一直使用u-boot-1.1.4和u-boot-1.1.6。其实,我们也没必要追风跟上最新版本,程序跑稳定才是最重要的。当然,有兴趣研究研究也不错,毕竟最新版本增加很多实用的功能。在移植之前,我们简单介绍u-boot这些版本架构的变化。从

u-boot-1.3.0到u-boot-1.3.2基本上架构是一样的,而从u-boot-1.3.3到u-boot-1.3.4,架构相对u-boot-1.3.2变化比较大。从u-boot-2008.10开始,nand flash驱动变化非常大,u-boot-2009.03增加强大的lzma压缩解压功能,fs支持yaffs2,u-boot-2009.06 nand flash变化更大。到u-boot-2009.11.1增加DM6467 DM365的支持。

关于u-boot-1.3.4的移植,本人的博客也介绍在三星s3c2440上移植过,我们在这里主要针对davinci 平台。由于UBOOT功能很多,要全部把移植的东西立刻写出来,对本人还是有难度,所以中间会先发布有关montavista linux-2.6.18的移植,如何把DSP程序先跑起来,等等。由于本人的主要工作是开发产品,卖卖DM6446核心板、DM6437核心板,及相关开发板,智能视频监控IVR,推推DSP方案,所以博客更新速度比较慢,其实写博客的目的,有很大的部分就是想和全国各地朋友交流技术。同时这里要感谢51CTO的小松管理员,把本人的开发攻略改为推荐博文。回到移植正题,我们一步一步把UBOOT跑起来,把内核也跑起来。鉴于学习的目的,本人这里不提供patch。

第一步:解压和简化UBOOT

从ftp.denx.de下载u-boot-1.3.4.tar.bz2或u-boot-1.3.4-rc2.tar.bz2,然后解压到你的工作目录,很多人解压完后,就马上进入正题,修改makefile什么的,本人觉得不用那么急。首先删除和平台不相关的文件和文件夹,目的让UBOOT更简化,好理解,减少虚拟机的存储空间,便于备份(每次有进展的修改后,备份和修改记录很重要,这是良好习惯):

在顶层目录:把文件avr32_config.mk,blackfin_config.mk,i386_config.mk,m68k_config.mk,microblaze_config.mk,mips_config.mk,nios2_config.mk,nios_config.mk,ppc_config.mk,sh_config.mk,sparc_config.mk删除;文件夹lib_avr32,lib_blackfin,lib_i386,lib_m68k,lib_microblaze,lib_mips,lib_nios,lib_nios2,lib_ppc,lib_sh,lib_sparc,nand_spl,onenand_ipl,其他就不要删了。

在board目录下:只保留davinci文件夹,其他平台板子全部干掉!男人就要狠一点。而davinci也只保留TI 自己的dv-evm文件夹,这也是我们要修改的平台,schmoogie、sffsdr、sonata是其他公司基于davinci上的板子,你可以删掉,也可以参考。当然,还是在board\davinci目录下,你可以COPY dv-evm并改成你公司的板子的名字,然后在顶层修改makefile支持你公司的板子,下一步再说。

在cpu的目录:只保留arm926ejs,其他CPU全部干掉。进入arm926ejs目录,同时把at91sam9、omap、versatile文件夹删除,保留davinci和其他文件。

在include目录:把文件夹asm-avr32、asm-blackfin、asm-i386、asm-m68k、asm-microblaze、asm-mips、asm-nios、asm-nios2、asm-ppc、asm-sh、asm-sparc删除掉。进入configs目录,只保留davinci_dvevm.h,其他*.h文件全部删除调!

做完以上的工作后,UBOOT相当简洁,其实还有一些文件和文件可以再删,不过已经没必要,我们删除的对象是其他不相关的平台。备份一下这个源版本,便于日后自己修改的UBOOT和这个源版本比较。

第二步:链接交叉编译环境

如果你已经看过本人有关《DAVINCI DM6446开发攻略——环境搭建篇》,按里边描述的方法,对交叉编译环境进行搭建,那么下面编译工作就好进行了。

修改顶层makefile:

在144行:把CROSS_COMPILE = arm-linux-改为CROSS_COMPILE = arm_v5t_le-

在282行:把ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND),改为ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND) u-boot.img,就是后面添加u-boot.img

在308行:./tools/mkimage -A $(ARCH) -T firmware -C none \后面,添加和注销以下代码:

-a 0x$(shell grep "T _start" $(TOPDIR)/System.map | awk '{ printf "%s", $$1 }') \

-e 0x$(shell grep "T _start" $(TOPDIR)/System.map | awk '{ printf "%s", $$1 }') \

-n 'u-boot image' -d $< $@

# -a $(TEXT_BASE) -e 0 \

# -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \

# sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \

# -d $< $@

(注意要加tab键)

这里这样做的目的,生成的u-boot.img可以被上篇介绍的UBL给BOOT起来,而u-boot.bin可以被TI提供的uart_load.exe 和uartapp.bin 软件方式(soft boot)启动起来,便于生产和测试。

在源makefile文件2416行:就是davinci_dvevm_config : unconfig

@$(MKCONFIG) $(@:_config=) arm arm926ejs dv-evm davinci davinci

根据这一行,你可以参考TI 这个做法定义自己的板子,添加自己板子的config,比如加入:davinci_dm6446_config : unconfig

@$(MKCONFIG) $(@:_config=) arm arm926ejs dm6446 davinci davinci

然后在board\davinci目录下,使用

mkdir dm6446

cp –f dv-evm/* dm6446/

同时进入include/configs/目录,使用cp –f davinci_dvevm.h davinci_dm6446.h

注:其实直接在TI dv-evm上移植也可以,没必要定义自己的板子和配置。这里只不过给大家举个例子。

编译工作:

$make distclean

$make davinci_dm6446_config

$make

看是否编译全部通过,是否生成u-boot.bin和u-boot.img等文件,同时检查你的交叉编译环境是否建立好,没问题继续往下进行。

第三步:移植板子驱动和配置

1、修改davinci_dm6446.h

首先说说本人板子的信息:DDR2——256M-Byte,NAND——128M-Byte——2K Page;通用网口PHY芯片,没有NOR FLASH和ATA。

/*=======*/

/* Board */

/*=======*/

#define DV_EVM

#define CFG_USE_NAND(支持NAND)

#define CFG_NAND_LARGEPAGE (支持2K Page的NAND)

//#define CFG_NAND_SMALLPAGE(表示支持512 字节 Page)

//#define CFG_USE_NOR(表示支持NOR FLASH)

。。。。。。。

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

/* SoC Configuration */

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

#define CONFIG_ARM926EJS /* arm926ejs CPU core */

#define CONFIG_SYS_CLK_FREQ 297000000 /* Arm Clock frequency */

#define CFG_TIMERBASE 0x01c21400 /* use timer 0 */

#define CFG_HZ_CLOCK 27000000 /* Timer Input clock freq */

#define CFG_HZ 1000

#define CONFIG_SOC_DM644X (SOC为DM644X)

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

/* EEPROM definitions for Atmel 24C256BN SEEPROM chip */

/* on Sonata/DV_EVM board. No EEPROM on schmoogie. */

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

//#define CFG_I2C_EEPROM_ADDR_LEN 2

//#define CFG_I2C_EEPROM_ADDR 0x50

//#define CFG_EEPROM_PAGE_WRITE_BITS 6

//#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 20

(如果你的板子没有I2C接口的EEPROM,把上面的代码注释掉)

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

/* Memory Info */

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

#define CFG_MALLOC_LEN (0x10000 + 128*1024) /* malloc() len */

#define CFG_GBL_DATA_SIZE 128 /* reserved for initial data */

#define CFG_MEMTEST_START 0x80000000 /* memtest start address */

#define CFG_MEMTEST_END 0x81000000 /* 16MB RAM test */

#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */

#define CONFIG_STACKSIZE (256*1024) /* regular stack */

#define PHYS_SDRAM_1 0x80000000 /* DDR Start */

#define PHYS_SDRAM_1_SIZE 0x10000000 /* DDR size 256MB */

#define DDR_8BANKS /* 8-bank DDR2 (256MB) */

有关DDR Memory这里不需要修改,因为本人的板子是256M的。除非你的板子是128M才改为:SIZE 0x08000000 DDR_4BANKS。

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

/* Serial Driver info */

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

串口驱动不用改。

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

/* I2C Configuration */

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

I2C 驱动可以不用改。也可以注释掉,如果你不想在UBOOT操作任何I2C的动作。

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

/* Network & Ethernet Configuration */

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

网络配置也不需要修改

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

/* Flash & Environment */

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

由于最开始我们已经定义好CFG_USE_NAND和CFG_NAND_LARGEPAGE的信息,所以这里也不需要修改;

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

/* U-Boot general configuration */

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

这里主要定义UBOOT的一些操作,比如命令行显示字符串,delay等待时间的长短,这些根据个人要求修改,不改也可以。

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

/* Linux Information */

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

UBOOT要把一些参数信息传给内核linux使用,linux内核运行的时候需要这些配置信息,内核能够识别这些字符串信息。先把以下两个定义注释掉,

//#define CONFIG_BOOTARGS xxxxxxxxxxxxxx

//#define CONFIG_BOOTCOMMAND xxxxxxxxxxxxxxx

如果你要从NAND FLASH启动:

#define CONFIG_BOOTARGS “mem=120M console=ttyS0,115200n8 noinitrd ip=off root=/dev/mtdblock3”(mtdblock3 表示文件系统放在LINUX内核分区)

#define CONFIG_BOOTCOMMAND " nboot 0x80008000 0x700000"(把linux 内核从FLASH BOOT起来,下面会介绍UBOOT的命令)

如果你还在调试阶段,建议你使用NFS文件系统:

#define CONFIG_BOOTARGS “mem=120M console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.251:/home//nfs/tirootfs,nolock”

#define CONFIG_BOOTCOMMAND " nboot 0x80008000 0x700000"

本人的redhat linux的主机地址是:192.168.1.251,即SERVER IP=192.168.1.251

板子的IP是:192.168.1.188

如果你没有路由器给你分配IP地址,参数行里使用:ip=off

mem=120M:本人定义前128M 给linux系统, 后128M 给DSP和图像缓冲区等;

nboot 0x80008000 0x700000:讲明本人把内核放在nand 地址为0x700000,通过nand boot的命令把内核从nand 0x700000地址导入DDR 0x80008000地址

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

/* U-Boot commands */

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

这里有很多功能的定义,包括#include 里边定义的,不需要的功能可以使用#undef ,从而减小UBOOT 生成BIN文件的尺寸。比如

#undef CONFIG_CMD_DHCP

#undef CONFIG_CMD_DIAG

#undef CONFIG_CMD_EEPROM

#undef CONFIG_CMD_LOADB /* loadb */

#undef CONFIG_CMD_LOADS /* loads */

2、修改board/davinci/dv-evm/dv_board.c里的有关自己板子的配置

在int board_init(void)函数里,因为本人的板子使用/EM_CS2作为NAND FLASH的片选信号,故在PINMUX0寄存器里,有关AEAW必须关掉。

/* Enable EMAC and AEMIF pins */

//REG(PINMUX0) = 0x80000c1f;

REG(PINMUX0) = 0x80000000;只使用EMAC

否则UBOOT 启动不起来。

在int misc_init_r (void)函数里,因为本人没有使用I2C EEPROM存储MAC 地址,所以要注释掉

#if 0

/* Set Ethernet MAC address from EEPROM */

if (i2c_read(CFG_I2C_EEPROM_ADDR, 0x7f00, CFG_I2C_EEPROM_ADDR_LEN, buf, 6)) {

printf("\nEEPROM @ 0x%02x read FAILED!!!\n", CFG_I2C_EEPROM_ADDR);

}

else

{

tmp[0] = 0xff;

for (i = 0; i < 6; i++)

tmp[0] &= buf[i];

if ((tmp[0] != 0xff) && (getenv("ethaddr") == NULL)) {

sprintf((char *)&tmp[0], "%02x:%02x:%02x:%02x:%02x:%02x",

buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]);

setenv("ethaddr", (char *)&tmp[0]);

}

}

#endif

一般MAC地址保存到NAND,降低成本。

………

#if 0

i2c_read (0x39, 0x00, 1, (u_int8_t *)&i, 1);

setenv ("videostd", ((i & 0x80) ? "pal" : "ntsc"));

#endif

如果你的板子没有TI 的视频采集芯片TVP5146之类的,上面的功能最好去掉。

3、网口驱动移植:Cpu/arm926ejs/davinci/ ether.c

因为DM6446芯片上集成EMAC和MDIO,所以直接使用PHY芯片就可以了,驱动就使用UBOOT-1.3.4 TI 默认的驱动,而不是TI EVM使用的PHY_LXT972。直接使用GENERIC PHY,有个地方需要修改,否则网口工作不起来,本人也是从一个网友那里查到类似的信息,在static int dm644x_eth_phy_detect(void)函数里,改成:

#if 0

for (i = 0; i < 32; i++) {

if (phy_act_state & (1 << i)) {

if (phy_act_state & ~(1 << i))

return(0); /* More than one PHY */

else {

active_phy_addr = i;

return(1);

}

}

}

return(0); /* Just to make GCC happy */

#else

active_phy_addr = 1;

return(1);

#endif

由于本人的开发板使用GPIO对PHY芯片进行复位,所以在static int dm644x_eth_hw_init(void)函数里,加入GPIO复位的支持,同时文件头部加入#include

可以说, UBOOT移植到这里,基本上可以跑起网络了,TFTP应该没问题了,但是有关如何烧写UBL,烧写UBOOT,LINUX 内核等文件,以后再慢慢聊吧,一步一步来,《UBOOT移植(2)》以后会推出来,下一篇直接到MonaVista linux-2.6.18的移植(1),先让系统通过网络和串口跑起来,由简单到复杂。

继续make一下,生成u-boot.bin和u-boot.img,COPY u-boot.bin到WINDOWS底下,使用uart_load.exe和配套uart.bin文件,就可以把u-boot.bin给跑起来。如果有linux 内核编译出来并使用UBOOT tool目录下的mkimage工具生成 uImage,在UBOOT命令行下:

U-Boot > tftp 80008000 uImage

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

U-Boot > bootm 80008000

## Booting kernel from Legacy Image at 80008000 ...

Image Name: linux-2.6.18

Image Type: ARM Linux Kernel Image (uncompressed)

Data Size: 1509948 Bytes = 1.4 MB

Load Address: 80008000

Entry Point: 80008040

Verifying Checksum ... OK

XIP Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux.................................................................................. .................... done, booting the kernel.

Linux version 2.6.18_pro500-davinci_evm-arm_v5t_le (root@https://www.doczj.com/doc/4c16498236.html,) (gcc version 4.2.0 (MontaVista 4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Sun Mar 7 01:07:16 CST 2010 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

Machine: DaVinci EVM

……………………………………………………………

当出现上面的信息后,说明以上u-boot-1.3.4的移植是成功的。有兴趣的朋友可以参考以上做法移植u-boot-2009.11-rc2,也可以跑起来,只不过CROSS_COMPILE ?= arm-linux-不是放在顶层makefile 了,而是放在lib_arm/config.mk里,改成CROSS_COMPILE = arm_v5t_le-就可以编译了。

补充有关DM6446 BOOT的一点知识:如果板子没有任何程序,RBL会通过串口0发送BOOTME命令上来,运行uart_load.exe,会接到RBL的命令,然后握手通信,下载uart.bin到板子上,并运行起来,uart.bin程序就是小小的BOOT,通过串口0和PC通信,下载u-boot.bin,并把u-boot.bin给运行起来。所以UBOOT移植到上面的步骤,可以进入linux 内核移植的工作了。

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很陌生,这里给出一个链接:

房地产开发知识要点

●房地产的基本概念:房地产是房产与地产的总称,即房屋和土地两种财产的 统称。从物质形态上看,房地产可被定义为土地及地上的建筑物和其他构筑物、定着物。 ●房地产业的含义:房地产业是由房地产投资、开发、经营、管理和服务等部 门和行业构成的巨大产业体系。房地产业是从事房地产开发、经营、管理和服务活动的行业和部门的总称。 ●房地产业与建筑业的关系:房地产业的发展为建筑业提供了巨大的空间,建 筑业的技术进步和成本高低对房地产产品的品质和经营效益有着直接的影响。区别:区分的根本原则就是要牢牢把握第二产业和第三产业的区别,即第三产业不涉及物质生产过程。 ●房地产业的运行环境极其影响因素:经济环境:城市或区域总体经济发展水 平;就业;支付能力;产业结构;基础设施状况;利率和通货膨胀。政治环境:政治体制、政局稳定性;政府能力、政策连续性;公众对海外资金的态度。 社会环境:人口数量和结构;家庭结构及其变化;居民思想观念;社会和城市发展形态。金融环境:宏观金融政策;金融工具完善程度、资金市场发育程度。法律制度环境:与房地产有关的规则,包括现行法律与相关政策。技术环境:建筑材料、建筑施工技术和工艺、建筑设备的进步,更为重要的是信息技术的发展和应用,以及由此带来的房地产业信息化要求。资源环境:土地、能源等资源约束。国际环境:国际资金流动和经济全球化。 ●次贷危机及其影响(论述题)。 ●房地产业可持续发展的措施:合理利用土地资源,杜绝土地的浪费;规范和 引导房地产市场的有序竞争行为;房地产业要做到与时俱进,不断创新;建立房地产业的预警系统;加强房地产中介服务机构的管理,实现房地产服务专业化。 ●保障性住房的概念:保障性住房是我国城镇住宅建设中较具特殊性的一种住 宅类型,它通常是指根据国家政策以及法律法规的规定,由政府统一规划、统筹,提供给特定的人群使用,并且对该类住房的建造标准和销售价格或租金标准给予限定,起社会保障作用的住房。 ●保障性住房的分类:两限商品住房;经济适用房;廉租房;政策性租赁房。 ●保障性住房政策的国际经验:德国、新加坡(自己看)。 ●万达四次转型:第一次转型1993年走出大连,万达由地方企业向全国性企 业转型,突破地域局限,为做大企业规模奠定基础;第二次转型是2000年,由住宅向商业地产转型,这次转型成就了万达商业模式,使万达商业地产在中国一骑绝尘,成为全球不动产的领袖企业;第三次转型是从2006年开始,大规模进军文化旅游产业,使万达由单一的房地产企业发展为综合性企业集团;第四次转型是从2010年开始的,带来万达国际化。 ●旧城改造特点:优点:旧城区一般处于城市中心,是商业、文化活动的聚居 地,人流量大,项目建成后出售或出租的价格水平较高,能够给投资经营者带来极差效益,好的获利前景吸引着众多的开发商地理位置优越,有良好的

房地产开发流程及前期报建经验分享(三)

浅谈房地产开发经验 11、施工许可证 施工许可证所须材料基本上是上面全部手续一个汇总。缺一不可。在我个人的职业生涯中,我从来没有经历过能办齐上面所有的手续,再申领施工许可证 的。在我与同行的交流中,我也从来没见过老老实实的一步步完成所有手续,再来办施工许可手续的。要这样的话,绝对没1年的时间出不来。不相信的同学,请 回头再把前面10个大项看一遍,基本上每个大项里的每一个小项的工作日不会少于20个。而且得一步一步来。这是什么概念?这是卡死你的概念。随便哪个环节 出了任何问题,直接就GAME OVER。 在改革开发之初,外资企业刚进中国的时候,有个著名的段子,说是有个企业要搞一个项目,前后盖了200多个章,事还没办成。最后撤资了,不干 了。上级政府震怒,云云。现在改革开发这么多年了,我们好到哪里去了吗?我们的办事流程方便吗?我们能方便快捷的为企业服务吗? 到了今时今日,还有什么企业抱怨过政府管得太严,太死,审批环节太复杂吗?听不到了。为什么?因为大家统统都已经适应了这个游戏规则。大家已 经在这个圈子中取得了某种平衡,达成了某项交易。在这种情况下,改革办事流程,简化办事程序,反而会阻碍办事效率。

我知道我这么说,会有很多粪青完全不能理解。我就这么告诉你们:大家都已经把潜规则当成了规则。这些规则维系着房地产这个产业。在每一个程序 中,在每一个环节中,都存在利益分配,都存在制衡。这个系统在经过10多年的运做之后,它本身已经具有了生命力,绝对是牵一发而动全身。 因此,我们经常可以看到,除了一些管理相对规范和严格的大城市,很多的城市都可以在未领取施工许可证的情况下就干上了很多工作,譬如土方工 程,一般都是先动的。这就是一种双方博弈之后达到的平衡。哪怕是在这些管理相对规范的大城市,也有空子可以钻,比如基坑支护可以先发一个单独的施工许 可证,然后再发地下室部分的施工许可证,再发地上部分。这么把一个项目分割成很多部分发证。为什么?因为这是双方一起适应,互相妥协的结果。政府要是 把企业都给玩死了,他们就没得玩了。 12、放线、验线 这个就简单的说一说吧。图纸画出来之后,要把图纸上的建筑物在实地上落实一个具体的位置,这是个技术活,要测量,定坐标。这个活就叫放线。放线一般是 规划部门下属的测绘院或类似的测绘机构干,不过有些发达城市也已经把这个工作半市场化了。嘿嘿,又来一个半市场化。正式放线的前提是领取了施工许可 证。放线后,测绘院会发出一份放线册。 在工程提前施工,违章施工的场合,都需要做通这个测绘院的工作。让他们提前来做放线。唉,又来一个“做通”工作。

《数码宝贝物语:骇客追忆》全追忆

《数码宝贝物语:骇客追忆》全追忆文档入手地点一览数码宝贝物语骇客追忆里当我们获得追忆文档可以更好的帮助我们了解游戏剧情和世界观,鉴于还有玩家不太了解追忆文档的分布,小编在这里为大家带来了玩家“sciencelife”分享的数码宝贝物语骇客追忆全追忆文档入手地点一览,可不要错过哦。 全追忆文档入手地点一览 注:所谓的章节之后是指本章就可以拿到,之后回来捡也可以。 1hudie的记忆1第三章后网络咖啡厅蝴蝶艾丽卡的房间门 附近 2hudie的记忆2第四章后网络咖啡厅蝴蝶艾丽卡的房间 3hudie的记忆3十一章后kowloon LV1破铜烂铁公园的滑梯 上 4hudie的记忆4十二章后网络咖啡厅蝴蝶主角的上网隔间 左侧第二个隔间 5hudie的记忆5十三章后网络咖啡厅蝴蝶主角的隔间对面6龙司的记忆1十一章后池袋北侧地下水族馆中 7龙司的记忆2十七章后御台场联络桥左侧远处警察面前(需要打完阿卡迪兽) 8千岁的记忆十六章后中央医院一般病房千岁的病房(艾莉卡病房右边的病房) 9优的记忆1十五章后池袋网络咖啡厅蝴蝶废墟前10优的记忆2十五章后保坂伺服器最深处 11优的记忆3十五章后K的伺服器最深处咖啡厅里(从数码实验室进入) 12JUDE的记忆第六章后under kowloon LV3地上13末堂的记忆十六章后登入EDEN的神代企业地上14菲的日记第四章后ZAXON广*场 15悠子的日记第四章后中央医院特别病房集中治疗室前 地上 16某位侦探助手的日记十一章后中野BW暮海侦探事务所门口 17良太的记忆十七章后新宿站前广*场EDEN登入电话亭右下的垃圾箱(需要打完阿卡迪兽 ) 18红莲骑士兽的记忆十七章后御台场电话亭左下方地上 19某人的记忆第二章后EDEN自由区域登入点北边方砖后 下边补图 20霎那蜂鸟Full十四章后完成重要委托【向迷惑的恶魔伸 出Ai之手】 21幸福骇客的记录1-9无参考NAVIT列表22主人公的回忆录1-7通关后深渊伺服器拾取

实验四wireshark教程

Wireshark教程 当前,互联网已经越来越成为人们生活中必不可少的组成部分。面对日益复杂的网络环境,网络管理员必须花费更很多的时间和精力,来了解网络设备的运作情况,以维持系统的正常运行。当网络趋于复杂,就必须借助于专业的工具了。因此,作为一个网络管理人员和网络从业者,熟练掌握和运用一套网络管理软件来对整个网络进行协议分析,是一个必不可少的技能。 当前较为流行的网络协议嗅探和分析软件—Wireshark 。通过使用抓包工具,来准确而快速地判断网络问题的所在,大大缩短寻找问题的时间。 网络管理人员的私人秘书—Wireshark 网络流量分析是指捕捉网络中流动的数据包,并通过查看包内部数据以及进行相关的协议、流量分析、统计等来发现网络运行过程中出现的问题,它是网络和系统管理人员进行网络故障和性能诊断的有效工具。通常,人们把网络分析总结为四种方式:基于流量镜像协议分析,基于 SNMP 的流量监测技术,基于网络探针( Probe )技术和基于流( flow )的流量分析。而我们下面要向大家介绍的 Wireshark 就是基于流量镜像协议分析。 流量镜像协议分析方式是把网络设备的某个端口(链路)流量镜像给协议分析仪,通过 7 层协议解码对网络流量进行监测。但该方法主要侧重于协议分析,而非用户流量访问统计和趋势分析,仅能在短时间内对流经接口的数据包进行分析,无法满足大流量、长期的抓包和趋势分析的要求。 Wireshark 的前身是著名的 Ethereal 。 Wireshark 是一款免费的网络协议检测程序。它具有设计完美的 GUI 和众多分类信息及过滤选项。下面是 Wireshark 的界面。 用户通过 Wireshark ,同时将网卡插入混合模式,可以用来监测所有在网络上被传送的包,并分析其内容。通过查看每一封包流向及其内容,用来检查网络的工作情况,或是用来发现网络程序的 bugs 。 Wireshark 是一个开放源码的网络分析系统,也是是目前最好的开放源码的网络协议分析器,支持 Unix Linux 和 Windows 平台。由于 Wireshark 是 Open Source ,更新快,支持的协议多,特别是数据包过滤功能灵活强大。 Wireshark 提供了对 TCP 、 UDP 、 SMB 、 telnet 和 ftp 等常用协议的支持。它在很多情况下可以代替价格昂贵的 Sniffer 。 安装好后,双击桌面上的 Wireshark 图标,运行软件。再捕捉数据包之前,首先要对捕获的条件进行设置。点击工具栏里的“Capture à Options”,(图一)或者直接点击快捷按钮(图二),打开选项设置页面(图三)。

实验一-Wireshark的安装与使用

一、实验目的 1、熟悉并掌握Wireshark的基本使用; 2、了解网络协议实体间进行交互以及报文交换的情况。 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、预备知识 要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。 观察正在运行的协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer),又称分组捕获器。顾名思义,分组嗅探器捕获(嗅探)你的计算机发送和接收的报文。 图显示了一个分组嗅探器的结构。 图分组嗅探器的结构 图右边是计算机上正常运行的协议和应用程序(如:Web浏览器和FTP客户端)。分组嗅探器(虚线框中的部分)主要有两部分组成:第一是分组捕获器,其功能是捕获计算机发送和接收的每一个链路层帧的拷贝;第二个组成部分是分组分析器,其作用是分析并显示协议报文所有字段的内容(它能识别目前使用的各种网络协议)。 Wireshark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组

嗅探器,是一个开源免费软件,可以从下载。 运行Wireshark 程序时,其图形用户界面如图所示。最初,各窗口中并无数据显示。Wireshark 的界面主要有五个组成部分: 命令和菜单 协议筛选框 捕获分组 列表 选定分组 首部明细 分组内容 左:十六进制 右:ASCII码 图 Wireshark 主界面 命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。 协议筛选框(display filter specification):在该处填写某种协议的名称,Wireshark据此对分组列表窗口中的分组进行过滤,只显示你需要的分组。 捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。单击某一列的列名,可以使分组列表按指定列排序。其中,协议类型是发送或接收分组的最高层协议的类型。 分组首部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的首部详细信息。包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“+”即可。 分组内容窗口(packet content):分别以十六进制(左)和ASCII码(右)两种格式显示被捕获帧的完整内容。

Wireshark使用教程(精品)

Wireshark使用教程 第 1 章介绍 1.1. 什么是Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 1.1.1. 主要应用 下面是Wireshark一些应用的举例: ?网络管理员用来解决网络问题 ?网络安全工程师用来检测安全隐患 ?开发人员用来测试协议执行情况 ?用来学习网络协议 除了上面提到的,Wireshark还可以用在其它许多场合。 1.1. 2. 特性 ?支持UNIX和Windows平台 ?在接口实时捕捉包 ?能详细显示包的详细协议信息 ?可以打开/保存捕捉的包 ?可以导入导出其他捕捉程序支持的包数据格式 ?可以通过多种方式过滤包 ?多种方式查找包 ?通过过滤以多种色彩显示包 ?创建多种统计分析 ?…还有许多 不管怎么说,要想真正了解它的强大,您还得使用它才行

图 1.1. Wireshark捕捉包并允许您检视其内 1.1.3. 捕捉多种网络接口 Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到https://www.doczj.com/doc/4c16498236.html,/CaptureSetup/NetworkMedia. 1.1.4. 支持多种其它程序捕捉的文件 Wireshark可以打开多种网络分析软件捕捉的包,详见??? 1.1.5. 支持多格式输出 Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见??? 1.1.6. 对多种协议解码提供支持 可以支持许多协议的解码(在Wireshark中可能被称为解剖)??? 1.1.7. 开源软件 Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。 1.1.8. Wireshark不能做的事 Wireshark不能提供如下功能 ?Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]?Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。 1.2. 系通需求

最新房地产前期开发报建工作的经验

房地产前期开发报建工作的经验 房地产开发是一项综合性很强的系统工程。整个开发流程是从拿地前的可行性分析到项目的规划设计再到施工、经营销售最后验收交付的一个持续性过程。这个过程具有涉及面广、开发周期长、投入资金大、环节繁多等特征。其中涉及多个政府部门对每一环节的审批和监管。任何环节的变化,都可能导致项目周期拉长、成本上升等风险。因此,项目开发必须遵循一定的程序,科学地开展工作。 作为开发企业开发一个项目,报建流程贯穿于整个项目的开发流程之中,每个环节必须要经过政府相关职能部门和各相关机构的登记审核,并严格按照有关的法定程序进行。各种相关性手续及政府部门的批文是项目得以顺利开展的重要“通行证”。因此开发企业的报建流程管理工作构成了房地产企业流程管理的重要组成部分。在整个房地产项目的开发流程中,开发企业在政府各相关部门的监督管理下,通过内部各组织部门间经营活动的相互协调,并不断从政府各监督管理部门获取且反馈信息以最终完成项目开发目标,实现企业的经济效益和社会效益,报建显得尤为重要和关键。作为前期报建人,脑海中要始终强调时间管理的重要性并寻找优化报建流程中的关键路线,压缩整个项目的开发时间,提高自身资源整合能力和项目运作水平,防范并有效降低风险,增强企业的市场竞争力将是前期报建工作的核心。 作为前期报建人员日常工作中须做到“准、快”相对应的是“两拿”: 一是“拿人”。“拿人”是前期报建工作重点,关于人一定要认一个“准”字。从“拿地”到“拿证”到建设要行走于大大小小的几十个政府部门之间,最常涉及的几个部门:规划局、国土局、建设局、房管局、消防局、环保局、人防办、市政主管部门、水电燃气各主管部门,要尤为重视“准”字。这里要着重关注几门学问:一是政策解读,这些主管部门的人员可以说水平不一,学院派、江湖派、行政派鱼龙混杂。遇到懂行的交朋友拜师,遇到不懂行的咱们出主意,有条件上,没条件创造条件上。朋友帮你,一定要帮朋友想好退路。“思危、思退、思变”这是为官者的做事本质原则。业务熟练政策清晰,换位思考,他们也愿意交这样的朋友,这也是魅力所在之处。二是人脉梳理,理清这张网似乎事情就已经成功了一半,公司治理、渠道建立、“上压、下供”法等都是其精髓所在。

动画工作室物语攻略(附:相性表)

动画工作室物语玩法( 附:相性表) 1.动画制作 进入游戏后,点击左上角的图标或者菜单选项→制作→新作动画。接下来按照提示要求选择相应的放送局、舞台、内容、主人公等等,再选择监督指明,接下来就可以开始制作动画了!不过制作过程就不需要我们操心了,一切都由社员们完成。 制作新动画 2.后期收尾 这主要是为了去除NG场景,否则会造成放送失败。不过一旦有NG场景存在,细心的小秘书还会提醒大家去除,如果无视她的提醒强行放送的话则会出现事故,减少粉丝,扣除费用。小编在此动画工作室物语攻略当中已经提醒了大家,可千万不要犯此差错哦! 3.员工挑战

这主要是出现在脚本收尾成功之后,随机出现,小编建议大家都可以选择挑战,但挑战不一定就不会成功哦。为防止挑战失败,玩家可以通过增加资料点数的消耗提高成功率。 4.粉丝数/支持者数增加 在动画工作室物语攻略当中,增加粉丝/支持者数的途径有很多,例如提高动画质量、增加宣传措施、选择合适的电视台等等,但是有一点略坑爹的是,动画工作室物语粉丝的人数上限是999,至于这是设计者们故意而为之还是游戏bug我们就不得而知了。 粉丝数量统计 5.角色设计 动画工作室物语攻略中很有意思的一个地方就是角色设计,玩家可以在游戏页面点击菜单→制作→角色图鉴,然后在后面的空白框中点击制作新角色,决定角色名字、人物造型、个人属性等等,并且该角色还可以应用于动画当中。

PS.玩家可以尝试多种人物造型,充分发挥主观能动性,小编就曾见过有的玩家所设计的角色使用了老爷爷的头像、身穿比基尼妙龄女子的体型,看上去着实好玩~ 6.社员培养 点击社员即可选择教育和升级。动画工作室物语攻略中教育的主要功能就是提高社员画力、剧本、感觉、音响等属性,员工属性值越出色制作出的动画质量越高,就越能吸引观众的目光。除此之外,还可以通过升级社员等级来提高动画质量,当任一社员等级升至5级即满级之后即可选择转职,出现新的职业。 7.舞台及内容选择 舞台、内容的选择直接关系到动画质量、评分的高低,当动画评分高达98时即可获得“杰作”的评价。不过本篇动画工作室物语攻略篇幅有限,故无法完全展示所有杰作搭配,有兴趣的玩家可以点击前去查看杰作搭配攻略。 选择舞台及内容

Wireshark使用教程

第 1 章介绍 1.1. 什么是Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 1.1.1. 主要应用 下面是Wireshark一些应用的举例: ?网络管理员用来解决网络问题 ?网络安全工程师用来检测安全隐患 ?开发人员用来测试协议执行情况 ?用来学习网络协议 除了上面提到的,Wireshark还可以用在其它许多场合。 1.1. 2. 特性 ?支持UNIX和Windows平台 ?在接口实时捕捉包 ?能详细显示包的详细协议信息 ?可以打开/保存捕捉的包 ?可以导入导出其他捕捉程序支持的包数据格式 ?可以通过多种方式过滤包 ?多种方式查找包 ?通过过滤以多种色彩显示包 ?创建多种统计分析 ?…还有许多 不管怎么说,要想真正了解它的强大,您还得使用它才行 图 1.1. Wireshark捕捉包并允许您检视其内

1.1.3. 捕捉多种网络接口 Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到https://www.doczj.com/doc/4c16498236.html,/CaptureSetup/NetworkMedia. 1.1.4. 支持多种其它程序捕捉的文件 Wireshark可以打开多种网络分析软件捕捉的包,详见??? 1.1.5. 支持多格式输出 Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见??? 1.1.6. 对多种协议解码提供支持 可以支持许多协议的解码(在Wireshark中可能被称为解剖)??? 1.1.7. 开源软件 Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。 1.1.8. Wireshark不能做的事 Wireshark不能提供如下功能 ?Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]?Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。 1.2. 系通需求 想要安装运行Wireshark需要具备的软硬件条件... 1.2.1. 一般说明 ?给出的值只是最小需求,在大多数网络中可以正常使用,但不排除某些情况下不能使用。[4] ?在繁忙的网络中捕捉包将很容塞满您的硬盘!举个简单的例子:在100MBIT/s全双工以太网中捕捉数据将会产生750MByties/min的数据!在此类网络中拥有高速的CPU,大量的内存和足够的磁盘空间是十分有必要的。 ?如果Wireshark运行时内存不足将会导致异常终止。可以在 https://www.doczj.com/doc/4c16498236.html,/KnownBugs/OutOfMemory察看详细介绍以及解决办法。 ?Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5] 1.2.2. Microsoft Windows ?Windows 2000,XP Home版,XP Pro版,XP Tablet PC,XP Media Center, Server 2003 or Vista(推荐在XP下使用) ?32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明 ?128MB系统内存(建议256Mbytes或更高) ?75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间) 800*600(建议1280*1024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacy GTK1”) ?网卡需求: o以太网:windows支持的任何以太网卡都可以 o无线局域网卡:见MicroLogix support list, 不捕捉802.11包头和无数据桢。 o其它接口见:https://www.doczj.com/doc/4c16498236.html,/CaptureSetup/NetworkMedia

房地产开发基础知识

房地产开发基础知识 一、房地产基本概念 1、核心因素——权利束 (法定的所有权、使用权、抵押权和处分权,具体表现为房产证) 2、市场形态——资金流 (商品特性决定) 3、价值表现——资产价值与使用价值 二、房地产开发的基本程序 注:土地合同包括投资许可证、建设用地规划许可证; 施工包括建筑工程许可证、建设工程开工许可证、商品房预售许可证; 验收入伙包括房屋质量保证书,房屋使用说明书。 1、签订土地合同前: .项目选择——市场供求的实际状况 .可行性分析——利益分成,地价水平,功能价值,成本预估,利润 预期 2、签订土地合同后 1)申请签发宗地图(蓝线图→立项→土地合同→宗地图→红线图→

规 划要点→方案设计→(扩初设计)施工图设计)2)申请富于销售力的规划要点(详细的地块分析—主要价值点、主要 劣势、景观、竞争楼盘) 3)启动资金安排(拖延地价、工程队垫资、分期开发、预售、抵押) 4)设计任务书(前期策划成果—户型比例,建筑风格、容积率、建筑 高度、功能比例、配套设施) 3、销售准备(现场包装、销售资料、团队组建、广告宣传、价格策略) 销售实施(现场销售制度、销售统计分析、宣传策略调整、银行按揭办理) 4、竣工验收 .入伙手续(验楼收楼、缴纳入伙费、办理装修申请、办理缴费手续).办证手续 .物业管理 三、建筑专业名词 1、建筑图纸—→方案图—→初步设计图—→施工图——→施工组织图 施工图:说明性文件(目录、总说明) 建筑施工图(总图、详图)

结构施工图(总图、详图) 机电施工图(水、电、照明、通风) 其它文件(园林、装饰) 2、建筑施工图——总平图、单体平立剖、建筑结构 总平面图:位置、邻近距离、交通组织、标高、技术指标 建筑面积:建筑物各层外墙或外柱外围以水平,投影面积之和 容积率:总建筑面积/建设用地面积(<1.0,1.0~2.0,2.0~4.0) 覆盖率:基底面积/用地面积 建筑分类:多层(26米以下)8层 高层(100米以下)9-12层(小高层) 13-18(中高层) 19-33(高层) 超高层(100米以上) 建筑结构:(地基—基础—墙、柱—梁、板—屋面) 分类:(承重物件)木结构、混合结构、钢砼、钢结构、钢管砼 (受力类型)框架、框剪、框筒、筒体 四、项目开发过程(高层为例) 立项—→策划、设计—→拆迁—→七通一平(前期1年)—→临时设

房地产前期工作心得

房地产前期开发工作心得 根据从事多年房地产前期工作的体会,对前期工作进行了小小的总结。房地产开发是一项综合性很强的系统工程。整个开发流程是从拿地前的可行性分析到项目的规划设计再到施工、经营销售最后验收交付的一个持续性过程。这个过程具有涉及面广、开发周期长、投入资金大、环节繁多等特征。其中涉及多个政府部门对每一环节的审批和监管。任何环节的变化,都可能导致项目周期拉长、成本上升等风险。因此,项目开发必须遵循一定的程序,科学地开展工作。 作为开发企业开发一个项目,报建流程贯穿于整个项目的开发流程之中,每个环节必须要经过政府相关职能部门和各相关机构的登记审核,并严格按照有关的法定程序进行。各种相关性手续及政府部门的批文是项目得以顺利开展的重要“通行证”。因此开发企业的报建流程管理工作构成了房地产企业流程管理的重要组成部分。在整个房地产项目的开发流程中,开发企业在政府各相关部门的监督管理下,通过内部各组织部门间经营活动的相互协调,并不断从政府各监督管理部门获取且反馈信息以最终完成项目开发目标,实现企业的经济效益和社会效益,报建显得尤为重要和关键。作为前期报建人,脑海中要始终强调时间管理的重要性并寻找优化报建流程中的关键路线,压缩整个项目的开发时间,提高自身资源整合能力和项目运作水平,防范并有效降低风险,增强企业的市场竞争力将是前期报建工作的核心。 作为前期报建人员日常工作中须做到“准、快”相对应的是“两拿”: 一是“拿人”。“拿人”是前期报建工作重点,关于人一定要认一个“准”字。从“拿地”到“拿证”到建设要行走于大大小小的几十个政府部门之间,最常涉及的几个部门:规划局、国土局、建设局、房管局、消防局、环保局、人防办、市政主管部门、水电燃气各主管部门,要尤为重视“准”字。这里要着重关注几门学问:一是政策解读,这些主管部门的人员可以说水平不一,学院派、江湖派、行

最全房地产基础知识

房地产基础知识 1、房产 是指房屋经济形态,在法律上有明确的权属关系,在不同的所有者和使用者之间可以进行出租出售或作其它用途的房屋。 2、地产 是指土地财产,在法律上有明确的权属关系,地产包含地面及其上下空间,地产与土地的根本区别也就是有无权属关系。 3、房地产 是房产和地产的总称。是指土地及附着在土地上的人工构筑物和建筑物及其附带的各种权利(所有权、管理权、转让权等)。 4、房地产业 是以土地和建筑物为经营为对象,从事房地产开发、建设、经营、管理以及维修、装饰和服务的集多种经济活动为一体的综合性产业。 5、房地产开发 是指在依法取得土地使用权的土地上按照使用性质的要求进行基础设施、房屋建筑的活动。 6、土地开发 是将“生地”开发成可供使用的土地。 7、土地所有制 现行全部土地实行的是社会主义土地公有制,分为全民所有制(即国家所有)和劳动群众集体制(即集体所有)两种形式。其中,城市市区的土地全部属于国家所有;农村和城市郊区的土地法律规定属于国家所有的以外,属于集体所有;宅基地和自留地、自留山,属于集体所有;矿物、水流、森林、山岭、草原、荒地、滩涂等自然资源,属于国家所有,由法律规定属于集体所有,森林、山岭、草原、荒地、滩涂除外。但地上建筑物既可以为国家所有,也可以为集体、单位和个人所有。因此,同一宗房地产,其土地与地上建筑物的所有权往往是不一致的。 土地的使用年限是如何确定的? 凡与省市规划国土签订《土地使用权出让合同书》的用地,其土地使用年限按国家规定执行。即:居住用地七十年;工业用地五十年;教育、科技、文化、卫生、体育用地五十年;商业、旅游、娱乐用地四十年;综合用地或者其他用地五十年。另外,加油站、加气站用地为二十年。 8、房子的居住时间是多少,土地使用年限届满后,该怎么办? 房屋一经购买并取得产权后,即作为业主个人所有的财产,并无居住年限的限制,担对该房屋所占用范围内的土地来说,因为土地除属于集体所有的外,均属于国家所有。业主所取得的为该土地的一定年限的使用权。住宅用地的土地使用时间为50—70年,自开发商取得该土地使用证书之日起计算。在该土地使用年限届满后,土地将由国家收回。业主可以在继续交纳土地出让金或使用费的前提下,继续使用该土地。 9、土地所有权 土地所有权是指国家或集体经济组织对国家土地和集体土地依法享有的占有、使用、收益和处分的权能。 10、土地使用权的出让

房地产开发前期报建经验总结

房地产开发前期报建经验有哪些? 1、土地证、建设用地规划许可证、规划要点批复阶段 土地证和建设用地规划许可证这两个证,加上规划要点批复,是进行房地产开发的前提.但是,这几样东西领取的先后顺序,非常的有学问。有经验的同志,一看这几样东西的发出时间,基本上就可以判断出地块背后的故事。这三样东西涉及到国土部门和规划部门旷日持久的权力斗争。目前我国法律也没有很好的规范这个问题。 土地证由国土部门颁发,是土地权属证明,房地产开发前期报建经验有哪些?载明了土地用途及使用期限(只是载明);建设用地规划许可证由规划部门颁发,是核定土地用途及用地界线的法律依据;规划要点批复由规划部门颁发,是确定土地使用强度指标的法律依据,如容积率啊建筑密度啊停车位配置要求啊这些指标都在这个批复里体现出来,包括现在的那个小户型比例限制要求,也会在这个文件里体现出来。 一般来说,一块地,必须要由规划部门核定规划要点,颁发了建设用地规划许可证(以下简称地规证)之后,才能领取土地使用权证。这绝对应该是必须的程序。因为国土部门必须依据规划部门核定的土地功能及土地使用强度,才能计算出土地出让金,才能在土地证上载明土地用途及年限。 但是呢,在现实中呢,这个想法只能是理想状态。因为首先,很多地方的国土部门在出让土地的时候,根本不考虑规划,直接就整块出让了。然后给人家办出商住用地土地使用权证。这种让人无法理解的土地出让模式一度非常盛行。然后受让了土地的开发商,再去规划部门软磨硬泡,无论是修改规划也好,还是根本没有规划都好,反正,我的土地出让金是已经交了,剩下的事情你规划部门得给我搞定。 我不是批评这种土地出让模房地产开发前期报建经验有哪些?式容易滋生腐败。要知道,我国正式搞土地出让也只不过是从1990年开始的,而以公开交易的形式搞土地出让,甚至都只是从1997年才正式开始。而北京第一块公开交易的土地,是到2000年之后才上市的。我只不过是说,我国在这个问题上缺乏经验,国际上也没有什么可供借鉴的模式。因为我国的房地产管理体系那绝对是全世界独有的。愤青们不要在这里给我指三道四。我在这个行业浸了这些年了,

Wireshark中文使用说明

Wireshark中文使用说明 Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!!wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。 在成功运行Wireshark之后,我们就可以进入下一步,更进一步了解这个强大的工具。下面是一张地址为192.168.1.2的计算机正在访问“https://www.doczj.com/doc/4c16498236.html,”网站时的截图。 1. MENUS(菜单) 2. SHORTCUTS(快捷方式) 3. DISPLAY FILTER(显示过滤器) 4. PACKET LIST PANE(封包列表) 5. PACKET DETAILS PANE(封包详细信息) 6. DISSECTOR PANE(16进制数据) 7. MISCELLANOUS(杂项) 1. MENUS(菜单) 程序上方的8个菜单项用于对Wireshark进行配置: - "File"(文件) - "Edit" (编辑) - "View"(查看) - "Go" (转到) - "Capture"(捕获) - "Analyze"(分析)

- "Statistics" (统计) - "Help" (帮助)打开或保存捕获的信息。 查找或标记封包。进行全局设置。 设置Wireshark的视图。 跳转到捕获的数据。 设置捕捉过滤器并开始捕捉。 设置分析选项。 查看Wireshark的统计信息。 查看本地或者在线支持。 2. SHORTCUTS(快捷方式) 在菜单下面,是一些常用的快捷按钮。 您可以将鼠标指针移动到某个图标上以获得其功能说明。 3. DISPLAY FILTER(显示过滤器) 显示过滤器用于查找捕捉记录中的内容。 请不要将捕捉过滤器和显示过滤器的概念相混淆。请参考Wireshark过滤器中的详细内容。 返回页面顶部 4. PACKET LIST PANE(封包列表) 封包列表中显示所有已经捕获的封包。在这里您可以看到发送或接收方的MAC/IP地址,TCP/UDP端口号,协议或者封包的内容。 如果捕获的是一个OSI layer 2的封包,您在Source(来源)和Destination(目的地)列中看到的将是MAC地址,当然,此时Port(端口)列将会为空。 如果捕获的是一个OSI layer 3或者更高层的封包,您在Source(来源)和Destination(目的地)列中看到的将是IP地址。Port(端口)列仅会在这个封包属于第4或者更高层时才会显示。 您可以在这里添加/删除列或者改变各列的颜色:Edit menu -> Preferences 5. PACKET DETAILS PANE(封包详细信息) 这里显示的是在封包列表中被选中项目的详细信息。 信息按照不同的OSI layer进行了分组,您可以展开每个项目查看。下面截图中展开的是

最全房地产基础知识讲解

房地产基础知识 1、房产:房屋产权的简称。 2、地产:是指土地财产。 3、房地产:是房产和地产的总称。 4、房地产业:从事房地产开发、建设、经营、管理以及维修、装饰和服务的综合性产业。 5、房地产开发:是指在依法取得土地使用权的土地上按照使用性质的要求进行基础设施、房屋建筑的活动。 6、土地开发:是将“生地”开发成可供使用的土地。 7、集体土地:是指农村集体所有的土地。 8、征用土地:指国家为了公共利益的需要,可依照法律规定对集体所有的土地实行征用。 9、土地所有权:是指国家或集体经济组织对国家土地和集体土地依法享有的占有、使用、收益和处分的权能。 10、土地使用权的出让:指国家以协议、招标、拍卖的方式将土地所有权在一定年限内出让给土地使用者,由使用者向国家支付土地使用权出让金的行为。 11、土地使用权转让:是指土地使用者通过出售、交换、赠与和继承的方式将土地使用权再转移的行为。 12、地籍、产籍:是对在房地产调查登记过程产生的各种图表、证件等登记资料,经过整理、加工、分类而形成的图、档、卡、册等资料的总称。 13、生地:不具备开发条件的土地。

14、熟地:指已完成三通一平或七通一平,具备开发条件的土地。 15、宗地:是地籍的最小单元,是指以权属界线组成的封闭地块。 16、宗地图:是土地使用合同书附图及房地产登记卡附图。它反映一宗地的基本情况。包括:宗地权属界线、界址点位置、宗地内建筑位置与性质、与相邻宗地的关系等。 17、证书附图:即房地产后面的附图,主要反映房地产情况及房地产所在宗地情况。 18、物业管理:泛指一切有关房地产开发、经营、商品房销售、租赁及售后服务。 19、业主委员会:是在物业管理区域内代表全体业主实施自治管理的组织。是代表物业全体业主合法权益的社会团体,其合法权益受国家法律保护。 20、业主委员会的产生:由业主大会从全体业主中选举产生。 21、住房补贴:住房补贴是国家为职工解决住房问题而给予的补贴资助。 22、房屋的所有权:是指对房屋全面支配的权利。 23、房地产交易形式:主要有两种:地产交易形式与房产交易形式。 24、建筑物:是指人工建造而成的房屋和构筑物,如墙体、楼地层、楼梯、门窗基础。 25、构筑物:是指建筑物中除房屋以外的东西,人们一般直接在内进行生产和生活活动,如烟囱、水井、道路、桥梁等。 26、期房:是指消费者在购买时不具备即买即可入住的商品房。 27、期房的介定:房地产开发商拿到商品房预售许可证开始至取得房地产权证大产证(或竣工验收合格可以直接入住使用)为止。

Wireshark简明使用教程

Wireshark简明使用教程 wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的工具。 (1)Wireshark的启动界面和抓包界面 启动界面: 抓包界面的启动是 按file下的按钮 之后会出现

这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击start 开始抓包 这个就是抓包的界面了(也是主界面)

(2)Wireshark主窗口由如下部分组成: 1.菜单——用于开始操作。 2.主工具栏——提供快速访问菜单中经常用到的项目的功能。 3.Fiter toolbar/过滤工具栏——提供处理当前显示过滤得方法。 4.Packet List面板——显示打开文件的每个包的摘要。点击面板中的单独条目,包 的其他情况将会显示在另外两个面板中。 5.Packet detail面板——显示您在Packet list面板中选择的包的更多详情。 6.Packet bytes面板——显示您在Packet list面板选择的包的数据,以及在Packet details面板高亮显示的字段。 7.状态栏——显示当前程序状态以及捕捉数据的更多详情。 1.菜单栏 主菜单包括以下几个项目: File ——包括打开、合并捕捉文件,save/保存,Print/打印,Export/导出捕捉文件的全部或部分。以及退出Wireshark项. Edit ——包括如下项目:查找包,时间参考,标记一个多个包,设置预设参数。(剪切,拷贝,粘贴不能立即执行。) View ——控制捕捉数据的显示方式,包括颜色,字体缩放,将包显示在分离的窗口,展开或收缩详情面版的地树状节点 GO ——包含到指定包的功能。 Analyze ——包含处理显示过滤,允许或禁止分析协议,配置用户指定解码和追踪 TCP流等功能。 Statistics ——包括的菜单项用户显示多个统计窗口,包括关于捕捉包的摘要,协议层次统计等等。 Help ——包含一些辅助用户的参考内容。如访问一些基本的帮助文件,支持的协议列表,用户手册。在线访问一些网站,“关于” 2.工具栏(略) 3.过滤工具栏 会弹出对话框

房地产开发与经营知识要点

房地产开发与经营要点 一、简答题 1.简述房地产的特性。 1、位置固定性、个别性 2、使用长期性和用途的多样性 3、产品的政策属性和商品价值属性 4、投资规模性 5、保值增值性6、价格影响因素复杂 2.简述房地产市场的特点及分类。 房地产市场的特点:区域、垄断、竞争不充分、滞后、稀缺、投资投机、交易复杂、金融联系密切、政府干预 房地产市场的类型:房产、地产、相关服务(金融、劳务信息、技术) 房地产市场的体系构成: (1)按市场运行层次划分:一、二、三级市场 (2)按市场交易客体分:土地市场、房产市场、房地产市场 (3)按物业类型划分:住宅、写字楼、商业用房、工业用房等市场 房地产的分类:1、按房地产用途分类:居住、商业、工业、农业、办公、仓储、旅游等 2、按房地产实物形态分类:区位、建筑结构、建筑层数、建筑标准、新旧程度 3、按房地产开发程度分类:生地、熟地、在建工程、现房 4、按房地产权属关系分类:国有、集体、私有、股份、合作、外资等 5、按房地产开发经营内容分类:地产开发、房屋开发、综合开发、房地产服务 3.简述房地产开发的参与者构成。 1、房地产开发企业:包括投资者、开发商 2、政府有关部门:计划、土地、城市规划、建设、房产、开发、工商、税务等行政管理部门 3、承包商和供应商:建筑安装、市政设施、园林绿化等工程承包商;材料、设备供应商 4、金融机构:投资(基金、信托公司)、融资(抵押贷款、担保) 5、房地产中介机构:咨询、评估、代理(销售)等中介公司 6、土地所有者及使用者、房地产消费者或买家。 4.简述房地产市场宏观调控的手段和内容。 1、法律手段 2、经济手段——财政、税收、金融 3、行政手段——土地市场管理、城市规划管理、开发经营市场管理 5.简述房地产开发用地的取得方式。 出让、转让、划拨、与土地使用权拥有者合作。 6.简述土地使用权出让、转让、划拨的概念及适用情况。 1、国有土地使用权出让是指国家以土地所有者的身份将土地使用权在一定年限内让与土 地使用者,并由土地使用者向国家支付土地使用权出让金的行为。 ①招标、拍卖、挂牌出让的适用范围:商业、旅游、娱乐和商品住宅等各类经营性用 地

相关主题
文本预览
相关文档 最新文档