Archive for February, 2010

黑莓8100刷机失败修复记录

  前天买了个HTC HERO,回到寝室把原来81上的联系人同步到新手机上去。同步完,DM ( BlackBerry Desktop Manager ) 提醒我81的ROM有可用更新,忘记当时已经断电熄灯30分钟,我直接选择了更新81的ROM。因为这个本本的电池也陪我度过3年了,又过了10分钟以后他就可怜巴巴的请我备份手头的工作……这下囧了,81还没同步完,他就自动待机了。

  然后我的小黑眨巴着他的指示灯,就这么瘫痪了。

  在网上找到一个英文版的小黑系统重装指南,照着攻略重新刷了一遍,果然小黑起死回生。

  把文章主要内容翻译一下,供小黑玩家们参考:系统无法识别黑莓手机连接情况下重装黑莓系统

  1. 安装黑莓桌面管理软件:BlackBerry Desktop Manager
  2. 安装一个黑莓ROM:黑莓 BlackBerry 8100 ROM 4.5.0.174 东亚版
  3. 把电池从手机中取出。
  4. 打开DM,把手机连接到电脑上。
  5. 打开DM界面上的”选项” -> “连接设置”。
  6. 选择USB PIN,因为手机中没有电池这个可能需要几分钟的时间。一些比较少见的情况你可能需要先检测设备。
  7. 选择”安装程序”图标。
  8. 选择你要安装的程序组件(个人在语言支持只选了英文,节省空间么,其他组件全部选上)。
  9. 一直下一步知道看到”完成”这个按钮。
  10. 这一步非常重要,不要点击”完成”按钮,选择”高级”按钮(我没找到-_-可能跟DM版本有关)。
  11. 确定所有的选项都被选上(同样被我忽略)。
  12. 一直到他问你是否需要使用自动备份与还原P,选择不自动备份我的ROM(这个选项原文为:DO NOT AUTOMATICALLY BACK UP MY HANDHELD)。
  13. 当安装系统的任务开始进行时,得把电池插回手机,小心不要影响到传输。一些比较少见的情况下,你可能需要一直等到他说连接需要重新插入电池(我在第一次传输途中看到手机屏幕上出现电池图标,不知道该干嘛,这应该就是需要插入电池的指示)。

  刚开始可能会失败,但不要怕,再试几次。

  如果你第三次还是失败了(老外也讲究事不过三?),下载黑莓JDE(原文为BlackBerry java developers kit),然后安装。安装好后找到javaloader.exe然后移动到C盘根目录。

  打开windows命令行,执行命令”c:\javaloader -usb wipe”,把黑莓的ROM给擦掉。

  *我(指老外)把第13步高亮的原因是这个真的非常重要,如果你的手机没有装入电池,DM就不会重新初始化你的设备。

  翻译到此为止,正常情况下,重新初始化设备后,手机一开始会出现507错误,然后显示和电脑通讯的标识,接下来你需要做的就是坐等小黑恢复正常。

, ,

No Comments

Windows多线程笔记

  最近手头上的东西终于有了一点小突破,这段时间代码上遇到一些问题,有些困了我蛮久。因为之前根本没接触过Windows下面的SDK,Windows核心编程和MSDN都翻了不少,也没少向集训队的学长请教。把这段时间遇到的几个问题整理下,如果能帮到别人就更好了。

子进程的标准输入输出重定向问题:
  没有仔细看MSDN的例子和注释,代码写好后,子进程的标准输入输出还是在父进程的命令行下进行。
  主要原因是 CreateProcess 之前, STARTUPINFO 这个结构不仅仅是指定一下hStdInput, hStdOutput这几个句柄就行了,dwFlags 这个变量需要设置为 STARTF_USESTDHANDLES 才能使以上几个句柄有效。CreateProcess 时,bInheritHandles 需要设置为 TRUE。不仅如此,还有一个容易遗忘的细节,就是 CreateFile 时的 LPSECURITY_ATTRIBUTES 也需要设置为TRUE(同样,CreatePipe 的 SECURITY_ATTRIBUTES 结构的 bInheritHandle 也要设置为TRUE)。

ReadFile堵塞问题:
  如果父进程和子进程通过匿名管道来通信,且把子进程的标准输入输出重定向到了管道,那么会碰到下面这个问题。当子进程的输出被存在缓冲区内,没有刷新的话,管道中就一直没有数据,这时候如果用ReadFile读取管道中的数据则ReadFile被堵塞,于是父进程也被堵塞。目前我还没找到在不修改子进程代码的情况下解决这个问题的办法。只能用不使用缓冲区的输出函数来解决。
  但是如果子进程确实没有输出,那么还是有办法防止父进程被堵塞的,就是事先用 GetFileSize 来检查管道文件容量是否为0。还有一个办法是使用异步I/O来完成通信。

ReadFile读取控制:
  如果父进程在一个工作流程中,只需要从子进程发回的信息中读取一行的话,则只让ReadFile读取一个字符的数据,直到碰到换行符为止,Windows下文件的换行符为”\r\n”。

,

No Comments

预留地

2.16
今晚不想写代码了
想到明天有点小激动
我觉得这段时间的生活差不多应该写个总结了
留块预留地,备明天更新

2.17
代码还是要写,该看的书还是得看
我又向自己证明了YY和现实的差距
总结是需要的,拖个几天是必然的
预留地已用,栽上一颗杯具

p.s. 今天看了全城热恋,故事蛮温馨,学友叔跟刘若英的爱情很欢乐,还是对得起这个票价的。

3 Comments

DropBox

DropBox Logo
DropBox是一个基于云端的跨平台“同步、存储、分享”的服务,大致内容就是提供一定容量的免费空间(2G-5G+),可以和用户本地的文件夹同步,并提供外链服务。

优点:
1.跨平台:支持Windows、Linux、Mac、iPhone
2.容量:开通2G(通过邀请,最大可达到5G)
3.共享功能:可共享给指定用户,支持外链。
4.同步功能:具体见月光博客的对比,便捷,更智能,带来最实际的好处就是快。
5.强大备份功能:同步文件夹内的每次改变都会被DropBox保存,DropBox官网的Tour把这比喻成时间机器,还放了张很有爱的Back to The Future里的时光车。

如果你点这个链接注册并下载安装DropBox,那么你和我都能增加额外的250M空间。

广告打完了,我来说点闲话:这个服务用起来确实挺快的,不过我文档有Google Docs,图片有Flickr,而且相信Google Drive也就在不久的将来;我现在也只是出于尝尝鲜的心理,而且这个东东确实挺方便的啦,可以随便放点小程序和配置文件什么的。

,

No Comments

谁来帮我想个有爱的标题

  晚上某人在聊天时公然指责我“戒心太重“,我在蒙受莫须有罪名之余只好自曝高中糗事一则以洗清嫌疑。

  话说那时已经是高三了,整个人都被高考的压力弄得神经兮兮。某天英语课,英语老师(80后美女)擦黑板时不小心把板擦掉到地上,遂弯下腰捡。我被板擦落地之声惊吓,猛地脱口而出:“有凶兆!” =_=

  接着是全班的缓不过神 & 我在嘴闭上之前就开始后悔 & 英语老师直起腰后稍微有点脸红。结局是全班的爆笑,而我直接趴在桌子上不敢抬头,英语老师还在故作镇定……

  某人自称看到我自曝糗事后已内牛满面。

  第一次在自己博客上讲冷笑话,其实我也不想被人说古板的。不过糗事不就是要发生在长着一张古板脸孔的人身上才好玩么?真是矛盾啊。

, ,

1 Comment