熟悉单片机,arm 微处理器的使用,熟悉基本模拟数字硬件电路
熟悉 Linux 平台下多进程、多线程的 C/C++开发
熟练掌握 git/repo 代码管控工具,服务器配置。Makefile,shell 脚本编写
熟练使用 linux 平台下编译器,GDB 调试器等 linux 调试工具
熟练解决 Linux 平台用户态/内核态死机/hang 住/deadlock 等问题
熟悉 Linux 内存管理,运用 asan/kasan/kmemleak 等内存分析工具并优化
2017.02-至今 联发软件设计深圳有限公司 TV 系统软件工程师
以 linux 环境为基础,协助客户集成中间件,应用,帮客户实现功能需求, 进而集成具有差异化的电视平台。同时处理开发和维护中遇到的各类系统问题。MTK&Skyworth PTK MSD6586 项目
1.客户TV UI 开发
使用基于 DirectFB 图形库的可视化工具 MIDE(类似 QT),按照客户需求绘制UI 界面,同时调用 service 端提供的 API,完成 UI 对应功能,同时实现 UI 进程与其它 app 进程之间的焦点以及资源的切换。
2.红外IR 遥控流程开发
Kernel 中配置 IR driver,接收引脚为中断,按照头码/协议解析红外电平信号,根据 map 表转化为原始的 keycode 值。上层 directfb 读取 driver event, 并转化成上层应用可识别的 keysymbol,application manger 循环去 directfb 中获取当前是否有按键 event,并找到前台进程,进程分发。
MTK&Hisense MI MSD9602 项目---Amazon Security of Linux TV 系统开发
在 linux TV 平台基础上,参与重新设计基于 capability 的特权机制权限管控架构。流程包含 debug kernel 设计-cap_control 权限配置/文件权限设定-扫capability 并整改-扫open port 并整改-填写安全规范表格-Amazon review 确定。
MTK&Hisense MI MSD6886 项目---TV 平台数据分离功能开发
将不同机型的数据由编译时设置的不同 Makefile 参数,放置到 ini 配置文件里面 ,根据初始设定的机型信息读取对应配置信息,更改机型软件配置,通过binder 通信传递给上层 UI 进程。不需要重新编译打包升级包,提升工作效率。