some 术语 1

这篇文章详细介绍了思源科技的HDLDebug工具,其强大的功能在于跨HDL源代码、电路图、波形和状态气泡图的实时追踪,以辅助工程师调试。同时,文章还涵盖了Android设备的解锁、内核日志查看、以及启动过程中的关键步骤,包括BootROM、预加载器和内核初始化等。
摘要由CSDN通过智能技术生成

1、

Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是:能够在HDL source code、schematic diagram、waveform、state bubble diagram之间,即时做trace,协助工程师debug。

2、

1、开发者选项里面打开oem锁
2. adb reboot bootloader
3. fastboot flashing unlock 按音量+确认
4. fastboot reboot
5. adb disable-verity
6、adb shell reboot
7、adb root
8、adb remount

3、

跳过开机向导:
adb shell settings put secure user_setup_complete 1
adb shell settings put global device_provisioned 1
adb shell pm disable com.coloros.bootreg

4、

adb pull /sdcard/Android/data/com.oplus.logkit/files/Log/

adb shell dmesg > D:\dmesg.txt

上层重启:
FATAL EXCEPTION IN SYSTEM PROCESS

anroid重启:
1、空指针异常,服务异常等。
anr问题
system_server进程号变大
1、调用阻塞函数
2、主线程任务太耗时
3、死锁
4、cpu占用率过高

整机重启:
1、看setting里面的已开机时间,如果很小,就是整机

user+ root 和user+非root都试用于:*#649~010# ------------6*7*76

5、

查看内核日志的命令
    1. dmesg(dmesg -T 带标准时间输出)
    2. cat /dev/kmsg
以上两个命令输出是一样的
日志级别说明
数字越小级别越高

    0 (KERN_EMERG)        系统不可用
    1 (KERN_ALERT)        必须立即采取行动
    2 (KERN_CRIT)        紧急情况
    3 (KERN_ERR)        错误情况
    4 (KERN_WARNING)    警告情况
    5 (KERN_NOTICE)        普通带需要注意的情况
    6 (KERN_INFO)        信息
    7 (KERN_DEBUG)        调试级别信息
调整内核日志输出级别
    1.查看内核输出级别
    cat /proc/sys/kernel/printk
    4 4 1 7

    2.修改内核输出级别
    echo '1 4 1 7' | sudo tee /proc/sys/kernel/printk

    四个数字分别代表以下的意思:
    console_loglevel
    控制台日志级别:优先级高于该值的消息将被打印至控制台
    default_message_loglevel
    缺省的消息日志级别:将用该优先级来打印没有优先级的消息
    minimum_console_loglevel
    最低的控制台日志级别:控制台日志级别可被设置的最小值(最高优先级)
    default_console_loglevel
    缺省的控制台日志级别:控制台日志级别的缺省值

    3.通过dmesg调整控制台输出级别
    dmesg -n <loglevel>
    该修改只是修改控制台的日志级别,dmesg 还是按照默认级别进行输出。

    4.通过boot参数来修改
    loglevel=<level>

6、

1、没有打开log 开关,导致手机里面没有保存到log,从而导致开机后未检测到异常log
2、用户没有打开用户体验计划跟允许收集异常日志的开关,这两个没有打开的话是不会回传log的
3、还有一个是用户要连WiFi,需要通过网络上传
4、后台是有配额的是不是配额满了导致无法传送--------一天的份额是5k份
5、其它异常原因(手机完全不开机,异常掉电开机后未网络出现问题等)

7、

Linux内核地址空间是指0xC0000000开始到0xFFFFFFFF总量为1G的高端内存地址空间,而用户空间是0x00000000至0xBFFFFFFF的3G虚拟存储空间 ..

8、

repo upload 失败:

git reset --hard HEAD^       把修改得代码都回退掉,本地是干净得。

或者后面加上merged的commitid即可回退到对应的上库节点。

9、

 strings vmlinux |grep "Linux version"

    Linux version 3.18.31 (android@ubuntu) (gcc version 4.9 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Aug 9 23:23:27 CST 2017

     

  strings DDRCS0.BIN |grep "Linux version"

    Linux version 3.18.31 (android@ubuntu) (gcc version 4.9 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Aug 9 23:23:27 CST 2017

10、

关于EMMC和DDR的初始化时间问题,从上面的描述中可以看到。

1、PBL中是含有EMMC驱动的,有访问EMMC的能力,自身运行在MCU内部SRAM中。

2、除了PBL程序的img在MCU片内ROM外,其余img均存储在EMMC中。

3、PBL首先从EMMC加载SBL1到L2(内部缓存并非DDR),SBL1同样运行在片内SRAM。

4、有SBL1初始化DDR各种时序后,DDR自此可用(eMMC一直可用)。

5、再由SBL1加载其余各个img到DDR,然后按照linux的正常顺序启动。

————————————————

版权声明:本文为CSDN博主「静能生悟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/xiezhi123456/article/details/80989150

11、

1-3:设备上电起来后,跳转到Boot ROM(不是flash)中的boot code中执行把pre-loader加载起到ISRAM, 因为当前DRAM(RAM分SRAM跟DRAM,简单来说SRAM就是cache,DRAM就是普通内存)还没有准备好,所以要先把pre-loader load到芯片内部的ISRAM(Internal SRAM)中。

4-6:pre-loader初始化好DRAM后就将lk从flash(nand/emmc)中加载到DRAM中运行;

7-8:解压bootimage成ramdisk跟kernel并载入DRAM中,初始化dtb;

9-11:lk跳转到kernl初始化, kernel初始化完成后fork出init进程, 然后拉起ramdisk中的init程序,进入用户空间初始化,init进程fork出zygote进程..直到整个Android启动完成.

————————————————

版权声明:本文为CSDN博主「你必须十分努力,才能看起来毫不费力」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/forever_2015/article/details/53000643

 

 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值