搜档网
当前位置:搜档网 › SIM300_SIM900调试心得

SIM300_SIM900调试心得

SIM300_SIM900调试心得
SIM300_SIM900调试心得

SIM300 & SIM900 调试心得

2011-03-23 10:36

sim300的一些知识点

simcom从2010年10月开始用sim900代替sim300,sim900和sim300用法差不多!

如果你的结果是仅仅返回OK,我会说这远远不够的,因为这只是说你的指令格式是正确的,你必须at+cipstatus查看一下状态,如果是connect ok,才真的是OK了,否则可能是Connecting状态,表示一直在连接。

在一个问题就是你的卡虽然支持GPRS,但是不代表就一定能实现你的数传模式。因为GPRS接入方式有两种:CMNET和CMWAP。默认的情况是 CMNET,当然你可以设置,如果你的卡不支持CMNET方式接入的话,那你是一直Connect Fail,还会出现你上面的情况。如果是CNWAP模式的话,你只能上Wap,不过通过代理,你还是可以上web的,就是说你的手机随能上网,但是就是无法实现GPRS CMNET 数传.

一下是我个人的一些理解和总结,希望对你有帮助:

Sim300 GPRS应用相关AT CMD

1. AT+CGATT=1 (Attach or detach from GPRS service, GPRS 附着状态)

说的简单点,这一步就是让SGSN (服务GPRS节点,你可以把它理解成与基站紧密相连的一台设备,他可能记录你的移动终端的位置,状态等等很多很多信息)知道你的存在并且认为你拥有 GPRS功能。由于GSM和GPRS用的都是相同的基站,所以通常你的MS开启,注册上网络了,你就已经是GSM的一个节点了,可以打电话了。但是,如果你想使用GPRS数据业务,你就要附着GPRS服务,这个命令就是干这个的。

2. AT+CGDCONT=1,"IP","CMNET" (Define PDP context, 定义PDP 上下文)

如果打算用 PDP(Packet Data Protocol )传输数据,你就要为他建立一个背景,就是所谓的上下文,你得告诉SGSN和GGSN (网关GPRS节点,可以把它理解成一台与SGSN和INTERNET紧密相连的设备,它把从SGSN的一些信息处理后发送到INTERNET的服务器同时把服务器的信息处理后再发送给SGSN,SGSN再给你的终端设备)一些基本信息,比如你的本地标识(cid),你希望的pdp_type (这里就是 IP),还有你的接入点信息。这里的接入点是CMNET,实际上他应该是一台服务器,是INTERNET和SGSN的纽带。而中国移动公司提供了一个名字CMNET(China Mobile NET),我们通过它就能连接INTERNET了。而在国外,这个参数通常是一个域名性质的东西。另外,得特别注意,就是中国移动人为的分出两种就如方式,我们刚刚使用的是CMNET,另一种是CMWAP,很明显,这个只能上WAP,但是通过他们的HTTP代理服务器,我们已能够上INTERNET,但是仅仅局限于HTTP而已。(有些移动的SIMCARD不支持CMNET接入方式,所以要特别小心,)

3. at+CGACT=1,1 (PDP context activate or deactivate, 激活或解除PDP 移动场景)

前面的定义PDP 上下文其实只是说我们有一种想要使用GPRS通信的想法,并且声明了我们想如何使用,但是这仅仅是个概念,如果你真的想付诸实施,就必须让网络知道你的意愿,并且记录你的信息,为你分配资源等等,所以,激活他吧。这个命令里的第一个参数,就是我们前面定义的cid标识值,第二个就是激活状态,如果你想激活,就设置1,如果你想解除就设置0。

4. AT+CIPSTART="TCP", ”111.111.111.111”,” 2222”( Start up TCP or UDP connection, 建立TCP 连接或注册UDP 端口号)

如果说前面的都是前期准备工作的话,那么现在就要尝试TCP连接了。这个命令很简单,第一个参数指定连接方式,第二个参数是IP地址,第三个参数是端口号。跟在计算机上写程序是一样的。

5. AT+CIPSEND( Send data through TCP or UDP connection, 发送数据)

如果前面连接建立成功你就可以发送数据了,AT+CIPSEND然后加一个回车符

,就会出现个命令提示符>(当然这个可以设置),然后就是你的发送数据,最后加个结束符 。当然你也可以发送定长数据串,这样就不需要结束符了。

6. AT+CIPCLOSE( Close TCP or UDP Connection, 关闭TCP 或UDP 连接)

关闭连接仅仅意味着你的这个连接通道断开了,但是你还可以建立新的连接,同时也意味着你的本地的IP地址并没有变。你的IP地址是在激活的时候分配的。

7. AT+CIPSHUT( Disconnect wireless connection, Close Moving Scene)关闭移动场景,当你执行这个的时候你就进入IP INITIAL 状态,如果你再重新尝试连接的时候你的本地IP地址很可能已经就不是原来的了。

需要注意的一些问题:

1. 通常上面提到的前三个命令我们基本不需要使用,因为默认值都符合我们刚刚的要求,而芯片基本把这些事情都做了。可以通过相应的查询命令获得这些信息,如果有不符合的,可以另行处理。

2. 有些移动的SIMCARD不支持CMNET接入方式,所以要特别小心,当你发现你所有的参数都正确,能够发送短信和打电话,就是无法连接或者连接总是失败,你就该检查你一下你的卡到底支不支持CMNET接入方式。全球通基本两种接入方式都支持,而动感地带和神州行就不一定了。

3. 如果你查询的状态总是+PDP: DEACT,就是说无法激活,那你应该看看天线是否接牢固或者是否有断线的地方。

4. 在进入业务操作之前,确保你的模块没有工作在最小功能模式(minimum functionality),你可以通过AT+CFUN查询模块的工作状态。

5. 在尝试连接一个服务器和某个端口之前,最好先在计算机上用SOCKET工具连接一下,看看是否是通的,有些网络和防火墙很可能会封杀端口的,如果你寻找或调试了一天后,发现是这个问题,唉,大家知道会有多郁闷。(另外SP可以

为你的ADSL分配动态或者固定公网IP,有些在ipconfig或者网络设置里显示两个IP,别混淆了)

