http://www.driverdevelop.com/first.html
2008年10月23日星期四
快乐与痛苦都来源于自己
有一个长跑选手一旦和别人起冲突时,必定要求自己在下次比赛时,超越自己长跑的纪录。而随着时间越来越久,他的速度越来越快,不管面对如何的困难,他总是要求自己坚持下去。
有一次他参加国家选拔,结果他以非常悬殊的距离赢得冠军。比赛后他接受记者的访问,记者说:"请问你如何训练自己?"他如实的回答:"只要和别人争吵,我一定要求自己在下次比赛时突破自己之前的记录,来警惕自己不要与人争执。"
一段时间过后,他参加国际长跑比赛,结果他以冠军的头衔拿到奥运的参赛权。一名国际记者对他进行访问:"请问你是如何训练自己,能够不断超越自己、得以一直破记录?"他还是同样的回答。
又经过一段时间,他参加奥运长跑比赛,结果他得到的第三名。虽然是第三名,但已经是让大家刮目相看,同时也再一次打破他自己的纪录。比赛后那名国际记者又访问他,记者说:"你是如何让自己一直保持在最佳的状态?"
他的回答依然不变:"我只要和别人争吵时,我一定要求自己在下次比赛时破自己之前的纪录,来警惕自己不要和别人争吵"。
其实大家只看到他一直在破纪录,可是在他的心里根本不在乎纪录。他真正在乎的是就是平稳自己的心,让自己比赛时越来越专心,同时不断提升自己的速度。而他迈向成功的过程是我们可以学习的,若平心、仔细的去想,任何的事情都不会使人生气,会让人生气的永远是自己。
快乐与痛苦同样都来源于自己。
2008年10月19日星期日
PRJ_DIR 表示工程路径
<BEGIN> FILE_$(WIND_BASE)/target/config/pcPentium/sysALib.s_dependencies
$(PRJ_DIR)/prjComps.h \
$(PRJ_DIR)/prjParams.h
<END>
Makefile的宏定义
Makefile文件控制镜像的创建,在Makefile文件里使用了将近135个宏,最简单的Makefile文件要包含以下的宏:
・CPU:目标板CPU的类型;
・TOOL:主机的make工具,为GNU;
・TGT_DIR:target路径,默认为$(WIND_BASE)/target;
・TARGET_DIR:BSP目录名;
・VENDER:目标板生产商名;
・BOARD:目标板名;
・ROM_TEXT_ADRS:boot ROM的入口地址(以16进制表示,并且与config.h文件定义相同);
・ROM_SIZE:ROM的大小;
・RAM_LOW_ADRS:加载vxWorks的目标地址;
・RAM_HIGH_ADRS:boot ROM拷贝到RAM的目标地址;
・HEX_FLAGS:特殊结构的标记,用于产生S-记录文件;
・MACH_EXTRA:扩展文件,用户可以加入自己的目标模块;
・除此以外,Makefile文件还需要包括以下文件:
・$(TGT_DIR)/h/make/defs.bsp:Vxworks系统运行的标准变量定义;
・$(TGT_DIR)/h/make/make.$(CPU)$(TOOL):提供了特别的目标机结构和一套编译工具,如make. ARM7TDMI_Tgnu;
・$(TGT_DIR)/h/make/defs.$(WIND_HOST_TYPE):提供了与主机系统有关的定义;
・rules.bsp:在创建目标文件时所需要的规则;
・rules. $(WIND_HOST_TYPE):指出创建目标文件时所需的从属文件表;
・如果没有用all目录下的文件而是拷贝到bspname下修改并使用,需要定义与这些文件有关的宏,如
BOOTINIT=bootInit.c
这样在创建镜像时就不会用all目录下的文件而使用bspname目录下的相应文件了;
・在Makefile文件里凡是16进制数前面都无需加"0x";
bspname.h
根据具体目标板设置串行接口、时钟以及I/O设备等。在该文件中必须包含以下内容:
・中断向量/级别
・I/O设备地址
・设备寄存器位的含义
・系统和附加时钟参数(最大和最小速率)
config.h
根据目标板的具体情况配置宏定义,注意ROM_TEXT_ADRS、ROM_SIZE、RAM_LOW_ADRS、RAM_HIGH_ADRS要与Makefile文件里定义的一致,LOCAL_MEM_LOCAL_ADRS和LOCAL_MEM_SIZE要正确。
romInit.s
这是系统上电后运行的第一个程序,根据具体目标板对寄存器和CPU进行设置;以CPU为ARM7TDMI为例,romInit.s 需要进行的工作有:
・保存启动方式:对于冷启动,如果CPU配置的是HIGH VECTORS,就设置入口地址为0xFFFF0000,否则设置入口地址为0x00000000;
・屏蔽中断:通过设置cpsr的I_BIT和F_BIT都为1来实现,还要设置中断寄存器为关模式,同时设定运行模式为SVC32模式;
・初始化堆栈指针pc和sp:堆栈指针sp指向STACK_ADRS,这个宏的定义为当镜像为驻留ROM时,该宏值为_sdata,当镜像为非驻留ROM时该宏值为_romInit,这两个地址经过地址映射后都指向被拷贝镜像在RAM的目标地址;
・初始化cache,屏蔽cache;
・根据具体目标板的需要初始化其他寄存器;
・指针跳转到romStart()函数并执行;
bootConfig.c
一般不需要用户修改,也可以根据具体情况做适当修改;
sysALib.s
与romInit.s文件实现的功能相似,但如果在romInit.s文件里对DRAM和内存控制器进行了初始化在这里不再进行这项工作;
创建VxWorks镜像
根据具体需要在命令行环境下利用Makefile创建各种镜像,也可以在Tornado的集成环境下Build菜单中选择Build Boot ROM来创建各种类型的Boot ROM;
除此以外,如果系统硬件包括串口,还要根据具体情况修改sysSerial.c文件;如果包含网络部分要修改configNet.h;如果包含NVRAM要修改bootnv.h文件。总之,BSP的开发要根据具体目标板的硬件进行。
结语
我们已经利用基于VxWorks的BSP开发包成功的进行了线缆调制解调器的底层软件开发。在开发过程中深感BSP在整个系统软件中的重要性――没有正确的BSP软件,整个系统的启动和运行也不会正确。另外需要强调的是:BSP的概念只是针对嵌入式操作系统而言的,而像DOS、WINDOWS、UNIX等BIOS操作系统是无BSP可言的。对同一目标板而言,不同操作系统的BSP在本质上是一样的,但是不同的操作系统将提供不同的支持库,另外在BSP结构上也可能会有所不同,在做BSP移植的时候应该注意。■
2008年10月17日星期五
DL645 可以写设备地址
7.6 写设备地址
7.6.1 写设备地址请求命令帧
功能:设置某从站的地址码
控制码:C=0AH
地址域:99⋯99H
数据长度:L=06H
数据域:A0⋯A5(设备地址码)
帧格式:
68H 99H ⋯ 99H 68H 0AH 06H A0 ⋯ A5 CS 16H
注:本请求命令采用广播地址发布,要求被设置的从站有相应的按键(开关 一般公司喜欢用翻页键)与该命令配
合,在命令发布的全部时间内按下按键者响应,其它不响应。
7.6.2 从站正常应答帧
功能:正确执行命令的设备应答
控制码:C=8AH
地址域:A0⋯A5(新设置的设备地址码)
数据长度:L=00H
帧格式:
68H A0 ⋯ A5 68H 8AH 00H CS 16H
7.7 更改通信速率
7.7.1 更改速率请求
采样数据块方式报文:
<P2:15:30:16.910>Send: - DL/T 645主 - 读取正向有功电能数据块
68 01 00 00 00 00 00 68 01 02
<P2:15:30:17.10>Echo: - DL/T 645子 - 响应正向有功电能数据块
68 01 00 00 00 00 00 68 81 16
<P2:15:30:17.160>Send: - DL/T 645主 - 读取正向无功电能数据块
68 01 00 00 00 00 00 68 01 02
<P2:15:30:17.260>Echo: - DL/T 645子 - 响应正向无功电能数据块
68 01 00 00 00 00 00 68 81 16
<P2:15:30:17.400>Send: - DL/T 645主 - 读取反向有功电能数据块
68 01 00 00 00 00 00 68 01 02
<P2:15:30:17.490>Echo: - DL/T 645子 - 响应反向有功电能数据块
68 01 00 00 00 00 00 68 81 16
<P2:15:30:17.650>Send: - DL/T 645主 - 读取反向无功电能数据块
68 01 00 00 00 00 00 68 01 02
<P2:15:30:17.750>Echo: - DL/T 645子 - 响应反向无功电能数据块
68 01 00 00 00 00 00 68 81 16
<P2:15:30:17.910>Send: - DL/T 645主 - 读取正向有功最大需量数据块
68 01 00 00 00 00 00 68 01 02 52 D
<P2:15:30:18.10>Echo: - DL/T 645子 - 响应正向有功最大需量数据块
68 01 00 00 00 00 00 68 81 0E 52 D3 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D E1 16
<P2:15:30:18.160>Send: - DL/T 645主 - 读取正向无功最大需量数据块
68 01 00 00 00 00 00 68 01 02 52 D4 FA 16
<P2:15:30:18.240>Echo: - DL/T 645子 - 响应正向无功最大需量数据块
68 01 00 00 00 00 00 68 81 05 52 D4
<P2:15:30:18.400>Send: - DL/T 645主 - 读取反向有功最大需量数据块
68 01 00 00 00 00 00 68 01 02 62 D3 09 16
<P2:15:30:18.480>Echo: - DL/T 645子 - 响应反向有功最大需量数据块
68 01 00 00 00 00 00 68 81 05 62 D3
<P2:15:30:18.650>Send: - DL/T 645主 - 读取反向无功最大需量数据块
68 01 00 00 00 00 00 68 01 02 62 D4
<P2:15:30:18.730>Echo: - DL/T 645子 - 响应反向无功最大需量数据块
68 01 00 00 00 00 00 68 81 05 62 D4 3D 3D 3D 44 16
<P2:15:30:18.890>Send: - DL/T 645主 - 读取上月正向有功最大需量数据块
68 01 00 00 00 00 00 68 01 02 52 D7 FD 16
<P2:15:30:18.990>Echo: - DL/T 645子 - 响应上月正向有功最大需量数据块
68 01 00 00 00 00 00 68 81 0E 52 D7 9E 9E 9E 9E 9E 9E 9E 9E 9E 9E 9E 9E F1 16
<P2:15:30:19.150>Send: - DL/T 645主 - 读取上月正向无功最大需量数据块
68 01 00 00 00 00 00 68 01 02 52 D8 FE 16
<P2:15:30:19.230>Echo: - DL/T 645子 - 响应上月正向无功最大需量数据块
68 01 00 00 00 00 00 68 81 05 52 D8 40 40 40 41 16
<P2:15:30:19.390>Send: - DL/T 645主 - 读取上月反向有功最大需量数据块
68 01 00 00 00 00 00 68 01 02 62 D7 0D 16
<P2:15:30:19.470>Echo: - DL/T 645子 - 响应上月反向有功最大需量数据块
68 01 00 00 00 00 00 68 81 05 62 D7 41 41 41 53 16
<P2:15:30:19.640>Send: - DL/T 645主 - 读取上月反向无功最大需量数据块
68 01 00 00 00 00 00 68 01 02 62 D8 0E 16
<P2:15:30:19.710>Echo: - DL/T 645子 - 响应上月反向无功最大需量数据块
68 01 00 00 00 00 00 68 81 05 62 D8 42 42 42 57 16
<P2:15:30:19.880>Send: - DL/T 645主 - 读取正向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 52 E3 09 16
<P2:15:30:19.980>Echo: - DL/T 645子 - 响应正向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 12 52 E3
<P2:15:30:20.140>Send: - DL/T 645主 - 读取正向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 52 E4
<P2:15:30:20.230>Echo: - DL/T 645子 - 响应正向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 06 52 E4 43 43 43 43
<P2:15:30:20.390>Send: - DL/T 645主 - 读取反向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 62 E3 19 16
<P2:15:30:20.460>Echo: - DL/T 645子 - 响应反向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 06 62 E3 44 44 44 44 AD 16
<P2:15:30:20.630>Send: - DL/T 645主 - 读取反向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 62 E4
<P2:15:30:20.710>Echo: - DL/T 645子 - 响应反向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 06 62 E4 45 45 45 45 B2 16
<P2:15:30:20.880>Send: - DL/T 645主 - 读取上月正向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 52 E7 0D 16
<P2:15:30:20.980>Echo: - DL/T 645子 - 响应上月正向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 12 52 E7
<P2:15:30:21.140>Send: - DL/T 645主 - 读取上月正向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 52 E8 0E 16
<P2:15:30:21.220>Echo: - DL/T 645子 - 响应上月正向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 06 52 E8 46 46 46 46 AA 16
<P2:15:30:21.380>Send: - DL/T 645主 - 读取上月反向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 62 E7 1D 16
<P2:15:30:21.470>Echo: - DL/T 645子 - 响应上月反向有功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 06 62 E7 48 48 48
<P2:15:30:21.630>Send: - DL/T 645主 - 读取上月反向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 01 02 62 E8 1E 16
<P2:15:30:21.720>Echo: - DL/T 645子 - 响应上月反向无功最大需量发生时间数据块
68 01 00 00 00 00 00 68 81 06 62 E8 47 47 47 47 BE 16
<P2:15:30:21.870>Send: - DL/T 645主 - 读取电压断相时间数据块
68 01 00 00 00 00 00 68 01 02 62 E6
<P2:15:30:21.950>Echo: - DL/T 645子 - 响应电压断相时间数据块
68 01 00 00 00 00 00 68 81 0E 62 E6 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B
<P2:15:30:22.130>Send: - DL/T 645主 - 读取电压断相时间数据块
68 01 00 00 00 00 00 68 01 02 62 E6
<P2:15:30:22.220>Echo: - DL/T 645子 - 响应电压断相时间数据块
68 01 00 00 00 00 00 68 81 0E 62 E6 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B
<P2:15:30:22.380>Send: - DL/T 645主 - 读取电压断相时间数据块
68 01 00 00 00 00 00 68 01 02 62 E6
<P2:15:30:22.470>Echo: - DL/T 645子 - 响应电压断相时间数据块
68 01 00 00 00 00 00 68 81 0E 62 E6 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B
<P2:15:30:22.630>Send: - DL/T 645主 - 读取电压断相时间数据块
68 01 00 00 00 00 00 68 01 02 62 E6
<P2:15:30:22.720>Echo: - DL/T 645子 - 响应电压断相时间数据块
68 01 00 00 00 00 00 68 81 0E 62 E6 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B 3B
2008年10月13日星期一
关于乔丹
http://boke.xizhengren.com/27749/viewspace-16660.html
"空中飞人"迈克尔・乔丹(Michael Jordan)
【项目】篮球 【身高】1.98米
【星座】水瓶座 【出生】1963年2月17号
【体重】98公斤 【位置】得分后卫
【毕业学校】北卡罗来纳大学(North Carolina)84年毕业
1984年NBA选秀第一轮第三顺位被芝加哥公牛选中1993年10月6日一度宣布退出NBA,95年3月18日重新回到NBA,99年1月13日宣布退役。2001年10月31日,在新赛季NBA揭幕战中,乔丹第二次正式复出。在奇才队比赛两个赛季.之后宣布退役,不再回来.
在美国人的十大"文化偶像"中,篮球皇帝――飞人乔丹名列第六……
飞人"乔丹――一个集优雅、力量、艺术、即兴能力于一身的卓越运动员,他重新定义了NBA超级明星的含义,他是公认的全世界最棒的篮球运动员,不仅仅在他所处的那个时代、在整个NBA历史上乔丹都是最棒的。
成为迈克尔・乔丹式的人物,是所有美国人的梦想。迈克尔・乔丹来自纽约的布鲁克林区,后来进入北卡罗来纳大学学习,在那里,他的篮球天赋开始显现。加盟芝加哥公牛队后,乔丹率队6次获得NBA总冠军,5次赢得最有价值球员(MVP)的称号。两度宣布退役,又两度宣布复出,最终于2003年从华盛顿奇才队退役。据估计,截止2002年,飞人乔丹的财产总数为4亿200万美元。乔丹是美国最伟大的篮球运动员。
名言:"我可以接受失败,但无法接受放弃。"
乔丹NBA生涯重要奖项
NBA总冠军6次
1991,1992,1993,1996,1997,1998
NBA常规赛最有价值球员5次
1988,1991,1992,1996,1998
NBA总决赛最有价值球员6次
1991,1992,1993,1996,1997,1998
NBA扣篮比赛冠军
1987,1988
奥运会冠军2次
1984年、1992年
NBA标准投篮动作教程�标准篮球投篮手型讲解
NBA标准投篮动作教程�标准篮球投篮手型讲解
08月 15th, 2008 in NBA新闻, 篮球相关 542 views
。。这个是会带来争议的话题,不过要说这个手型,就一定要颠覆所谓的传统了,就是颠覆神圣的"空手心"理论。
。。在我看来,投篮的手型一共应该分为两种:软手和硬手。这直接决定了一个球员的不同特性,而一旦掌握了这两种手型,你也就会变身为"乔丹"和"科比"一样的全能型球员了 。
1.先来说硬手:
。。这是内线球员常用的手型 ,这个手型的好处是,依靠五根手指的弹力,拨球出手,球不会太过旋转,但是非常平稳,在近距离和中距离会很稳定,球的弧线会略平,但是命中率会很高,因为球的线路很平稳。这个动作就是传统意义上的空手心投篮。
。。要点是:五指分开,大拇指要向外伸展,五根手指有抠住球的感觉,也就是抓球的感觉,指尖用力,手心是空的(因为手指都僵硬着抓球,撑开了,所以手心只有空着了),这个动作的要点是,五指要伸直,而且要用力,僵硬,也就是平时说的拿稳球。
。。缺点是:远距离不容易发力,因为五指的弹力需要手掌提供力度,也就是手掌僵硬,导致了在投篮前不能完全下压手腕,而在投篮以后手腕所拨动的幅度也不能达到180°,拨球的频率也稍慢,另外就是由于空出手心,手和球的接触面积不足够大,手部用力不够充分,只能加上臂膀的力度来辅助,这也就造成了力气小的球员如果使用这个动作远投会非常吃力的。
。。用这个手型的球员主要有:蒂姆.邓肯,沙克.奥尼尔,以及打篮下的乔丹等等。
如图所示:

