numpy的处理能力包括:
* a powerful N-dimensional array object N维数组;
* advanced array slicing methods (to select array elements);N维数组的分片方法;
* convenient array reshaping methods;N维数组的变形方法;
and it even contains 3 libraries with numerical routines:
* basic linear algebra functions;基本线性代数函数;
* basic Fourier transforms;基本傅立叶变换;
* sophisticated random number capabilities;精巧的随机数生成能力;
scipy是科学和工程计算工具。包括处理多维数组,多维数组可以是向量、矩阵、图形(图形图像是像素的二维数组)、表格(一个表格是一个二维数组);目前能处理的对象有:
* statistics;统计学;
* numeric integration;数值积分;
* special functions;特殊函数;
* integration, ordinary differential equation (ODE) solvers;积分和解常微分方程;
* gradient optimization;梯度优化;
* genetic algorithms;遗传算法;
* parallel programming tools(an expression-to-C++ compiler for fast execution, and others);并行编程工具;
在将来会增加下面的计算处理能力(现在已经部分地具备了这些能力):
* Circuit Analysis (wrapper around Spice?);电路分析;
* Micro-Electro Mechanical Systems simulators (MEMs);
* Medical image processing;医学图像处理;
* Neural networks;神经网络;
* 3-D Visualization via VTK;3D可视化;
* Financial analysis;金融分析;
* Economic analysis;经济分析;
* Hidden Markov Models;隐藏马尔科夫模型;
2008年6月28日星期六
【ZT】scipy和numpy的处理能力
2008年6月24日星期二
foxmail导入地址簿和邮箱
复制其安装目录下的address目录覆盖新机器上的即可。邮箱也是采用同样的方法,只不过要复制的目录是你原来指定的邮箱目录。
2008年6月20日星期五
GCC的优化导致的问题(keil + winarm)
一个跑马灯程序,调了N久,还是不行。症状是:所有LED都亮。在汇编窗口下调试,发现延时函数不见了。最后发现竟然是被优化掉了,去掉优化选项,通过了。
/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时
* 入口参数:dly 延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
void DelayNS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<5000; i++);
}
这样的函数在默认的优化等级下(一级优化),竟然被优化掉,真惊了!!!!
这样就OK了:
网上搜到了关于GCC优化的文章:
GCC各级优化的内容:(http://hi.baidu.com/hilyjiang/blog/item/f8e249f0b7833ac27831aa01.html )
1. -O0:不做任何优化处理,default
2. -O1:一级优化
defer-pop:Defer popping function args from stack until necessary.
thread-jumps: Perform jump threading optimizations (to avoid jumps to jumps).
branch-probabilities: Use branch profiling to optimize branches.
cprop-registers: Perform a register copy-propagation optimization pass.
guess-branch-probability:Enable guessing of branch probabilities.
omit-frame-pointer: Do not generate stack-frames (if possible).
3.-O2:二级优化(速度优先)
二级优化包含一级优化中不损失速度的部分.
align-loops : Align the start of loops.
align-jumps : Align the labels that are only reachable by jumps.
align-labels : Align all labels.
align-functions : Align the beginning of functions.
optimize-sibling-calls : Optimize sibling and tail recursive calls.
cse-follow-jumps : When performing CSE, follow jumps to their targets.
cse-skip-blocks : When performing CSE, follow conditional jumps.
gcse : Perform global common subexpression elimination.
expensive-optimizations : Perform a set of expensive optimizations.
strength-reduce : Perform strength reduction optimizations.
rerun-cse-after-loop : Rerun CSE after loop optimizations.
rerun-loop-opt : Rerun the loop optimizer twice.
caller-saves : Enable register saving around function calls.
force-mem : Copy memory operands into registers before using.
peephole2 : Enable an rtl peephole pass before sched2.
regmove : Enable register move optimizations.
strict-aliasing : Assume that strict aliasing rules apply.
delete-null-pointer-checks : Delete useless null pointer checks.
reorder-blocks : Reorder basic blocks to improve code placement.
schedule-insns : Reschedule instructions before register allocation.
schedule-insns2 : Reschedule instructions after register allocation
4. -Os:尺寸优化(尺寸优先)
尺寸优化包含二级优化中不损失尺寸的部分.同时不支持二级优化中的下列内容:
falign-labels,falign-jumps,falign-labels, falign-functions.
5. -O3:三级优化(速度优先)
finline-functions : Inline simple functions into the calling function.
frename-registers : Optimize register allocation for architectures with large numbers of registers (makes debugging difficult).
推荐使用二级优化.
在外部RAM中调试的KEIL环境设置步骤(KEIL + winarm +zlg esayarm2200 + jlink)
硬件平台:
ZLG EsayARM2200开发板
:IS61LV25616AL BANK0:0X80000000-0X8007FFFF
SST39VF160 BANK1:0X81000000-0X811FFFFF
LPC2214 FLASH:256K BEGIN:0X00000000
SRAM:16K BEGIN:0X40000000
软件平台:
KEIL UVISION3 V3.31 + WinARM-20060606.exe + WinARM_Keil_uVision_glue.rar补丁 + JLINK
//////////////////////////////////////////////////////////////////
软件环境搭建:
Keil uvision 3 V3.31
WinARM-20060606.exe
在keil环境下使用winarm工具链需安装一个补丁(http://www.mcu123.com/product/lpc214x/
WinARM_Keil_uVision_glue.rar)才行, 而GNUARM工具链直接就可以在keil下使用。
设置编译器选项:
"project"->"component environment books"->"folders/extentions"->勾选"use gnu compiler",
设置"gnu�tool-prefix"为"arm-glue-",设置"Cygnus folder"为"D:\program\WinARM\"
(你的winarm安装目录)。
设置目标选项:
"options for target" -> "output" -> "run user program #
"arm-elf-objcopy -O ihex .\obj\toggleLED.elf .\obj\toggleLED.hex";是为了转化elf文件为
可烧写的hex文件。
"options for target" ->"linker" ->"linker script" 设置为:"LPC2292-ERAM.ld"(
在外部RAM中调试的链接脚本);
"options for target" -> "output" -> "select folder for objects"设置文件夹为 ./obj,
便于文件归类。
其他保持默认状态。
设置目标调试选项:
"options for target" -> "debug" ->"initialization"选中debug_in_ERAM.ini,
不选中"load application at start"和"run to main"
其它设置参照JLINK的说明书(注意时钟设置为autodetect)。
在外部RAM调试 debug_in_ERAM.ini文件内容(keil + winarm + esayarm2200 + jlink)
LPC2292-ERAM.ld文件内容(与上文配合)
FreeRTOS在lpc2292上的移植步骤
KEIL + winARM + FreeRTOS环境搭建及移植
created 2008.02.28 shiyouyu
嵌入式操作系统FreeRTOS的原理与实现
////////////////////////////////////////////////////////////////////
硬件平台:
ZLG EsayARM2200开发板
:IS61LV25616AL BANK0:0X80000000-0X8007FFFF
SST39VF160 BANK1:0X81000000-0X811FFFFF
LPC2214 FLASH:256K BEGIN:0X00000000
SRAM:16K BEGIN:0X40000000
软件平台:
KEIL UVISION3 V3.31 + WinARM-20060606.exe + WinARM_Keil_uVision_glue.rar补丁 + JLINK
//////////////////////////////////////////////////////////////////
软件环境搭建:
Keil uvision 3 V3.31
WinARM-20060606.exe
在keil环境下使用winarm工具链需安装一个补丁(http://www.mcu123.com/product/lpc214x/
WinARM_Keil_uVision_glue.rar)才行, 而GNUARM工具链直接就可以在keil下使用。
ARM-Projects(http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/)
主页上的"FreeRTOS example with LPC
LPC-P2106-board comes with the FreeRTOS-code. This is a ported version of the
example to the LPC2138. The LED-handling has been adapted to the Keil MCB2130
evaluation-board. The code has been tested with WinARM 3/06 (arm-elf-gcc
里面的keil工程不能用,makefile可以。
如果想在keil内编译,需加入所有需要的源文件,加入头文件的搜索路径(demo的和os的),
再在define框内设置上GCC_ARM7(有个头文件依靠他才能被包含)即可。
注意加入keil_lpc2138_mcb2130_freeRTOSdemo\FreeRTOS\DemoCommon\Minimal
下面的源文件而不是keil_lpc2138_mcb2130_freeRTOSdemo\FreeRTOS\DemoCommon\Full下面的,
加入ParTest和serial文件夹下的文件,而且有几个源文件也不需要(去掉death.c,cr_hook.c,
cr_flash.c),详细的看下main.c开头包含的头文件。
详细:
"options for target"-> "CC"-> "include paths" 设置为:"./FreeRTOS/DemoCommon/include;
./FreeRTOS/Source/include;../keil_lpc2138_mcb2130_freeRTOSdemo";源文件包含路径
"options for target"-> "CC"-> "define 设置为:"GCC_ARM
"options for target" -> "output" -> "run user program #
"arm-elf-objcopy -O ihex uvisionflash.elf uvisionflash.hex";是为了转化elf文件为
可烧写的hex文件。
"options for target" ->"linker" ->"linker script" 设置为:"LPC2138-ROM.ld";链接脚本
设置编译器选项:
"project"->"component environment books"->"folders/extentions"->勾选"use gnu compiler",设置"gnu �tool- prefix"为"arm-glue-",设置"Cygnus folder"为"D:\program\WinARM\"你的winarm安装目录。
arm-elf-objcopy RTOSDemo.elf -O ihex RTOSDemo.hex
arm-elf-objcopy RTOSDemo.elf -O binary RTOSDemo.bin
其它:
LPC2114/2124/2212/2214 将ARM7TDMI-S 配置为小端(little-endian)字节顺序。
//////////////////////////////////////////////////////////////////
修改:
1,LPC2000.h
修改 #include "LPC214x.h" 为 #include "LPC22xx.h"
编译通过 2008.6.18
2,修改工程 device 为LPC2292
编译通过 2008.6.18
3,port.c中使用T0产生tick,LPC22XX和LPC21XX基本相同,不需要修改。
其它好像也不需要修改,哈哈!
4,添加芯片初始化脚本debug_in_ChipRAM.ini,进行中断向量的初始化和程序的跳转,
完成在片内SRAM的调试
5,"options for target" -> "output" -> "select folder for objects"设置文件夹为 ./obj,
便于文件归类。
6,更改"name of excutables"为FreeRTOS_lpc2292,进而改变make后执行用户程序命令为:
arm-elf-objcopy -O ihex .\obj\FreeRTOS_lpc2292.elf .\obj\FreeRTOS_lpc2292.hex
arm-elf-objcopy -O binary .\obj\FreeRTOS_lpc2292.elf .\obj\FreeRTOS_lpc2292.bin
生成烧写文件
7,在LPC2138-RAM.ld基础上修改,创建 LPC2292-RAM.ld
8,因为内部RAM太小,创建从外部RAM调试的文件LPC2292-ERAM.ld,debug_in_ERAM.ini
9,为了测试是否移植成功,在main.c中去掉了所有的其他测试demo创建任务的函数,只留下了
comtest demo。
10,经过查看代码,comtest.c是使用的uart0,周立功的esayarm2200上可以使用。发光二极管
没有直接接到端口上的,使用74hc595驱动,麻烦。决定使用串口调试。
11,comtest.c文件中去掉了接收数据进程,点亮led没有去掉,因为esayarm2200开发板上,这两个
口跟串口2相关,不影响其他,故没有去掉。加入了第二个发送数据进程,两个发送进程具有相同的优先级。
从而近似于周期性轮转,每个进程发送完毕后,第二个才会发送。波特率改为9600.
12,老是接上硬件启动调试的时候,keil出问题退出,在"options for target" -> "debug"
选项卡下,不选中"load application at start"和"run to main"就没事了.
13,程序老是跑飞,发现是由于没有加入文件启动文件boot.s,加入就好了.
14,串口收到的数据不对,发现是文件FreeRTOSconfig.h内的晶振频率设置错(为12MHZ),应该为11.0592MHZ,
修改后,故障解除.
2008年6月19日星期四
2008年6月16日星期一
ZT 毕业前你一定要做的20件事情
1、不管你曾经多么内向,你一定要在全班同学面前,认认真真地讲一次话,或者唱一支歌,即使你和开学时一样,再介绍一回你自己。
2、拜访一回你最尊敬的老师,在毕业时,认真地记住一条关于人生的经验。
3、一定要对你喜欢的女生(男生),很认真地告诉她(他),我爱过你!
4、一定要和一个女生(男生),很认真地走一回情人路或者爬一次情人坡。
5、即使从不喝酒,你也一定要认真地醉一次。
6、在夏夜的雨水里,大声地喊一次那个你想过多次人的名字。 不要怕你的声音过大,惊醒N多梦中人。
7、认真地在你不喜欢的食堂里,然后品尝一次食堂的免费汤,它的气味你会在很多年后还能记得。
8、在一个太阳还没有升起来的早晨,去操场跑一次步,和那些生猛的大一新生们比较一下 懒觉睡多了后体力上的差距。
9、在宿舍里不要有类似于写某某到此一游的行为。
10、下定决心,班集体的活动这次一定不会借故溜走――如果还有的话。
11、很认真地穿一次西装(套装),看看自己和4年前,变化的地方在哪里?
12、花一个下午的时候,认真地整理一次自己的书箱, 哪些是可以留的,哪些是不要了的在某本书里,是不是看见了一张陌生已久的纸条,或者是某人的名字?
13、男生整理衣柜的时候,记得把你的球衣送给你的学弟, CD送给学妹,游戏碟记得自己带走。
14、在校园里,假如有山,请记得再爬一次, 假如有水,请记得再游一次。
15、记得留下每一个你觉得应该是朋友的联系方法,然后把你的新单位的电话给他们。
16、终于要走了,再剪一次发,让自己崭崭新新地离开, 然后,崭崭新新地开始。
17、记得归还你的证件,陪伴了你4年的桌子, 椅子和凳子――我们不提倡你宁愿罚钱也要留下你的图书证,学生证,医疗证,食堂饭卡……但我们对此表示理解。
18、论文答辩可能是你人生当中最后一次的课堂作业了, 请你认真地书写每一个字。
19、和你一起睡了4年的床,一定要记得和它合一张影。
20、尽可能地送每一个你能送的同学,你要明白,他们是你4年的同学,他们中的某人,也许是你最后一次能见到的人。
PS: 好像有好一些我都没有做
2008年6月14日星期六
ZT Speecys SPC-101C可编程式机器人的配置

在无聊的午后,是不是希望有一个人能够陪你玩下呢?花上那么3000美元你就能得到这么一个贴心的伙伴:Speecys SPC-101C可编程式机器人。这个小家伙可以走动,可以跳舞,并且经过适当的训练,即使你的笑话很烂,它也能够"礼貌"地配合你的笑话。跳转后机器人的精彩表现。
规格说明
高: 33cm
重: 1.5kg
接缝: 22+LED 显示屏
2 个喇叭 (立体声)
LED 显示屏 105 (手臂和胸膛)
270,000像素 CMOS 彩色镜头 LiPo 电池 7.4V 780mA 或者交流电适配器(可充式)
中央处理器-50 (Futaba Corp.)
- SH3 133MHz
-随机存取内存: 64MB, 闪存: 64MB,
-miniSD 扩展槽
-RS485, USB
-音频
伺服系统 RS301CR (Futaba Corp.)
OS SpeecysOS Rev.2.0
- NetBSD Base, with Robot control function
无线 LAN.IEEE802.11G (USB)
“嫦娥一号”使用的处理器和OS――不知是真是假
所谓的北京控制中心其实是抢夺西安测控中心饭碗的产物,简单说来大体是军方不同部门利益争斗的结果,大部分软件体制还是脱胎于西安。真正的发指令和接收数据还是靠西安在干活,北京这边给领导作面子工程。
型号研制单位自己的测试系统和软件不在此范围内,各种花样都有,运行在自己的总装总测场地。
至于星上的软件,仅对嫦娥而言,主要的数管和姿控导航两个分系统各自使用了一台基于欧洲ERC32处理器的计算机,主频不超过30MHz, 没有通常意义的操作系统,在RTEMS的基础上大幅度剪裁剩下一点点残渣作为底层的硬件和进程管理,上面跑自己的应用软件完成功能。编译器是erc32ccs, GCC的定制版本,支持SPARC V7处理器和RTEMS, ESA提供的,高兴了可以去免费下载玩玩. 有效载荷软件大部分都是基于MCS51的单片机系统,个别设备也许有DSP.
由于前段时间发生了用导弹摧毁FY-1C卫星的事情,国际上已经完全不相信中国所谓气象卫星是民用项目的幌子,给了各种本来就对中国存在敌意的国家和组织以口实,现在想继续买ERC32和欧洲生产的其他星载处理器已经几乎完全没有可能,美国就更不要说了。一些后续型号基本上面临无米下锅的难题。
2008年6月13日星期五
ZT 透彻!国外工程师这样分析女人
2 "时间就是金钱",所以
时间=金钱
3 因此
女人=金钱×金钱=金钱的平方
4 "金钱是一切麻烦的根源"
金钱=麻烦的平方根
5 因此
女人=麻烦的平方根的乘方
女人=麻烦
危险物质数据表
元素:女人
符号:○+
发现者:亚当
原子量:接受值是55公斤,但据知可在45公斤到225公斤之间浮动
物理特性:
1。体表通常覆盖着粉底与化妆品构成的薄膜
2。毫无意义的沸腾-----毫无理由的结冰
3。以不同状态存在于自然界中,从纯净原材料到普通矿物质均有可能
化学特性:
1。极易与黄金、白金以及所有的贵重宝石发生反应
2。可能在没有任何理由及预警下会引起自发性严重爆炸
3。是人类已知的最强的金钱还原剂
用途:
1。高度装饰性,特别是摆在跑车中
2。对于疏解压力有很大的功效
3。非常有效的厨房清洁剂
危害:
1。将另一更优质样本置于旁边时会发青(指忌妒)
2。同时持有一个样本以上为违法,但数个样本可以在不直接接触的情形下保存在不同的场所
男人与女人争论获胜的可能性
绿字为约会期,蓝字为订婚期,黑字为婚姻期
横轴为年份,竖轴为获胜可能性的百分比
任务:去商场买条裤子
蓝线为男人,红线为女人
2008年6月12日星期四
System Error!
HWND hwnd = FindWindow(NULL,"System Error!");
::SendMessage(hwnd,WM_SYSCOMMAND,SC_CLOSE,0);
Sleep(200);
}
2008年6月11日星期三
2008年6月8日星期日
ZT暧昧是。。。
http://user.qzone.qq.com/26915710
暧昧是,比好朋友再亲一点,但比情人远一点。
暧昧是,你会常常在QQ等他在线。当他几天没有在线,你就会有些担心。
暧昧是,你会不时去他的SPACE看看有没有更新;而且你会留意字里行间,他对你有没有什么暗示。
暧昧是, 有感觉,然而,这种感觉不足以叫你们切切实实地发展一段正式的关系。
暧昧是, 明白人生有太多的无奈,现实有太多的限制。你知道没有可能,但又舍不得放手。
暧昧是, 有进一步的冲动,却没有进一步的勇气。
暧昧是,他不是你的情人,但似乎你的情人更关心你和了解你。
暧昧是,你会编一条围巾给他,但大家从没有开始过。
暧昧是,虽然他不是你的情人,但他却会对你说:你对我是十分重要的。
暧昧是,你感冒时有一个会在晚上打电话来,特意提醒你服药,叫你盖好被子早点睡的普通朋友。
暧昧是,当你遇到问题解决不了的时候,你找不到你的男/女朋友,你第一个便会想起。
暧昧是,每当他提及他的另一半时,你会万箭穿心。
暧昧是, 为了逃避背叛的罪恶感。暧昧是, 甜津津又同时酸溜溜的。往往从未开始,已叫人不安,患得患失。
暧昧是,别人以为你们在搞地下情时,你会沾沾自喜。
暧昧是,别人问你们是否恋爱中,你张口结舌。
暧昧是,常常挣扎表不表白。你怕表白之后,你既得不到一个情人,却又失去了一个知心好友。
暧昧是,见到他,你会心跳。见不到他时,你会挂念他。
暧昧是,两个人都会互相猜想。他是不是已经暗示了什么?我是不是自作多情?
暧昧是,每天大家都会聊QQ,会互传手机短讯,无规律地偶然约会。
暧昧是,除了情人节之外,其它的节日,大家都交换礼物。
暧昧是,你很想多走一步,但又怕会吓怕了他。你会很小心流露自己的感情。
暧昧是,两个人没有承诺过什么。但虽然如此,你愿意付出的,比有承诺的情侣更多。没有责任,但你却很渴望去承担,不问回报。
暧昧是, 一扇门,你可以停留在门外,也可以踏进房子里面。然而你不可以停留在门下面。门,永远不是终点站。
我们暧昧,我们却不属于对方.....![]()
![]()
2008年6月5日星期四
ZT对电工的几点忠告,千万别搞单片机
http://bbs.21ic.com/club/bbs/bbsview.asp?boardid=19&t=2973376&tp=%B6%D4%B5%E7%B9%A4%B5%C4%BC%B8%B5%E3%D6%D2%B8%E6%A3%AC%C7%A7%CD%F2%B1%F0%B8%E3%B5%A5%C6%AC%BB%FA
| 1.千万别搞单片机,除非是很特殊的型号, 10k以上的月薪,或者创业例外。单片机的工资太低,因为技术含量少, 玩的人太多。 2.不要认为销售好干,赚钱快,你得有那个脑子,而且做好5年没收成的准备。 3.尽量向底层靠近(例如VHDL之类的,或者linux 的os层) ,底层能玩的转的人 少,工资自然高。 4.创业靠技术太难了,要有足够的准备,不要轻易尝试,如果能啦一个团队 并管理好,另当别论。 5.如果现在有好的工作,尽量别考研,3年后,工作更难找。 6.评价你工资的水平是每月能买本地多少平米的房子。 俺薪水排列,做技术的工资顺序,高到低。不包括总管 FPGA或者ASIC VHDL 高难度模拟设计 linux嵌入系统底层 linux嵌入软件应用 wince嵌入系统底层 wince嵌入软件应用 单片机软件硬件 |
2008年6月4日星期三
PARADOX
2008年6月3日星期二
答辩终于结束了
我的简介
博客归档
-
▼
2008
(146)
-
▼
六月
(19)
- 【ZT】scipy和numpy的处理能力
- foxmail导入地址簿和邮箱
- GCC的优化导致的问题(keil + winarm)
- 在外部RAM中调试的KEIL环境设置步骤(KEIL + winarm +zlg esayarm220...
- 在外部RAM调试 debug_in_ERAM.ini文件内容(keil + winarm + esa...
- LPC2292-ERAM.ld文件内容(与上文配合)
- FreeRTOS在lpc2292上的移植步骤
- FreeRTOS到LPC2292的移植可以了
- ZT 毕业前你一定要做的20件事情
- 买了只鱼竿
- ZT Speecys SPC-101C可编程式机器人的配置
- “嫦娥一号”使用的处理器和OS――不知是真是假
- ZT 透彻!国外工程师这样分析女人
- System Error!
- 钓鱼
- ZT暧昧是。。。
- ZT对电工的几点忠告,千万别搞单片机
- PARADOX
- 答辩终于结束了
-
▼
六月
(19)