6. 在尝试连接(AT+CIPSTART)之前,一定要查询(AT+CIPSTATUS)当前状态,一共有下面几种状态

0 IP INITIAL Initializing state

1 IP START Starting State

2 IP CONFIG Configure Scene

3 IP IND Accept Scene Configuration

4 IP GPRSACT Scene Activated

5 IP STATUS Get Local IP Address

6 TCP/UDP CONNECTING establish connection state with SERVER

7 IP CLOSE Connection has been closed

8 CONNECT OK Connection Established Successfully

9 PDP DEACT Detach from GPRS network

而 AT+CIPSTART只在IP_INITIAL、IP_CLOSE、IP_STATUS三种状态下才能正确建立连接,否则返回ERROR。所以有时候会连接失败(比如信号不好等原因),而模块通常会进入TCP/UDP CONNECTING状态,就是一直不停的尝试连接,而此时如果执行连接命令就会返回错误信息。虽然此时的状态是TCP/UDP CONNECTING,但是实际上很多模块已经不再连接了。只不过处在连接状态上而已,这时你最好通过CIPCLOSE或者CIPSHUT命令,回到一个可连接的状态。

非常感谢elusa的指点。但是还有几个问题要请教一下。我用AT+CIFSR指令,能得到移动分配给我的ip 地址。我的卡能支持CMNET,但是为什么我还是链接不到服务器呢?我用AT+CIPSTATUS,总是显示TCP CONNECTING,然间是显示连接失败。请问以您的经验,问题会出在哪里呢?

NO CARRIER 的意思是没有载体为什么会出现这种情况呢?

原因是:

当你发送ADT*99***1#指令后

会出现一大堆乱码,而且是重复的(大概10次)

这些乱码其实是服务器向你发送进行LCP协商的请求信息,因为是你没有应答,所以对方会不断的请求,直到请求10次后,对方认为你没有响应,就会NO CARRIER.

你没有应答的解决方法:

1.因为你的gprs模块没有自带ppp协议,只要去买块带ppp协议的gprs模块就可以解决这个问题,比如mc55模块.

2.也可以自己实现ppp协议,自己写或者去网上下ppp协议的代码.

该怎么应答??

1.自带ppp协议的模块,你可以不考虑这个问题

2.你还是使用原来的模块的话,就需要了解PPP链路的建立的过程,以及ppp协议的结构.网上有很多资料.

Pintos调试心得

Pintos调试心得 一、如何用GDB调试内核: Ctrl+Alt+F1打开终端,cd切换到你的pintos/src/threads/build目录下 输入命令pintos –gdb –run alarm-multiple(注意是双线- -,注意run前的空格)出现下面的界面:(注意uilts文件下已经编译通过,还有bochs打开终端调试) 然后,Ctrl+Alt+F2打开第二个终端登录并切换到pintos/src/threads/build目录下 输入命令pintos-gdb -tui 看到如下界面:

按enter键继续,此时为进入gdb调试控制台 输入命令target remote localhost:1234(默认端口,应该与第一个终端里显示的一致)接着输入命令file kernel.o(载入要调试的内核程序),看到如下界面: 输入y继续,这样开始调试啦 (首先自己在网上百度一下gdb常用的调试命令) break main(在main函数入口插入断点) 接着c(continue的意思跟VS、VC++中的调试命令对应) 看到如下界面

注意划红线部分 输入n(执行下一步,不会进入函数体内部,step单步运行命令会进入函数内部)然后大家可以在第一个终端里查看运行结果。比如我在第79行添加了一行 Ctrl+Alt+F1打开第一个终端可以看到执行结果 接下来自己慢慢探索吧,感受一下gdb调试器的强大之处。 下面介绍一下我对pintos的理解 二、Pintos内部函数调用 内核加载完成后,进入main函数(pintos主程序) 开始boot bss_init (); 初始化BSS,(BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS 段会自动清0。) argv = read_command_line ();//读取命令行 argv = parse_options (argv);//分析命令行

心得体会 软件测试心得体会(精选5篇)

软件测试心得体会(精选5篇) 软件测试心得体会(精选5篇) 关于软件测试的心得体会 虽然一如继往地写读书笔记,笔墨也浪费了不少。但真正坐下来利用大段的时间将自己的思路理清还没有过。因为最近有了一定的时间,更因为狠狠地泡了一段时间51Testing测试论坛,下载学习了该网站的电子测试杂志之后,自己的思路终于开始清晰起来,朦朦胧胧地开始看清了远方的路,麻着胆子去分析一下自己,也学着展望一下未来了,毕竟摸黑走路的感觉很不好。 我觉得学习软件测试的通用技术与针对某类软件的测试技术外,还有一个重要的与技术无关的方面:业务知识.没有具体的业务知识很难发现软件中潜在的逻辑错误甚至是需求上的错误,当然需求要依据特定的软件,但软件测试人员对需求理解的深入程度不应低于软件开发的人员.因为软件测试所有的依据来自于需求,而所有的需求来自于客户,甚至是我们的全部都来自于客户.识别需求后还必须转化为测试上的需求,毕竟测试人员看需求的角度和开发人员还是有区别的. 关于学习,我知道我并非计算机专业的学生,初涉软件测试行业,没有接受系统的培训,对软件测试一无所知,既不知道该测试什么,也不知道如何开始测试。但是,总该知道如何去学习,然而我认为,学习总该有必要的方法 1.找个好师傅 这是最重要的一条了,也是公司提供的最好的一个条件.刚进来的时

候,td,测试案例都有一个pm细心的和你讲,案例有什么方法来设计?要注意哪些错误?软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,一大堆的东西马上够你头晕的了.呵呵,还好,悟性不错,都囫囵吞枣地吞下去了. 2.学会读书 无论是神马专业,我始终确信,万变不离其宗,我知道,我不是这个专业的,但这个并不代表这我就不了解这个,再怎么不济,我也是从书本中走出来的,我相信,只要我努力地吧书本啃熟,我能够灵活地融入到这个职业中去,从书本中找寻解决问题的方法。标记出自己所错误的。 3.与前辈们一起讨论,多说 总有一天,我们会成为一位前辈,不过不是现在,至少现在我们应该好好的向别人学习,所以,我觉得,前辈是我们前进道路上不可或缺的一部分,他会成为引领我们前进的发动机,给我们指点,跟我们道工作的经验。然而,我们也应该多说,我知道,前辈们给我们讲解,已经是很辛苦的事情,毕竟,这不是他们的义务。我们也应该多多说说我们的观点,这样既能够让人家了解我们的水平,也方便老师前辈们对我们进行指导。 这些天的学习,我也有了一点自己的心得体会 体会一:软件测试在整个软件周期中的重要性。 它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在