红圈是使用范围。
2.再来说说软手:

。。软手的手型是我自己不断改进投篮 和不断矛盾的的过程中,最终体会出来的,也如释重负。因为以前的篮球队教练也好,队友也好,甚至乔丹,在教授投篮的时候,都会强调空手心,所以当我发现这个动作手型的时候,我一度陷入犹豫不绝当中,我怀疑是不是有什么问题,为什么这些人都不用。后来是在看了一些投手的投篮动作以后,我才明白,不是不用,而是有些人不会,而像乔丹这类人,更是把这投篮作为看家本领来传承了,连科比都没告诉(所以科比自己很辛苦的研究了几个赛季下来,只是学到了乔丹投篮动作的外形,精髓没学到,乔丹根本没说;而科比自己本身也是一样,他前一阵子的CCTV5科比训练营�练到赢系列训练营里面,也只是教授训练方法,投篮精髓一点也没教,那也是人家的看家本事)。我说我看了投手的录像,都有哪些人呢:拉里.伯德,诺瓦克,斯托克顿,霍纳塞克,雷.阿伦,麦蒂(特雷西.麦克格雷迪),科比(有时略硬,和乔丹一样,不是真正的全手软),史蒂夫.科尔(有双手投篮嫌疑,不过足够软),艾佛森等等,伯德最为典型。
。。其实我认为,说出来伯德和诺瓦克,就没必要再讲解他们的投篮有多好了,都知道他们是神准的,下面主要说一下这个动作的要点吧:
。。软手,是说手要很放松,软下来,可以让手掌包括手心在内全部贴在球上,没有空隙,这样可以保证最大的接触球面积,也就是发力面积,手腕压向下到最大,球会有压在手腕上的感觉(而不是手前掌,是手腕也就是手心),所以手心一定不可以空的。这个动作暂时讲到这里,后面讲标准投篮细节的时候会详细讲。
。。说一下,为什么会这么执着于软手投篮,就是因为我在用了这个动作之后,发现了他的几大好处:远距离稳定,可以保证球的直线运行,能让球的旋转达到最大;远距离省力,我个人的感受是,比硬手空手心投篮在远投上要省力50%以上的感觉(有人会问有这么夸张,我试过,你如果试了就知道了);弧度更加合理且出手柔和;球在手上更加稳定,容易拿捏动作。
。。单凭这些好处我认为就足够动心了,这也就是为什么像伯德和诺瓦克这样身体素质差很多的球员,却仍然可以在NBA站稳脚跟的原因,而这个技术一被乔丹和科比用上,就变得无可匹敌。你也许会问,既然这个动作这么好用,为什么不是NBA球员人人都用。其实这个问题很简单,这是练出来的领悟到的自己的绝招,记得中国古代那个教徒弟的故事吗,给自己留一手。NBA球员都喜欢有个绝招的,所以会的人心照不宣,都死守这个秘密而已,谁愿意把自己的看家本领泄露呢?我为什么要说出来?很简单,因为我受了几次大伤,腿断过2次,再也不可能打比赛了,甚至小场子的对抗也不行了,也不爱打比赛了,所以我敢说了,我以前在打球的时候,这些诀窍就算打死我也不说的,信佛了,不爱打比赛了,就分享出来了 。只希望对真正喜欢篮球的青少年有帮助,我指点过一些青少年的投篮,经过点拨有很多很快就开窍了,希望现在感觉投篮有难度的朋友,在看完所有文章以后,可以掌握住投篮的诀窍。