目录
目录
Suspending console(s) (use no_console_suspend to debug)
编译android内核和文件系统,已经安装jdk,提示build/core/config.mk:268: *** Error: could not find jdk tools.jar
单片机硬件
分析设置之后通信的方面入手
2018/8/17 解决但需要优化,每次检查蓝牙是否设置过的时间太长
蓝牙恢复出厂设置 Reload 引脚
引脚1与13短接恢复出厂设置
US
USR-BLE
USR-BLE101 V1.0.
USR-BLE101 V1.0.
1.Hello OK.
2.AT into OK.
3.Read MAC OK.
4.Name change OK.
5.Hello change OK.
6.CommBaudrate change OK.
如果有字符串USR-BLE101 V1.0.说明蓝牙没被配置过,可以进入配置,如果无此字符串说明配置过,可以跳过蓝牙配置
先设置串口4波特率为57600与蓝牙通信,检查是否配置过,如果没有则配置,则配置,配置过则跳过配置,最后都要更改波特率为152000,
蓝牙进入出厂设置会返回字符串USR-BLE101 V1.0.
{0x0d,0x0a,'U','S','R','-','B','L','E','1','0','1',0x20,'V','1','.','0','.','5',0x0d,0x0a};
配置现象如下
1.Comm Baudrate change 115200.
2.AT into OK.
3.Read MAC OK.
4.Name change OK.
5.Hello change OK.
6.CommBaudrate change OK.
PIN | 网络名称 | 功能 |
1 | Reload | 恢复出厂设置 Reload 引脚 |
2 | Wake_Up | 模块唤醒引脚 |
3 | NC | 悬空 |
4 | AD | 电池电量检测引脚 |
5 | NC | 悬空 |
6 | VCC | 1.9V 至 5.5V 无线模块电源 |
7 | SWDLINK | 程序调试时钟引脚 |
8 | SWDIO | 程序调试数据引脚 |
9 | UART_TX | 串口发送引脚 |
10 | UART_RX | 串口接收引脚 |
11 | LINK | 模块状态灯引脚 |
12 | Rest | 模块复位引脚 |
13 | GND | 模块电源地 |
14 | VCC | 1.9V 至 5.5V 无线模块电源 |
板子问题
Suspending console(s) (use no_console_suspend to debug)
然后就睡眠了,需要复位键才可以重新启动
问题分析
android系统有earlysuspend和suspend两种休眠,earlysuspend是浅度睡眠,suspend是深度休眠。这个是由linux电源管理控制的,电源管理的接口是“/sys/power/state”和"/sys/power/wake_lock","/sys/power/wake_unlock",这个是linux是否休眠和是否进入深度休眠的关键点。只有wake_lock上锁了,linux系统就不会进入深度休眠。
问题解决
从上分析可知,只要linux保持有一个唤醒锁,系统就不会进入深度休眠。那么解决问题的思路是在linux启动的时候添加一个唤醒锁就行了。在init.rc文件里面添加一个初始化项:
echo "PowerManagerService.noSuspend" > /sys/power/wake_lock
是通过adb命令实现的:
在adb shell端,往/sys/power/wake_lock写进一个变量,就能让linux一直唤醒,黑屏也不会睡眠。
echo aaa > /sys/power/wake_lock
关闭一直唤醒,把刚才的值写进/sys/power/wake_unlock即可
echo aaa > /sys/power/wake_unlock
然后就睡眠了,需要复位键才可以重新启动
settings-->Applications-->Development-->Stay awake ??
在linux下,我喜欢用命令让系统进入休眠:
$ echo mem | sudo tee /sys/power/state
休眠:
sudo pm-hibernate
echo "disk" > /sys/power/state
sudo hibernate-disk
定时/延时关机:
shutdown -h 10:00
shutdown -h +30 //单位为分钟
重启:
reboot
init 6
shutdown -r now
待机/挂起:
sudo pm-suspend
sudo pm-suspend-hybrid
echo “mem” > /sys/power/state
sudo hibernate-ram
环境问题
编译android内核和文件系统,已经安装jdk,提示build/core/config.mk:268: *** Error: could not find jdk tools.jar
没有安装JDK
1:下载地址
2:安装:
sudo -s ./jdk-6u20-linux-i586.bin
3:配置环境变量
sudo vim /etc/profile
最后添加
export JAVA_HOME=/home/bestupon/jdk1.6.0_20
export JRE_HOME=/home/bestupon/jdk1.6.0_20/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
4:使环境变量生效
source /etc/profile
5:检验是否安装
java -version
出现
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)
编译调试
加载.ko失败
root@android:/data/Test # insmod led_driver.ko
led_driver: version magic '3.0.8-EmbedSky-g1dfbe89 preempt mod_unload ARMv7 ' should be '3.0.8-EmbedSky preempt mod_unload ARMv7 '
insmod: init_module 'led_driver.ko' failed (Exec format error)
/system/bin/sh: ./XXX: No such file or directory& warning: ISO C90 forbids mixed declarations and code
root@android:/data/Test # ./key_app
/system/bin/sh: ./XXX: No such file or directory
编译时可能Ubuntu用的时动态库,编译时加上 -status应该就可以了