Debussy 仿真快速上手教程

快速上手五部曲: (Debussy v.5.2) 1. Import Files and generate FSDB file 2. Trace between hierarchy browser and source code 3. Trace between hierarchy browser、source code and schematic 4. Trace between hierarchy browser、source code、schematic and waveform 5. nLint (nState本文没介绍,有兴趣的读者,请依文后的连结,自行下载CIC所提 供的NOVAS原厂编写教材参考) 1. Import Files and generate FSDB file 1.1 启动Debussy:% Debussy &(此处的D大小写都可以,但其它指令的大小写 可能就有差别) 开启nTrace window如下,此时工作目录下会新建一个"DebussyLog"目录

1.2 Import Files:File \ Import Design

结果如下图所示:nTrace视窗中,含有三个区域,Hierarchical Brower、Source code window、Message window。 (如果不想看波形,只想查看source code与schematic的关係,您可以直 接跳到step 2.1) 此时DebussyLog目录内会有Debussy.cmd、turbo.log、compiler.log三个档案。Debussy.cmd纪录所有import的档案与之后所有的执行程序。我们可以直接引用这个档案来执行上一次我们做过的一连串程序(refer to 1.5)。 1.3 设定外部模拟器,藉其產生FSDB file: Tools \ Options \ Preferences

软件测试实习心得体会

软件测试实习心得体会

软件测试实习心得体会 【篇一:软件测试心得】 软件测试感想总结 软件测试工作是一个系统而复杂的工程,软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以工作的主要任务是发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。 而且软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。 软件测试对测试工程师来讲,要求具备较强的专业知识,严谨细心耐心的测试态度,良好的反向思维、发散思维能力、沟通能力等等。 以下是就自己的个人工作经历谈一些浅见: 1. 标准文档的制定: 1.1.任何一个公司要让自己的产品面市,都要有自己的一 套完整的品质标准,这个标准一定是在符合国标及客户 标准的基础上形成的企业标准,系统而全面地描述一款 产品的功能、性能、可靠性、健壮性、按规格要求等一 系列的产品标准,并根据客户特定要求相应调整。 1.2.测试仪器的作业指导书(sop)及保养说明等。定义仪器 的使用步骤、操作指南和保养细则等。

2. 测试资料的归档: 标准媒体文件、测试报告、bug list库(电子类问题、结构 类问题、软件类问题:方案自存问题、品证测试问题、生产测试问题、客户反馈问题、终端消费者反馈问题等)、认证测试文档归纳总结(认证公司培训资料、认证过程中出现并改善的问题)、测试工程师经验分享、常见问题解答faq等。 3. 功能测试: 3.1.这是软件测试工作中最核心和最基本的一项测试,该测 试的主要内容是检查软件是否符合需求定义,并通过构 造正常的操作来检查的动作是否正确;在这个测试里, 正确性是最最重要的软件质量要素。 3.2.功能测试按照可见性可以分为两类:显性功能和隐性功能。 显性功能:指在菜单里可以看得到的功能。 隐性功能:指在菜单里看不到的功能。 例如,电话本的显性功能有增加、编辑、删除、拨打等, 这些功能可以在电话本的菜单里面看得到,姓名列表排 序则属于一个隐性功能,因为在电话本的菜单里没有这 样一个子菜单,但它却是一个实实在在的功能。 如以下这些隐性功能都测试中都需重点关注: a. 电话本上下页切换,是否有遗漏联系人信息?

modelsim仿真小结

Modelsim仿真小结 Modelsim的基本仿真流程大致分以下几个步骤:建库、编译工程、前后仿真、调试等。Modelsim仿真既可以在modelsim界面操作,也可以用do文件实现,这里结合学习的教程、网上看到的资料,和实际遇到的一些问题,分别做一整理小结。 1.建库 建库包括Altera库和Xilinx库,同时都包括Verilog和VHDL。这里只建了Verilog库,VHDL和Verilog步骤相同。 对于Altera库主要包括lpm元件库、Mega_Function库atera_mf、altera原语库altera_primitive和各器件系列模型库。前三种是调用altera模块的必备库,第四种是进行综合后功能仿真和布线后时序仿真需要的库,和器件系列有关,只选对应系列即可。 Altera库创建和编译步骤如下: a)在Modelsim安装目录下新建文件夹,命名altera_lib,以存放编译后的库文件,可 以在altera_lib下新建Verilog和VHDL两个子文件夹,分别存放Verilog和VHDL库。 b)打开Modelsim,新建Library,file ->new->library .. c)如下图,创建lpm库,路径E:\modeltech_10.1a\altera_lib\Verilog\lpm

d)添加库文件,并编译,compile -> compile …,出现compile source files窗口, library 指定到lpm下,查找范围,选quartus安装目录下… eda\sim_lib目录里的仿真原型文件:220model.v ,点c ompile ,点done。 到此,lpm库建立完毕。 e)同理,建立altera_mf库添加altera_mf.v ,建立primitive库添加altera_primitive.v 建立各系列的模型库,命名可用系列名加_ver“xxx_ver”,也可随意吧,添加各系列的xxx_atoms.v。 这里,也可以把以上库放在一个文件夹,这样做简单,一次就搞定,分开也就是条理清楚,没人去看,所以没必要。 f)修改modelsim.ini文件,为的是让modelsim能自动map到已经编译的这些库上。 先去掉只读属性,在[Library]和[vcom]之间加上:库名=库路径[绝对路径或者相对路径],相对路径是相对于modelsim安装路径,modelsim安装路径用$MODEL_TECH 表示。 这里所有库都放在E:\modeltech_10.1a\altera_lib下,库名是altera_lib,这里只添加一句:altera_lib = E:\modeltech_10.1a\altera_lib g)保存退出,改回modelsim.ini只读属性,防止乱改。至此altera库建立完毕。 Xlinx库创建和编译步骤如下: 相比altera,xilinx建库很方便。xilinx有批处理命令,直接在console命令窗口,输入compxlib命令,调出编译库的窗口,先改掉modelsim安装目录下modelsim.ini只读属性。设置如下图:

