点击上方“嵌入式Linux充电站”,选择“置顶/星标公众号”
福利干货,第一时间送达很多人想知道,我实际的工作内容,那就简单列举一下过去一年我的工作内容吧。
我的岗位JD
关于我岗位职责的官方描述,是这样的:
- 1、负责自研SOC芯片固件开发、驱动原型的开发和仿真验证
- 2、负责自研SOC芯片系统级的相关功能验证验证以及性能分析
实际上,我的工作内容,也基本上跟岗位描述差不多。
过去一年的工作
流片前的验证工作:
- CPU benchmark测试
- L2 Cache、L2 预取器等L2相关验证
- cjtag、pmu验证
bring up相关工作:
- opensbi:uart、pmu驱动开发
- uboot相关:clock、reset、pinctrl/gpio、uart、timer、watchdog、pwm驱动开发,defconfig、dts、env制作以及安全启动等
- kernel相关:clock子系统、reset子系统、pinctrl/gpio子系统实现,内核解压缩实现,kernel预留内存优化
- driver相关:crypto、pwm、pmu等驱动开发
- 文件系统相关:最小根文件系统制作
- 工具链相关:制作对应架构、C库、gcc版本的工具链
- 性能相关:perf 硬件性能事件实现
其他工作:
- 对其他部门提供系统、芯片等相关问题支持
最后
大概就是这些吧,简单列举了。
工作方向主要是偏预研、验证、内核架构研究、CPU、性能这些方面。
所谓固件开发就是底层相关的,我可能都会涉及,除了linux
驱动,像芯片内部的bootrom
有时我也要修改;
而这里的验证工作,主要就是在FPGA
或者Palladium Z1
进行仿真,FPGA
当普通开发板用就行了,Z1
的话需要懂一点Verilog
。具体一点就是写个驱动跑起来。
而所谓的系统级验证,简单的说就是把Linux
系统在仿真上跑起来。
end
往期推荐