嵌入式Linux低功耗利用busybox制作rtcwake定时唤醒系统

2019-07-12 15:15发布

data/attach/1907/0hp8kh7p6pm0v5gduznxhfsypntr40h5.jpg 一、 首先介绍一下rtcwake rtcwake 是一个时钟唤醒Linux的工具 使用方法如下: http://blog.csdn.net/bulreed/article/details/19907691

二、如果你的bin usr/bin sbin usr/sbin中都没有rtcwake这个工具怎么办? 答案:自己做一个 莫笑楼主菜,楼主找了好几天才解决了这个问题,楼主用的是一块A7的板子,当然内核也是裁剪过得, 文件系统也是自己做的,发现各种bin目录下没有rtcwake是因为制作文件系统的时候没有选这个, 或者制作文件系统的busybox版本太低了,不清楚busybox的可以看这个链接了解一下 http://blog.csdn.net/linuxarmsummary/article/details/12612269

三、开始自己做rtcwake 下载busybox-1.20.2.tgz(楼主用的就是这个,如果用更高版本应该也没有问题) 1.解压
2.配置make menuconfig -> Busybox Settings->Build Options
选择Build BusyBox as a static binary (个人理解这样使用时就不需要其他lib的支持了应该是为了方便) 可以在这里设置目标平台的交叉编译工具链Cross Compiler prefix(也可以在终端界面设置,在这里设置的话,只需要输入“arm-linux-gnueabihf-”就可以了,很方便!)
3.勾选rtcwake:make menuconfig -> Linux System Utilities->rtcwake
好了配置结束保存退出编译。
4.编译~安装 make编译 make install安装 安装后会在busybox文件夹下生产一个_install文件夹里面就是各种bin目录下的bin文件了 将这些文件覆盖到原来的rootfs烧录到你的板端就可以使用rcwake了
四、测试成功:
运行:使用rtcwake 把系统挂起到内存 后60秒启动

五、遇到问题 有时rtcwake 挂起系统后系统会死掉,原因是这个祸害精 random: nonblocking pool is initialized
和系统打印等级有关根据这个链接里面的内容设置一下就好了http://blog.csdn.net/pinganddu/article/details/51006461