nodemcu调试心得

NODEMCU调试心得 网上没有nodemcu的中文资料,英文资料也比较零碎。结合自己的调试过程,整理一个。 资料篇 github上的英文入门教程,一共三页,强烈推荐。 nodemcu的中文API说明 有点混乱的官方文档 中文nodemcu官网,已经关闭了,汗。 必备软件 官方推荐的IDE: ESPlorer ,集成了lua,需要安装java,一个俄罗斯人写的,IDE的入门教程可以看一下,还有书卖,要十几美元,汗。。。 一个烧写工具,用安信可的也是可以的,貌似ESPlorer里已经集成了。 nodemcu的官方lua固件,包含源码,必备,貌似ESPlorer里已经集成了。 直接用安信可的IDE开发也是可以的,IDE里有nodemcu的工程文件。但是我还没有尝试。 step1 usb线连接nodemcu和电脑,串口驱动会自动安装,开发板蓝灯闪烁。 打开串口调试工具(也可以用ESPlorer里的串口工具),选择端口(看一下设备管理器),速率选择9600. 串口不断显示: Please run file.remove("user.lua") before first use. 在串口发送界面里输入并发送 file.remove("user.lua") node.restart() 回显

NodeMCU 0.9.5 build 20150403 powered by Lua 5.1.4 Will run user.lc/user.lua in 1000ms > cannot open user.lua 蓝灯熄灭。user.lua文件被删除,系统重启。 step2 打开ESPlorer,刷新,选择端口和速度,可以参考入门教程 在左侧窗口输入入门教程的代码,控制管脚4GPIO的LED。不用接线,因为LED已经集成在板子上了。 lighton=0 pin=4 gpio.mode(pin,gpio.OUTPUT) tmr.alarm(1,2000,1,function() if lighton==0 then lighton=1 gpio.write(pin,gpio.HIGH) else lighton=0 gpio.write(pin,gpio.LOW) end end) 选择save文件,存为init.lua,系统自动上传烧写代码。蓝灯重新开始闪烁。 代码中的2000是蓝灯的闪烁时间,单位是ms,可以修改。 是不是超级简单? 其他内容以后继续补充。

周立功ARM调试心得

周立功ARM调试心得 2008-9-11调试"SmartARM2200 V2.02实验箱"心得: 1、在调试"E:\htwang\smart2200v201\ARM嵌入式系统实验教程(二)\开发板出厂编程程序\液晶显示程序\LCM_Disp"的程序时,想使用外部RAM进行仿真调试,在将ADS1.2中的"DebugInExram Settings->Arm Linker -> Output -> Equivalent Command Line"的"-info totals -entry 0x8100000 -scatter .\src\mem_b.scf"改为"-info totals -entry 0x80000000 -scatter .\src\mem_b.scf"时,编译时总是出现错误信息"Error: L6206E: Entry point(0x80000000) lies outside the images",经梁工(宝琼)提示:"这是由于程序空间超出范围,需要改一个参数。" 打开关于外部RAM调试的分散加载文件"mem_b.scf"发现所有的程序调试地址都是指向0x81000000的Flash地址空间,而不是0x80000000的RAM地址空间(此时硬件电路板上的短路片RAM接CS0、Flash接CS1),后把0x81******全部改为0x80******,编译调试都正常。 2、不正常现象:在调试"SmartARM2200 V2.02"实验箱时,每次实验箱断电或实验箱上复位按键后,H-Flash的Load操作都要重新执行一遍(或者简单一点:只要在H-Flash -> Programming -> Check 按钮上点击一下也可以),否则下载程序后实验箱运行不了。 (先是在选用DebugInExram出现这种情况,后选用RelOutChip则不会出现这种情况。) <2008-9-12> 另外,每次重新启动H-JTAG和H-Flash后,都要将H-Flash重新设一遍。 3、现象:在调试GB_Disp工程时,程序无法正常运行。 分析:当调试的程序中包含中断时,分散加载文件"mem_*.scf"的"IRAM "项设置不能从0x40000000开始,而应该从0x40000040开始(给中断向量留下空间),否则程序无法调试。(先是在选用RelOutChip出现这种情况,后选用DebugInExram也出现这种情况。) < 2008-9-12 htwang注: 上面的解释并不正确,因为在调试其他中断实验的过程中,配置文件"mem_*.scf"的"IRAM "项设置成从0x40000000开始也可以正常运行。(估计可能是存储器映射的问题) 打开GB_Disp工程"target.c"文件,果然发现在函数"void TargetResetInit(void)"中将存储器映射寄存器初始化成"MEMMAP =0x2",这是选用的用户RAM模式,中断向量也从静态RAM重新映射。如果想映射到用户外部存储器模式,应该改为"MEMMAP =0x3"(见《ARM嵌入式系统基础教程》P166 或《深入浅出ARM7-LPC2200》P119)。按此方式更改后,实际调试也正常。 >

软件测试工作心得

软件测试工作心得 导读:本文软件测试工作心得,仅供参考,如果能帮助到您,欢迎点评与分享。 软件测试工作心得【一】一、本年度工作完成情况 时光飞逝,在这年里本人独立负责测试的项目10个,与其她测试人员联合测试的项目9个以及GIS应用虚拟项目(2个版本)。 其中独立负责的项目对项目的开发周期做全程跟踪测试,联合测试的项目协助其她测试人员完成项目测试工作。繁忙的工作使自己在过去的一年里学到了很多,同时也提高了自己各方面的能力。感谢领导的支持与指教,现总结如下: 独立负责的项目列表: 1) 《湖南xx空调进销存系统》 2) 《湖南xx空调售后服务系统》 3) 《长沙统计局数据管理平台》 4) 《长沙统计局数据展示系统》 5) 《长沙统计局GIS应用系统》 6) 《xx电网WEB GIS系统》 7) 《xx电网移动电子化移交系统》 8) 《xx电网东莞局单线图绘制系统》 9) 《电信号百-掌上同学圈》 10)《长沙城市林业生态圈资源信息集成系统》

