职位描述
岗位职责
1. 学习并理解Linux内核核心架构(进程调度、内存管理、文件系统),协助完成内核模块开发(字符设备、块设备、网络驱动)相关辅助工作,参与设备树(Device Tree)的编写与调试实践;
2. 运用C语言在Linux环境下进行基础编程练习(文件操作、多线程、进程间通信),熟悉POSIX标准和常用系统调用(如fork、exec、Socket),了解嵌入式Linux系统启动流程(uboot→kernel→rootfs);
3. 学习使用Shell脚本进行基础系统管理,尝试编写自动化脚本(如Makefile、Make),了解版本工具(如Bash、Python、Yocto)对构建平台的支撑逻辑;
4. 协助配置目标板交叉编译工具链(如arm-linux-gnueabihf-gcc),参与工具链和库文件移植、调试相关辅助工作,学习使用QEMU、Valgrind等工具进行远程调试,了解性能分析工具(如profile、perf)和内存泄漏检测方法;
5. 了解ext4、JFFS2、UBIFS、YAFFS等嵌入式文件系统的特性与适用场景,协助完成根文件系统的定制与压缩(如使用initramfs、squashfs)相关辅助工作;
6. 学习SD卡、eMMC、NAND/NOR Flash等存储设备的驱动基础,协助实现数据持久化和文件系统挂载相关简单开发任务;
7. 了解TF卡、USB、…