CF-Card拷贝数据出错

整理了一下前几天给客户的DOC2CF。 当我把CF卡的文件在拷贝到主机后,发现了一个问题:拷贝到CF卡中文件的MD5和拷贝前的MD5不一样。这个是一个隐患,也就是说现在的CF卡是不稳定的,很有可能出现DOC同样的错误。 首先解决的问题是,这个文件是拷进来的时候出错了还是拷出去的时候出错了。 拷贝文件到CF卡后把卡取出,通过CF卡读卡器在电脑上校验发现MD5错误 把CF卡中的文件拷贝回电脑发现CF卡的文件和电脑里文件的MD5一样 结果是CF读是没有问题的,问题在于写CF的时序。

Windows Live Spaces服务将从2011年3月17日起正式关闭

今天MSN突然弹出了一个信息,称我的MSN邮箱收到了来自微软发来的信息。 在好奇心的驱使下我打开了邮箱,惊奇的发现微软来了2个重要通知。 尊敬的Windows Live Spaces用户 您好!Windows Live Spaces 服务将从2011年3月17日起正式关闭,请您务必在此之前进行迁移或下载到本地备份。您可以选择将Spaces博客迁移至我们的合作伙伴新浪博客,也可以选择将您的日志下载至本地保存。但如果未进行任何操作,您的Spaces空间将会于3月17日起正式关闭,故请务必在此之前进行操作! 请注意,这是在正式关闭前的最后一次邮件通知,我们建议您现在就开始操作吧! 未来,我们将花更多的精力和资源在 Windows Live其他更多元化的网络服务上,并且以Messenger Connect开放平台与更多的本地网站合作,以丰富您的 Windows Live体验,而我们选择的Spaces本地合作伙伴——新浪,将会为您提供高质量的博客服务。感谢您的支持与理解。 哥当时就开心了。让你们这博客那ZONE的写日志,贴图片,留隐私。慢慢倒腾去吧。 还是哥聪明,自己买个域名建个网站,数据都在自己手里,也不怕别人偷看隐私。 哇咔咔。 PS:现在互联网太不靠谱了。

Solution of GDB issue "Program received signal SIG32, Real-time event 32."

今天客户使用gdb调试程序的时候出现问题。先是“no debugging symbols found",google下发现是因为程序使用strip去掉了debug信息。 然后gdb显示"Program received signal SIG32, Real-time event 32." 继续google后,发现是因为用到的lib库被strip掉了。但是可以使用下面折中的方法: 在dbg prompt后键入"handle SIG32 pass noprint nostop"即可。

CompactFlash Card on MPC8241 using at 8-bits True IDE mode

由于我们公司的一款MPC8241板子存在以下问题 64M DOC空间不够 128M DOC不稳定,文件系统经常损坏 所以我们做了一个DOC转CF的转接卡,由于DOC是8-bits宽度,所以CF卡也只能用8-bits方式。 在CF卡复位后应该使用命令使CF卡工作在8-bits模式,并且不能使用DMA方式。 PS: 这个简单的东西调了整整2天,faint。原因就是第一次调试CF卡的时候写了一个简单的probe程序,当时使用的是16-bits宽度。定义基地址类型的时候使用的是volatile unsigned short *,这次调试的时候没有想起来,结果每次地址加1实际上都是地址加2。导致CF每次读都是在PowerDown模式,把我引进了一个错误的方向。 而对自己的驱动太放心,只是测量了D0是不是正确的,没有测量A0。2天时间都在怀疑时序是不是有问题。 昨天晚上11点终于忍不住量了以下A0,结果发现A0没有变化,A1上出现了波形,最终成功probe到了CF卡。 PS PS: 调试的时候千万不要有侥幸,自己写的代码要考虑清楚,硬件信号该量就要量,不要怕费事麻烦。

USB Class CCID