与其她同事联合测试的项目列表: 1) 《xx市规划局办公系统》 2) 《xxx_地理公共服务平台》 3) 《xxx市规划局自动化办公系统》 4) 《xxx县城建档案馆著录系统》 5) 《xxx市统计地里信息系统》 6) 《xxx市社会安全联合救助系统》 7) 《xx市施工图审查中心一体化办公平台》 8) 《xxx控制性详细规划系统》 9) 《xxxxx市地理信息系统》 GIS 应用虚拟项目 1)GIS 应用xx项目B/S版本 2)GIS 应用xx项目C/S版本 其中格力项目的测试工作,多次与开发组人员一同参与在客户处讨论需求与细节要求,对客户的习惯与要求有了清晰明确的了解。与电信的验收测试中学到了很多专业的测试方法与测试经验,与她们成为了好朋友。在后续的合作与交流中,将更进一步提高自己的专业技能,保持良好的沟通与联系做好测试工作。 南网的项目在通过开发组的培训后,对南网1、0环境与功能,数据库的结构有了比较清楚的了解,对测试南网2、0很有帮助,主要就是对电力这块的业务有了深入的了解,对测试电力行业的系统打下了业务认知基础。加入专业的测试方法,使测试工作更好的服务于项目。

modelsim和NCverilog的区别

Modelsim和NCverilog的比较 集成电路的发展趋势是,单位面积集成的晶体管的数目越来越多,可靠性越来越越高、稳定性越来越好。现在芯片集成度已经超出可人们的想象,有的芯片内部集成了数百万的晶体管,已经远远超出了人的大脑可以分析的范围。这就对EDA工具提出了更高的要求,不管是设计、仿真、综合软件的发展,都给集成电路工程师带来了巨大的便利。 modelsim是Mentor graphics公司推出的HDL代码仿真工具,也是业界最流行的HDL仿真工具之一。支持图形界面操作和脚本操作,常见的图形界面操作相对直观,但是由于重复性操作几率高、处理效率低、工程的非保存性,对于大规模的代码仿真不推荐使用;脚本操作完全可以克服以上的缺点,把常见的命令,比如库文件和RTL加载、仿真、波形显示等命令编辑成.do脚本文件,只需要让Modelsim运行.do文件即可以完成仿真,智能化程度高。 NCverilog是candence公司推出的Verilog HDL的仿真工具。NC-Verilog是Verilog-XL的升级版, 它采用Native-Compiled技术, 无论仿真速度, 处理庞大设计能力, 编辑能力, 记忆体容量和侦错环境都以倍数升级。C-Verilog是一个编译仿真器,它把Verilog代码编译成Verilog程序的定制仿真器。也就是它把Verilog 代码转换成一个C程序,然后再把该C程序编译成仿真器。因此它启动得稍微慢一些,但这样生成的编译仿真器运行得要比Verilog-XL的解释仿真器快很多。Ncverilog是shell版的,nclaunch是以图形界面为基础的,二者调用相同内核;Ncverilog的执行有三步模式和单步模式,在nclaunch中对应multiple step和single step;Ncverilog的三步模式为:ncvlog(编译) ncelab(建立snapshot文件) ncsim(对snapshot文件进行仿真)基于shell的ncverilog操作(尤其是单步模式)更适合于大批量操作,hncverilog的波形查看配套软件是simvision,其中包含原理图、波形、信号流等查看方式。 Ncverilog命令使用库文件或库目录 ex). ncverilog -f run.f -v lib/lib.v -y lib2 +libext+.v //一般编译文件在run.f 中, 库文件在lib.v中,lib2目录中的.v文件系统自动搜索使用库文件或库目录,只编译需要的模块而不必全部编译。 Verilog Testbench信号记录的系统任务: 1). SHM数据库可以记录在设计仿真过程中信号的变化. 它只在probes有效的时间内记录你set probe on的信号的变化。 ex). $shm_open("waves.shm"); //打开波形数据库 $shm_probe(top, "AS"); // set probe on "top" 第二个参数: A -- signals of the specific scrope

NODEMCU-DEVKIT中文

? NODE MCU TEAM 网站: https://www.sodocs.net/doc/4912195414.html, 电邮: nodemcu@https://www.sodocs.net/doc/4912195414.html, 协议: MIT License GitHub: https://https://www.sodocs.net/doc/4912195414.html,/nodemcu 1 / 2 NODE MCU DEVKIT 硬件说明书 V0.9 2014-12-7 管脚定义 GPIO16 GPIO5 GPIO4 GPIO0 GPIO2 GND 3V3 EN RST GND 5V D0 D1 D2 D3 D4 3V3 GND D5 D6 D7 D8 D9 D10 GND 3V3 A0 RSV RSV RSV RSV RSV RSV GND 3V3 3.3V GND GPIO14 GPIO12 GPIO13 GPIO15 GPIO3 GPIO1 GND 3.3V ADC0 NC NC NC NC NC NC GND 3.3V GND 3.3V EN RST GND 5V USER FLASH TXD1 RXD2 TXD2 RXD0 TXD0 WAKE HSPICLK HSPIQ HSPID HSPICS TOUT 3.3V POWER 5V POWER GROUND GPIO WITH PWM GPIO WITHOUT PWM UART HSPI KEY SYSTEM ADC NOT CONNECT DEVKIT

