本文已参与「新人创作礼」活动,一起开启掘金创作之路。
记录android的一些简单的配置修改,可能在一些条件中需要遇到。
一、蓝牙的mac地址不固定
bug:每次对开发板进行初始化设置过后,蓝牙的mac地址都会改变 修改配置文件: 目录: hardware/broadcom/libbt/include/vnd_rksdk.txt
-USE_CONTROLLER_BDADDR = FALSE
+USE_CONTROLLER_BDADDR = TRUE
二、关闭锁屏设置
bug:关闭android的锁屏设置 目录:device/fsl / imx8m/evk_8mp/init.rc
setprop ro.config.density_override 211
+ setprop ro.lockscreen.disable.default true
on init
# cpuctl hierarchy for devices using utilclamp
三、关闭导航键,启动全屏模式
bug:关闭android的导航键 目录:device/fsl/imx8m/evk_8mp/overlay/frameworks/base/core/res/res/values/config.xml
<!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
autodetected from the Configuration. -->
- <bool name="config_showNavigationBar">true</bool>
+ <bool name="config_showNavigationBar">false</bool>
<!-- This device is not "voice capable"; it's data-only. -->
四、去掉内核打印
bug:去掉内核打印 目录:kernel-imx/lib/Kconfig.debug
config MESSAGE_LOGLEVEL_DEFAULT
int "Default message log level (1-7)"
range 1 7
- default "4"
+ default "7"
help
Default log level for printk statements with no specified priority.
This was hard-coded to KERN_WARNING since at least 2.6.10 but folks
that are auditing their logs closely may want to set it to a lower
去掉所有打印,demsg可以打印出来
2)去掉内核中的printk打印 目录:linux-imx/kernel/printk/printk.c
asmlinkage int vprintk(const char *fmt, va_list args)
{
- return vprintk_func(fmt, args);
+ return 0;
}
EXPORT_SYMBOL(vprintk);
......
asmlinkage __visible int printk(const char *fmt, ...)
{
va_list args;
int r;
+ if(1)
+ return 0;
va_start(args, fmt);
......
asmlinkage __visible void early_printk(const char *fmt, ...)
{
va_list ap;
char buf[512];
int n;
+ if(1)
+ return;
if (!early_console)
return;
五、NXP直接拉高GPIO的方式
/*dts直接将某一个gpio拉高*/
......
pinctrl_hog: hoggrp {
fsl,pins = <
IMX8QXP_QSPI0A_DATA3_LSIO_GPIO3_IO12 0x00000020 //初始化为gpio功能
......
&lsio_gpio3 {
AP6275-EN {
gpio-hog;
gpios = <12 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "ap6275-en";
};
};
六、android按键事件定义
案件事件对应的编号在源码中已经定义好的了: 目录:kernel_imx/include/uapi/linux/input-event-codes.h dts配置:
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;
key_volumeup {
label = "key_volumeup";
linux,input-type = <1>;
linux,code = <115>; //事件编号
gpios = <&lsio_gpio3 19 1>; //对应的gpio
};
key_volumedown {
label = "key_volumedown";
linux,input-type = <1>;
linux,code = <114>;
gpios = <&lsio_gpio3 21 1>;
};