当前位置 博文首页 > 不积跬步,无以至千里:日常生活 -- 专业能力

    不积跬步,无以至千里:日常生活 -- 专业能力

    作者:[db:作者] 时间:2021-08-28 16:28

    最近要开始为找工作做准备了,第一件事就是写简历。而其中的专业技能和项目经验是值得考虑的部分。CSDN博客写了两年,原创博文也有270多篇。现在根据专业技能部分和项目经验部分,将其总结一下。一来可以看看自己到底会些什么,再者也可以将招聘信息上需求的,自己暂未总结掌握的部分,好抓紧时间看一看。

    一、专业技能

    (1)软件部分

    1、熟练掌握C语言,熟悉常用的算法/数据结构,具有良好的编码风格;

    • C语言再学习 专栏
    • 数据结构与算法 专栏
      其中我觉的总结的不错的文章包括:
      32个关键字、再论数组和指针、内存管理、时间函数、大小端、段错误、GCC编译、C预处理器、位操作。
      再论递归、栈、队列、链表、二叉树、算法、时间复杂度。

    2、熟练使用嵌入式Linux开发工具和linux常用基本命令,熟悉 Makefile、shell编程、gcc、gdb调试、交叉编译;

    • Hi3516A开发–环境搭建工具
    • 日常生活小技巧 – vim 中 ctags 的安装和使用
    • 日常生活小技巧 – 文件对比工具 Beyond Compare
    • 日常生活小技巧 – Source Insight 教程
    • 日常生活小技巧 – 虚拟串口工具
    • Makefile 总结
    • UNIX再学习 – shell编程
    • C语言再学习 – GCC编译过程
    • S5PV210开发 – 交叉编译器
    • C语言再学习 – Linux 中常用基本命令
    • C语言再学习 – vim常用快捷键(转)
    • C语言再学习 – 常用快捷键
    • C语言再学习 – Linux下find命令用法
    • C语言再学习 – Xargs用法详解
    • UNIX再学习 – ps、top、kill 指令
    • C语言再学习-- readelf、objdump、nm使用详解
    • C语言再学习 – grep 命令(转)
    • C语言再学习 – dmesg 命令

    3、熟悉文件操作、进程间通信、多线程编程、Socket网络编程、TCP/IP协议、UDP通信协议、MQTT协议;

    • UNIX再学习 专栏
      其中包括:
      环境变量、静态库与共享库、错误与警告、shell编程、文件I/O、进程、exec 函数族、函数 system、内存管理、信号、select等多路复用、线程、进程间通信、套接字、TCP/IP、UDP通信协议
      ———————————————
    • UNIX再学习 – 文件I/O
    • UNIX再学习 – 进程环境
    • UNIX再学习 – 函数 fork 和 vfork
    • UNIX再学习 – exit 和 wait 系列函数
    • UNIX再学习 – 线程
    • UNIX再学习 – 线程同步
    • UNIX再学习 – 记录锁
    • UNIX再学习 – 进程间通信之管道
    • UNIX再学习 – XSI IPC通信方式
    • UNIX再学习 – 网络IPC:套接字
    • UNIX再学习 – TCP/UDP 客户机/服务器
      ———————————————
    • MQTT再学习 – 漫谈MQTT协议
    • MQTT再学习 – 搭建MQTT服务器及测试
    • MQTT再学习 – 安装MQTT客户端及测试
    • MQTT再学习 – MQTT 客户端源码分析
    • MQTT再学习 – 交叉编译与移植

    4、有TI达芬奇平台(DM368/DM365、DM8168)和海思平台(Hi3516A)的开发经验;

    • DM368开发 专栏
    • Hi3516A开发 专栏

    5、熟悉嵌入式Linux操作系统,有Linux系统移植、驱动开发经验;

    • DM368开发 专栏
    • Hi3516A开发 专栏
    • S5PV210开发 专栏

    6、熟悉视频开源项目FFmpeg、mp4v2、LIVE555,有相关的使用经验;

    • 图像和流媒体 专栏
      FFmpeg包括: Linux 安装说明、将 jpeg 转成 mp4、Windows下安装说明、视音频基础知识、硬件加速编解码、FFmpeg解码知识、SDL 环境搭建和视频显示、FFmpeg+SDL+MFC实现图形界面视频播放器。
      mp4v2包括: Linux 下安装说明、H264视频编码成MP4文件。
      LIVE555包括: Windows 下编译、Linux 下编译、DM368/Hi3516A 交叉编译、OpenRTSP 源码分析、testRTSPClient 源码分析、testRTSPClient 实例、testH264VideoStreamer 源码分析、testOnDemandRTSPServer 源码分析、live555实现RTSP直播服务器、live555实现RTSP直播服务器分析、FFmpeg + live555实现RTSP直播。

    7、熟悉h264、h265视频编解码,熟悉RTSP等流媒体传输协议;

    • 图像和流媒体 专栏
      h264/h265视频编解码包括: I 帧,B帧,P帧,IDR帧的区别、H.264视频压缩标准、目前主流的几种数字视频压缩编解码标准(转载)、详解 H.264 NALU语法结构、帧率、分辨率、码流的概念和关系、详解YUV数据格式。
      RTSP流媒体传输协议包括: RTSP协议分析、Hi3516A RTSP实例、Hi3516A RTSP实例 分析、利用FFmpeg 将 rtsp 获取H264裸流并保存到文件中、DM368编码并实时播放。

    8、熟悉陀螺仪和加速度计传感器(MPU6050)的原理和应用,对互补滤波、卡尔曼滤波等常用滤波算法有一定了解;

    • MPU6050开发 – 初识
    • MPU6050开发 – 基本概念简介
    • MPU6050开发 – 进阶之I2C/SPI通信协议
    • MPU6050开发 – 在 C52 单片机上测试
    • MPU6050开发 – 测试程序分析
    • MPU6050开发 – 数据分析
    • MPU6050开发 – 卡尔曼滤波

    9、 熟悉STM32嵌入式实时操作系统μC/OS-II开发;

    • STM32开发 专栏

    (2)硬件部分

    1、熟练掌握AD/DXP2004等EDA软件,有独立完成多层(4层以上)结构的PCB设计经验;

    • Altium Designer – 精心总结
      其中包含:
      软件优化设置、熟悉各个常用选项、快捷键介绍、蛇行等长布线、差分布线、更新PCB、添加元器件、添加layer层、添加mark点、过孔添加阻焊、加泪滴、铺铜、DRC检测、生成BOM单、生成坐标文件、生成光绘Gerber文件、打印PCB生成PDF、定义PCB的板框、PCB布线规则、绘制库元件、封装库更新、提取、使用AD打开cadence的PCB文件XXX.brd、PCB 文件中如何添加 LOGO、3D模式预览 等操作。

    2、熟悉PCB的工艺设计要求与PCB布局布线规则;

    • Altium Designer – PCB布局与布线
    • Altium Designer – 差分布线和阻抗匹配
    • Hi3516A开发–PCB设计之3W规则和20H原则
    • Altium Designer – PCB 叠层设计

    3、有一定的EMI/EMC电路设计经验;

    • Altium Designer – EMC/EMI电路设计经验

    4、熟悉常用的电子元器件电路板的焊接、调试,会使用电烙铁、万用表、示波器、电源等工具;

    • 日常生活小技巧 – 示波器和万用表的使用

    5、熟悉UART、IIC、SPI、USB、SDIO、CAN等常用接口和通信协议;

    UART:

    • S5PV210开发 – 通信
    • S5PV210开发 – UART 详解
    • S5PV210开发 – 串口驱动开发
    • UNIX再学习 – RS485 串口编程
    • 汽车行驶姿态 – 串口通信
    • 日常生活小技巧 – UART 回环测试
    • STM32开发 – 串口详解

    IIC:

    • S5PV210开发 – I2C 你知道多少?(一)
    • S5PV210开发 – I2C 你知道多少?(二)
    • S5PV210开发 – I2C 你知道多少?(三)
    • Hi3516A开发–i2c tools安装和使用
    • Hi3516A开发–I2C/SPI读写命令
    • STM32开发 – PMIC、I2C详解

    SPI:

    • S5PV210开发 – SPI 你知道多少?
    • Hi3516A开发–GV7601 硬件设计
    • STM32开发 – W25Q32JV SPI FlASH详解

    USB:

    待续!!

    SD/MMC:

    • S5PV210开发 – Nand和e-MMC区别以及系统更新
    • Hi3516A开发–挂载SD卡和U盘

    CAN:

    • STM32开发 – CAN总线详解

    6、熟悉Keil、IAR等软件开发环境;

    • Keil uVision4使用总结
    • STM32开发 – Keil使用(1)
    • STM32开发 – Keil使用(2)
    • IAR使用总结

    7、熟练掌握嵌入式硬件知识,能熟练阅读硬件原理图;

    • 嵌入式基本知识必备
    • MAX3232和MAX232的具体差别
    • Hi3516A开发–视频输入和输出接口
    • Hi3516A开发–以太网
    • Hi3516A开发–RTC电路
    • Hi3516A开发–电阻分压阻值计算
    • Hi3516A开发–视频接口
    • 元器件基础知识–排阻命名
    • 电路基础知识 – 三态
    • 电路基础知识 – 虚短和虚断
    • 电路基础知识 – 数模信号
    • S5PV210开发 – 驱动开发相关硬件简介

    8、熟悉GPS模块、4G模组、加速度计、陀螺仪、蓝牙、WIFI等应用开发;

    • STM32开发 – GPS模块开发详解
    • STM32开发 – 惯导模块开发详解
    • STM32开发 – Ublox GPS之设置PUBX
    • STM32开发 – 蓝牙开发详解(1)
    • STM32开发 – 低功耗模式详解(1)
    • STM32开发 – 低功耗模式详解(2)
    • STM32开发 – 低功耗模式详解(3)
    • STM32开发 – 4G模块开发详解(1)
    • STM32开发 – 4G模块开发详解(2)
    • STM32开发 – 4G模块开发详解(3)
    • STM32开发 – 4G模块开发详解(4)
    • STM32开发 – WIFI那些事儿(一)
    • STM32开发 – 自动连接一个未保存过的WIFI
    • STM32开发 – L3GD20H陀螺仪开发详解
    • STM32开发 – LIS3DH三轴加速度计开发详解
    cs