NODE MCU DEVKIT 硬件说明书 注意事项 1. 连接开发板硬件之前,确保断开所有电源以避免触电危险。开发板上包含尖锐物体,使用时应当十分小心以避 免意外伤害。禁止用手指直接触摸开发板裸露金属部分,防止意外扎伤手指。另外直接触摸金属部分可能导致静电损坏开发板。未成年人需要在成年人监护下使用此开发板。 2. 开发板天线附近请保持足够的净空区,否则会影响天线性能。 3. 开发板的USB接口与计算机连接时,如果开发板的串口没有被打开,插拔计算机USB外设的操作会造成开发 板复位。只有使用计算机供电且串口未被打开时会发生此问题,如果使用普通USB电源供电或计算机已经打开串口则不会发生此问题。 4. 开发板的GPIO0上电时若电平为低,则开发板进入烧录固件模式,此时用户的程序将不会被执行。如果开发板 上电后未能正常工作,请检查如下引脚的电平:GPIO0高,GPIO2高,EN高,RST高,GPIO15低。若电平不符,请用户检查外围电路并修正。 5. 烧录固件时如果不慎发生中断导致烧录失败,则开发板的程序不完整,此时有一定的可能无法进入自动模式。 此时应当按住FLASH按键不放插入USB线缆,则可正常烧录固件。 6. 如果用户需要使用休眠功能,需要将RST与GPIO16直接连接。用户可自行连接这两个管脚,或在开发板R3 位置焊接0欧姆的电阻。注意,使用休眠功能后,GPIO16禁止使用。 7. GPIO16不支持中断、PWM、I2C以及One-wire功能,只能作为普通输入/输出端口使用。 8. 不得对开发板输入超过5V以上的电源电压,也不得将开发板GPIO直接连接到5V电平的外设上。如果需要连 接,需要电平转换电路,否则可能造成不可逆转的损坏。 2 / 2

FFT调试心得

DSP2812上FFT调试心得 1 事前准备工作 FFT运算的代码实现(基本上是所有的程序中)最核心的两个问题就是:数据结构和算法。由于FFT运算的结果是复数形式,该怎么存储,存储为什么数据格式都要考虑清楚,后面会交代。FFT的核心程序不建议自己编写,如果你足够厉害的话也可以自己写,主要原因有两个,一计算的精度问题(涉及到数据结构),二是程序的执行效率问题,这些在hello dsp论坛都有讲到。 所以在项目开始之前先从TI官网下载FFT函数库(文件名sprc081),解压并安装。其次下载一个C28xx定点库说明书(C28X_Fixed_Point_Library_v1_01)拜读一下,上面有FFT库函数的讲解,不要惧怕读英文。本阶段所需要的文件如下图。 话不多说,现在开始上马,从新建工程开始。 2 新建工程 跟往常一样,添加各种文件。另外为完成FFT运算,需要额外添加以下文件:fft.h,fft.lib和完成FFT运算的asm文件,参见下图高亮显示的

头文件和库文件 源文件 由于我用的是复数CFFT 运算,所以源文件里面是cfft32xxx ,如果你用的是实数RFFT32运算,则相应的添加rfft32xxx 。所有的汇编文件见下图 下面就可以编写自己的源文件了。先说明下我的源文件是干什么的。我没有用TI 给的

例子,里面的位码倒置函数使用了2次,感觉不太对吧,而且加窗函数其实可有可无。我的是对普通电网的220V电压信号进行采集并进行谐波分析。具体方法是将正负220V调理到0到3V的交流信号提供给2812的ADC采集,并进行FFT运算。一个周期(0.02s,50Hz)采集1024个点,由于点数较多,涉及到后面的数据段的分配(CMD文件的配置)等后面再说。不用我说,这些头文件都要写在程序里吧。中间的unsigned int flag=0到float harmonics[100]是我自己定义的变量就不需要了。 用#pragma定义了段以后就必须到CMD里面为它分配存储空间。CMD配置具体参见教科书。说一下我在这阶段的问题吧。首先ipcb[2N]得占4K个字(4K*16),mag[N]占2K*16,还有一个潜在的数据段FFTtf(存放旋转因子的,貌似占3N/4个字)最好也得分个2K*16,一共得8K,很明显DSP2812的RAM是存不下的,可能有人会说,2812的RAM不是有18K吗,还存不下?因为2812的RAM都分成不同大小的区了,如果没记错的话H0占8K,不过这些分给程序去了,唯一大点的空间就是L0 SARAM和L1 SARAM各4K,理论上刚刚好。最开始我把FFTipcb、FFTmag和FFTtf分到这两个区存储,调试出问题了计算结果一直是0,后面仔细翻书发现这两个区是受CSM保护,需要密码才能通过JTAG口读取。在线调试看不到数据。段定义到flash中也是一样的受CSM保护,且会降低速度。初学者还是分配到RAM中便于观察,调试方便。 我的解决办法是在外设接口2区扩展了一个256K*16的RAM,然后将FFTipcb、FFTmag和FFTtf分配到该外扩RAM中去(我用的是试验箱,别人已扩展好)。RAM扩展电路如下图。

Ncverilog_的一些经验

Ncverilog 的一些经验 1.Verilog和Ncverilog命令使用库文件或库目录 ex). ncverilog -f run.f -v lib/lib.v -y lib2 +libext+.v //一般编译文件在run.f中, 库文件在lib.v中,lib2目录中的.v文件系统自动搜索使用库文件或库目录,只编译需要的模块而不必全部编译 2.Verilog Testbench信号记录的系统任务: 1). SHM数据库可以记录在设计仿真过程中信号的变化. 它只在probes有效的时间内记录你set probe on的信号的变化. ex). $shm_open("waves.shm"); //打开波形数据库 $shm_probe(top, "AS"); // set probe on "top", 第二个参数: A -- signals of the specific sc rope S -- Ports of the specified s cope and below, excluding library cells C -- Ports of the specified s cope and below, including library cells AS -- Signals of the specifie d scope and below, excluding library cells AC -- Signals of the specifie d scope and below, including library cells 还有一个 M ,表示当前scope的m emories, 可以跟上面的结合使用, "AM" "AMS" "AMC" 什么都不加表示当前scope的por ts; $shm_close //关闭数据库 2). VCD数据库也可以记录在设计仿真过程中信号的变化. 它只记录你选择的信号的变化. ex). $dumpfile("filename"); //打开数据库 $dumpvars(1, top.u1); //scope = top.u1, depth = 1 第一个参数表示深度, 为0时记录所有深度; 第二个参数表示scope,省略时表当前的scope. $dumpvars; //depth = all scope = all $dumpvars(0); //depth = all scope = current $dumpvars(1, top.u1); //depth = 1 scope = top. u1 $dumpoff //暂停记录数据改变,信号变化不写入库文件中 $dumpon //重新恢复记录 3). Debussy fsdb数据库也可以记录信号的变化,它的优势是可以跟debus sy结合,方便调试.

