嵌入式小白菜
哈,我也是从互联网跳过来的,现在做AI芯片runtime。你的情况其实很典型:软件强,硬件虚。重点补硬件知识到‘能沟通’的程度就行,即能和硬件工程师讨论问题,能看懂他们给的波形和时序图。具体来说,要理解常见总线协议(PCIe、AXI、AHB)的交互流程,知道怎么通过配置寄存器控制硬件状态。学习路径别回头补数电模电了,直接干!以ARM体系结构为纲,把AMBA总线、cache一致性、内存屏障这些搞明白,再选一个方向深入(比如GPU驱动就重点看PCIe和图形流水线)。面试考察硬件能力的方式很实际:一是问项目经历里和硬件相关的部分(比如你调过什么外设驱动,怎么排查硬件问题),二是场景题,比如‘CPU和FPGA通过共享内存通信,软件要考虑什么’(答案可能是内存一致性、屏障使用、中断同步)。手画时序图有可能,但通常是画状态转移图更多。建议找点开源硬件项目(比如RISC-V相关)的驱动代码看看,动手写写,比只看书强。
