android内核edp
时间: 2024-08-15 19:03:12 浏览: 70
EDP(External Debug Protocol,外部调试协议)并不是Android内核的一部分,它是一个针对Linux内核的通用机制,主要用于远程设备间的调试。在Android环境中,EDP通常用于ADB (Android Debug Bridge) 这样的工具,允许开发者通过USB连接从PC或其他设备远程控制和调试运行中的Android设备或模拟器。
当你的手机开启USB调试模式,并通过USB连接到电脑上,你可以利用EDP通过ADB命令行发送指令,查看设备的内存状态、日志文件、进程信息等。这对于排查应用问题以及系统级别的调试非常有用。
相关问题
给一份rk3288-evb-android-act8846-edp.dtssd卡启动的修改
以下是一份针对RK3288-EVB-Android SDK的DTS文件修改示例,可以实现SD卡启动:
```
/dts-v1/;
/plugin/;
/ {
model = "Rockchip RK3288-EVB board";
compatible = "rockchip,rk3288-evb";
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x40000000>;
};
chosen {
bootargs = "console=ttyS2,115200n8 root=/dev/mmcblk1p2 rw rootwait earlyprintk";
stdout-path = &uart2;
};
uart2: serial@11004000 {
compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
reg = <0x11004000 0x1000>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&uart2_clk>;
clock-names = "uartclk";
status = "okay";
};
sdhci@11014000 {
compatible = "rockchip,rk3288-dw-mshc";
reg = <0x11014000 0x1000>;
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_SDMMC>, <&cru PCLK_SDMMC>;
clock-names = "sdmmc", "apb_pclk";
pinctrl-names = "default";
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4 &sdmmc_bus8 &sdmmc_cd_n>;
status = "okay";
mmc-slot@0 {
reg = <0>;
bus-width = <8>;
cd-gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
non-removable;
status = "okay";
};
};
&dpu {
status = "okay";
};
&lcdc {
status = "okay";
};
&backlight {
status = "okay";
};
&act8846_reg {
status = "okay";
};
&i2c1 {
status = "okay";
act8846: act8846@5b {
compatible = "active-semi,act8846";
reg = <0x5b>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&gpio2>;
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
status = "okay";
};
};
&mmc {
status = "okay";
};
&mmc1 {
status = "okay";
};
&mmc2 {
status = "okay";
};
&mmc3 {
status = "okay";
};
&mmc4 {
status = "okay";
};
&sdmmc_clk {
rockchip,pins = <RK_GPIO3 8 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_cmd {
rockchip,pins = <RK_GPIO3 9 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_bus4 {
rockchip,pins = <RK_GPIO3 10 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_bus8 {
rockchip,pins = <RK_GPIO3 11 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_cd_n {
rockchip,pins = <RK_GPIO7 3 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
```
此外,你还需要在编译内核时加入SD卡启动相关的配置选项。具体方法可以参考RK3288-Android SDK的文档。
可以根据实例说明,比如说瑞芯微的样本dts是rk3288-evb-android-act8846-edp.dts
当我们在使用Linux系统时,会需要使用设备树(Device Tree)来描述硬件设备的信息。设备树是一种描述硬件的抽象语言,可以在启动时加载到内核中,让内核知道如何与硬件设备进行交互。
以瑞芯微的样本dts为例,rk3288-evb-android-act8846-edp.dts是描述瑞芯微RK3288开发板上使用的ACT8846电源管理芯片和EDP显示器的设备树文件。这个设备树文件中包含了各个硬件设备的名称、地址、中断号等信息,让内核能够正确地与这些设备进行交互。
通过设备树,我们可以方便地修改硬件设备的配置,添加新的设备或者修改设备参数,而不需要重新编译内核。这样可以大大简化了系统维护和开发的难度。
阅读全文