ESP8266WIFI模块自制智能插座

ESP8266WIFI模块自制智能插座 本帖最后由Allenter 于2015-10-21 10:45 编辑 本人在今年年初就对Arduino和ESP6288(WIFI智能控制芯片)很感兴趣,当时就在淘宝购进了Arduino套件、ESP6288模块(EP-01和EP-12 )以及杂七杂八的一些小原件等等,平常比较忙,时间不算多,一边制作测试板然后做各种实验,一边学习相关编程技术,目前程序开发只是略懂皮毛,不过也算小有心得吧。 前段时间看到许多朋友用ESP6288WIFI智能控制芯片模块制作了不少东西,我也磨拳檫手打算也尝试一下作出一个成品来,这段时间稍稍有点时间,于是马上动手,参考网上一些朋友的经验,利用手上现有的材料和原件,制作了两个WIFI控制的智能插座,有一个已经放在公司对某个设备进行控制,挺好用的。 ESP6288现在有不少成品模块以及集成模块,大都价格低廉。对于开发和测试方便的如NodeMcu Lua WIFI 物联网开发板,30元左右,接上继电器模块就行了,相当简便易行。不过本人手上现成模块有EP-01和EP-12模块,还有低电平触发的继电器模块,考虑不要浪费,所以干脆就动手多一点吧。 对于EP-01模块(最便宜的模块,X宝现在8元都能买到了),网上已经有详细介绍,我这里就不累赘复述了,硬件上主要制作和改造几样东西,一个是供电电源,一个是继电器低电平改高电平触发,最后就是插座本身了。如果原件材料准备齐全的话,半天一天就可以完成的,但实际上工作之余的时间也是比较碎化,加上一些小原件和工具缺乏,影响了一些配套电路板制作和某些物件的调整加工,另外,程序开发上,虽然参考一些网上资料,也收集不少相关的开发说明和例程之类

Nodemcu指引PDF

ESP8266&NodeMCU开发入门 本教程以NodeMCU1.0开发板(CP2102/CH340均适用)以及lua编程设计为主。 确认电脑已安装相关USB驱动(CP2102/CH340),以设备管理器可以找到COM口为准。确认此开发板已经更新為NodeMCU firmware(NodeMCU的官方固件)。按以下指引更新。 一、准备: 1、配套的固件如下(选择任意下载就行): 2、固件烧写简单步骤指引(固件烧录工具在配套的软件文件夹里):

二、使用ESPlorer测试 1、下载并安装lua编程及调试工具ESPlorer 官网链接:https://esp8266.ru/esplorer/ 配套软件文件夹有免安装版本。 注意:ESPlorer需要JAVA SE7或以上的環境。请自行配置好电脑的运行环境。 2、启动ESPlorer,设定串口通讯的波特率为9600。 设定完成后,按下OPEN与Nodemcu连接。 nodeMCU板子上面刚好有个LED(靠近USB接口),我们可以拿这个LED1来测试。先来看下板子的电路图。其中的R10,板子上面没有焊。LED部分电路图: 也就是说LED1和GPIO16连接到一起,低电平就可以点亮。而GPIO16对应的编号则是0。先用.mode配置GPIO16为输出模式。使用.write可以设置电平,设置成gpio.LOW会看到板子上的蓝灯亮起了。使用.read可以得到pin状态,这里使用print把读到的值打印出来。lua 没有printf函数,用起来真费劲。另外,为了能够看到灯亮,这里用了一下tmr.delay做一下延时。程序如下:教程不做程序的讲解,请使用者在后续的开发过程中自行学习。

软件测试心得体会(精选5篇)-最新范文

软件测试心得体会(精选5篇) 篇一:软件测试课收获和体会 软件测试课学习心得 1204013031 许院生 12计本3班 这个学期我学习了软件测试这门专业课程,在学期即将结束的时候,我也对这门课程建立基本的了解和理解。软件测试这门课程作为软件工程专业中一门很重要的课程,已经在软件领域占据了不可替代的角色,当一个软件从雏形到真正的在一台计算机上运行的时候,谁也不能保证计算机软件能一步到位的满足人们的需求。所以就有了软件测试,其目的是:第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。下面我简单的写一下这个学期对课程的总结和收获。 我认为,在整个庞大的软件工程中,不管是需求分析、架构甚至是最后的debug,都会产生引入不管的机会,这就要求作为一个软件测试师要掌握丰富的软件工程原理和知识。测试的工作将会存在于整个项目周期,即在项目开始时需要各种分析调研时就开始了。尤其是在形成需求规格说明书时就有对文档的测试需求,甚至主导整个项目的走向。 软件测试对逻辑思维、学习能力、反应要求很高,是否有严密的思维和逆向思维也非常重要。做测试还要考虑到所有出错的可能性,有时候还要用一些非常规的的测试方法。软件测试还很注重软件性能问题,也就是要保证软件运行得很好;不同的使用环境下,考虑软件的兼容

性同样重要。对于测试员来讲,会比开发人员更加重视软件产品的质量问题。在测试过程中,测试者可能会为客户的需求角度考虑 到更多,由此我们可以认为测试人员有权利决定产品是否可以发布。然而,通过一个学期的学期,我们又不得不懂得,软件测试人员不是万能的,测试人员在面对一个设计烂编码烂的软件时,也是无法不低头的,再怎么测试它也变不成优秀的软件。 通过课上的理论因为课下的实践和后半学期又因为身体力行于QQ 群论坛里使我对测试方法和设计分析有了大致的接触和深入了解。收印象深刻的有一下几点。 1、最基本的测试的分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试;从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。 2、然后就是,白盒测试中的逻辑驱动测试的覆盖率测试。 3、还有就是对于划分等价类和边界值法这一块,让我从模糊到明朗。 4、在初次写测试用例的时候,感觉真是纠结,用例写的很死板,看似简单的一个填表工作,要写好真是不简单。一开始写的比较不自然,有些生搬硬套,而且还很慢。在后来负责了对论坛新鲜事版块的测试之后,明白了测试用例其实就是指导怎么去执行测试,而且书写设计测试用例也要以熟悉软件的业务为前提,才能更好的去测试。 另外就是一个学期的学习让我纠正了几点误区: 1. 有位大师曾说过:“软件测试的目的在于发现错误,一个好的测试用例在于发现从来未发现的错误,一个成功的测试是发现了从未发现

