分类目录归档:嵌入式

为该死的 Android 编译新版本的 OpenSSL 库

不知道从什么时候起,大家都喜欢把简单的事情复杂化,好像越难用就越牛逼一样。装逼的倒是无所谓,等到要用的时候就傻了。以上是题外话。手机上的 Android ICS 的 OpenSSL 库版本较旧( 1.0.0e ),在神奇的地方使用容易出现一些问题,因此打算用新版本的替换掉,看看能不能解决在兲朝时不时出现的 SSL 错误(手机上特有的现象)。另外安装 openssl 命令行工具也可以用于手机处理器性能的 benchmark 。

继续阅读为该死的 Android 编译新版本的 OpenSSL 库

Linux 下离线烧写 SPI 闪存

手上的嵌入式设备一多,尤其是路由器一多,就会发现时不时的要用到 SPI Flash 编程器。然而,市售的 SPI NOR Flash 编程器虽然价格已经非常便宜,但是速度不算给力,而且都是基于私有协议的,完全不能在 Linux 下用。虽然可以开虚拟机,但是咱还是希望方便点,不是吗?

好在后来无意中发现了 coreboot (原 LinuxBIOS )项目开发的 flashrom 工具居然带有离线编程功能,除了支持一票比较贵的专用编程器/基于 FTDIxxxxH 的编程器外,还支持一种叫做 serprog 的协议,可以通过串口操作单片机来给 SPI 闪存编程。这样一来就方便了。flashrom 的 wiki 里给了基于 Arduino 的 serprog 的固件源码,其实就是为 ATMEGA 系列 AVR 单片机设计的。

继续阅读Linux 下离线烧写 SPI 闪存

加内存,加 USB ,换闪存:改造 W150M

Tenda W150M 的官方固件甚是憋屈,AP 下开了隔离,LAN 里面的机器互访困难,跑 OpenWRT 的话 16MB 的内存又时常被挤爆,于是打算修改之。

手上的 W150M 是 4MB 并行 NOR 闪存的版本,为了方便修改 uboot ,只好换成 SPI 闪存,这样也好趁机换个大点的。

动手前请先在 OpenWRT 里备份 /dev/mtdblock0 、/dev/mtdblock1 和 /dev/mtdblock2 这三个分区(即 uboot 、uboot-env 和 factory )。factory 分区待会还会用到。

继续阅读加内存,加 USB ,换闪存:改造 W150M

拆解 HP 定制版 Tenda W150M 并为其修改 OpenWRT

这台路由器也算是便宜货了,性能尚可,320MHz 的 MIPS 处理器,16MB 的 RAM 略微有点紧张,关键是 NOR 闪存是 4MB 而不是大多数 W150M 配备的 2MB ,这样就给 OpenWRT 的移植提供了可能。

Tenda 的官方固件一直以来就有 bug ,AP 下的 station 互访困难或者干脆就 ping 不通,NAT 的 bug 也不少,很多特殊协议都无法使用。于是才萌生了把 OpenWRT 塞进去的想法。

继续阅读拆解 HP 定制版 Tenda W150M 并为其修改 OpenWRT

在 Linux 下给 Sony Xperia 系列手机的 Bootloader 解锁

首先声明,解锁 BL 会导致保修失效用户数据(应用、设置和其他)被清空,另外在 BL 解锁后接受固件 OTA 更新会导致设备变砖。如果你不知道为何要解锁 BL ,那么你就不应该解锁它。对于解锁 BL 造成的任何后果,笔者不负任何责任。

继续阅读在 Linux 下给 Sony Xperia 系列手机的 Bootloader 解锁