名词解释 CCID: Integrated Circuit(s) Cards Interface Device ICC: Integrated Circuit(s) Cards 概述 当一个CCID插入USB host时,它可以有或者没有一个插入的ICC。 CCID模型假设一个ICC被或者可以被插入到设备。这就是"slot change"中断消息的目的。 CCID功能特性 通信管道 控制管道 控制管道消息用来控制一个USB设备。这些消息包括标准请求,例如GET_DESCRIPTOR和SET_CONFIGURATION。命令经由默认管道发送,报告信息也经由默认管道返回给主机。如果产生了一个错误,它会产生一个标准的USB错误状态。 中断管道 CCID模型在中断管道处理异步事件。ICC在线,ICC移除或者硬件错误比如电流太大,这些经由这个管道送出。 中断管道对于一个支持ICC插入/移除的CCID是强制的。对于一个只插入没有移除的ICC是可选的。 块进,块出管道 CCID命令经由BULK-OUT端点发出。每个发送给CCID的命令都有一个相应的响应。一些命令也有过程响应。这些响应从BULK-IN端点发送。 所有发送给指定CCID槽位的命令都必须同步发送。一个指定的槽位同时只能接受一条命令。如果一个槽位准备好接受一个新命令那么就认为它是空闲的。 协议和参数选择 CCID在与主机的底层交互的dwFeatures字段声明TPDU、APDU(短或扩展)或者字符。 TPDU层交互 对于PPS交互的TPDU格式如下:…

Cryptographic Service Providers(CSP)介绍

一个密码服务提供商(CSP)包括密码标准的实现和算法。最小情况下,一个CSP由一个实现了CryptoSPI(a system program interface)函数的动态链接库(DLL)组成。大多数的CSPs包含所有它们自己函数的实现。然而,一些CSPs,主要实现了由Windows服务控制管理者(Windows service control manager)管理的主要的基于Windows的服务程序。其他的用硬件来实现函数,比如一个智能卡(smard card)或者加密协处理器。如果一个CSP没有实现它自己的函数,DLL作为一个透传层,便利了操作系统和实际CSP实现的交流。   CSP体系结构 CSP概述 应用程序并不直接和CSP通信。相反,应用程序调用由操作系统的Advapi32.dll和Crypt32.dll文件提供的CryptoAPI函数。操作系统通过CryptoSPI(a system program interface)将过滤这些函数调用并把它们传递给合适的CSP函数。 一个CSP作者必须了解操作系统传递给CSP函数的参数的性质、规则和意义并且必须返回操作系统预期的值。 应用程序使用handles引用CSP内的数据对象。这些handles引用的对象包含key container、hash objects、session key和public/private key pair objects。这些handles使两边不透明,意思是,应用程序使用handle访问的数据对象并不是CSP使用的那个。因为各种各样的原因,操作系统层经常间接使用handles访问数据对象。 入口函数 所有自定义的CSPs必须支持以下DLL入口函数: CPAcquireContext CPCreateHash CPDecrypt CPDeriveKey CPDestroyHash…

Debian开启Apache rewrite MOD

使能Apache加载rewrite MOD [crayon-69ce793f72a1e452135344/] 如果有rewrite.load则表明模块已经加载,如果没有的话可以用一下2中方式使能 [crayon-69ce793f72a21216905937/] [crayon-69ce793f72a22561715316/] 使能Apache Override 编辑/etc/apache2/sites-available/default文件 找到 [crayon-69ce793f72a23165702694/] 改为 [crayon-69ce793f72a24230457130/] 重新加载Apache配置 [crayon-69ce793f72a25653345686/] 参考资料 http://tymonn.wordpress.com/2009/07/31/how-to-enable-mod_rewrite-in-apache2-debianubuntu/

下一阶段学习目标

USB 现在大多数设备都需要USB接口,搞好这个肯定吃香 LD Script 做嵌入式如果连这个都搞不定就悲剧了。进一步就是bootloader。。。。

GSM命令详解

配置命令 名字 功能 AT&F 设置所有参数为工厂默认 AT&V 显示当前配置 AT&W 保存当前配置到用户profile AT+CMEE 移动设备错误信息格式 0 - 禁止错误代码,仅显示"ERROR" 1 - 显示数字错误代码 2 - 显示字符串错误代码 串行接口控制命令 名字 功能 AT\Q[<value>] 流控控制 0 - 无流控 1 –…