Debussy是一个VerilogVHDL调试工具

介绍 一、Debussy是一个Verilog/VHDL调试工具 Debussy是一套很好的Verilog/VHDL调试工具,可以帮助设计者快速理解复杂的设计,查找和定位设计中存在的问题,提高效率。 二、Debussy包含软件模块 Debussy主要有以下几个模块: 1、nTrace:超文本连接方式的源代码追踪及分析 2、nSchema:原理图显示及分析 3、nWave:波形显示及分析 4、nState:有限状态机的显示及分析 5、nCompare:分析仿真结果,比较其相异处。 Debussy的五个组成部分nTrace, nWave, nSchema, nState, nCompare在FSDB和Knowledge Database (KDB)的支持下高度集成。

三、Debussy功能 Debussy直接编译Verilog/VHDL源代码,并且采用了预综合技术识别电路的单元,可以生成原理图。在导入仿真结果后,可以用Active Annotation在源代码、原理图、状态图上动态显示变量的仿真值。 Debussy的输入为:Verilog/VHDL或混合语言源代码,仿真波形文件,SDF 支持的波形格式:vcd,fsdb,模拟波形文件(PowerMill,TimeMill,Avant! Star-Sim,SmartSpice) 支持的仿真器:VCS,Verilog-XL,NC-verilog,NC-VHDL,Modelsim,Leapfrog,Ploaris。

操作 一、启动 1. 启动 %debussy 启动debussy时,弹出一个nTrace窗口,包含三个子窗口: a、左边是Hierarchical Browser窗口,用来显示设计的层次(design hierachy)。 b、右边是Source Code window,显示源代码。跟踪信号的驱动、负载。 c、底下是Message window(消息窗口),用来报告操作的结果。 2.导入设计 File->Import Design Debussy提供了两种导入设计的方法: A、从设计源文件直接导入 B、从库导入(先将源文件编译成库) Note: 可以用命令的方式直接启动debussy并导入设计文件,即在命令行上列出所有的选项和源文件,或者把这些选项和源文件写到一个文件中,用-f选项指定这个文件。例如: %debussy design.v -v lib.v %debussy -f run.f Note: 启动debussy后,会自动建立一个日志目录DebussyLog,在这个目录下,有一个日志文件:,记录了Debussy的编译信息。 3.查看编译信息: File->View Import Log 二、根据仿真结果进行调试 1. 生成仿真的波形文件 Debussy提供的新的波形文件格式FSDB(Fast Signal DataBase),相比于VCD格式,压缩量大,比vcd文件小5-50倍,加载速度快。 Debussy提供了PLI(for Verilog)和FLI(for VHDL)接口,我们可以在仿真时直接导出FSDB文件。例如,在Verilog的测试模块中加入如下语句:

设备调试心得

50000吨半潜船设备调试的工作方法 摘要本文主要阐述了黄船公司建造的50000吨半潜船的发电机的调试,和上建的内通系统,二氧化碳,机舱水雾等系统的调试工作及其中出现的问题和改进方案。 关键词50000吨发电机配电板航行信号灯二氧化碳内通系统 1前言当代国内外的船舶业都在迅猛发展中。设备调试,作为船舶建造中最后一关,也是最重要的一个环节,怎样利用合理的工作方法,在质量第一的基础上提高各系统调试的效率就显得尤为重要。50000吨是亚洲最大,世界先进的半潜船。在该船的现场调试过程中,我总结了一些系统调试的工作方法,包括:电站系统、广播、声力电话、自动电话、子母钟、航行信号灯、二氧化碳系统、火灾报警系统、以及负责了机舱水雾等系统。 2各系统调试中遇到的问题和改进方案 2.1电站系统的调试 作为一艘中压电力推进的半潜船,该船的电站系统配备了四台主柴油发电机组、一台停泊柴油发电机组、两套中压配电板及两套低压主配电板、一套应急配电板。相比之下,该船电站系统比较繁琐和复杂。 2.1.1柴油发电机组及配电板的调试工作 柴油发电机组,作为机舱的核心设备,有着监测报警点繁多,控制系统复杂,管路交错的特点。 作为船上核心设备,如何把柴油机上这几百个监测点理清楚,如何知道这条管是做什么用的,试验过程中先做什么,再做什么,对于提高调试效率是至关重要的。所以,电站及动力系统的试验,对于调试人员的要求是比较高的。 所以,在试验开始之前,要深入机舱,熟悉各个传感器的位置及功能,要先将各个测点号标明位置,至少做到心中有数。这样,在试验过程中,包括对外报验的过程中,才能事半功倍。 2.1.2配电板的调试工作 配电板的调试前,一定要先熟悉随机资料及内部原理,这样,在试验中,才不会盲目而无从下手。熟悉了随机资料,查线对线工作才能得心应手。 在调试过程中,要特别注意各个开关信号之间的联锁。尤其这艘50000吨半潜船配备了两块中压配电板,两块低压主配电板和一块应急配电板,各个开关的联锁信号更多繁杂而且繁多。因为联锁是为了考虑设备的安全而设计的功能,所以,这方面的调试,要格外细心。 其次,是柴油发电机组的并联运行试验。根据常规的试验方法,是先做柴油发电机组的单机特性试验,再做并联运行试验。但实际的调试中,当功能试验都已经完成之后,可以先试着并联运行,可以大概看出哪台机组的特性和其它几台存在差异,之后的调试,就会更有针对性,这样,可以少走些弯路,提高电站的调试效率。 最后,是自动电站的调试工作,自动电站的调试,一定要在整个手动和半自动电站的试验都完善的情况下来做。50000吨的自动电站和其它船相比,不同的是,它的PMS程序是监测系统来完成的,如果手动和半自动功能未试完,直接试自动功能的话,中间可能会遇到很多问题。 2.2广播系统的调试工作 由于该系统分布的比较散,在调试的过程中,首先我们要把广播机柜和所有的喇叭对完线,遇到有问题的逐个逐个的排除,直至所有的喇叭对完线,检查好以后把电源送上。因广

相关主题