- 博客(4)
- 收藏
- 关注
原创 在rtems上手动实现backtrace
rtems backtrace实现由于rtems没有Linux那种crash自动打印调用栈的机制,故需要手动实现。调用栈的实现依赖于fp指针,通过fp可以找到每一级函数的栈帧,根据arm函数调用规范,在栈帧中保存着pc、sp、lr、fp等信息,因此可以将每一级的pc值打出来就是我们需要的调用栈了,通过addr2line工具可以将pc指针解析为对应的行号,从而帮助我们精确定位问题FP指针的获取-mapcs首先添加这个参数,使编译出来的代码遵守apcs标准,也就是使函数的栈帧保持如下的样子-fno
2020-10-28 15:37:13 542
原创 [Android Audio]primary-hal分析
时序图openOutputStreamfwkaudio_hw.cadev_open_output_streamout = (struct stream_out *)calloc(1, sizeof(struct stream_out))初始化out中的各个变量以及各种callbackfwkaudio_hw.c
2020-03-09 20:48:15 610
原创 c++重写private函数的一个坑
在Android中发现以下代码,感觉很是不可思议,threadLoop()为什么不是protected,难道private还能被重写?class Thread : virtual public RefBase{...private: // Derived class must implement threadLoop(). The thread starts its life ...
2020-03-09 15:42:48 1134
原创 [Android Audio]audioserver初步理解
Android Audio-audioserver时序图audioserver.cpp:mainchildforkMediaLogService::instantiate()AudioFlinger::instantiate()AudioPolicyService::instantiate()AAudioService::instantiate()SoundTriggerHwService:...
2020-03-08 22:06:22 2671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人