info of me

来源:互联网 发布:网络推手汇航 编辑:程序博客网 时间:2024/06/05 09:35

    • 基本信息
  • github
  • INFO
        • 求职意向嵌入式linux开发工程师
    • 自我评价
    • 知识体系
          • 知识
    • 工作项目经验
        • 7-20158 郫县富士康暑假工 ipad iair2液晶面板检测
        • 3-20164 寝室 基于树莓派与PC机的服务器负载均衡独立完成
        • 4-20165 电子设计竞赛寝室完成 基于FPGAniosII的声音传输数据独立完成
        • 由于精力和资金有限取消声音耦合采用导线直接耦合DA和AD
          • 1调制
          • 2解调
        • 7-20167 华清远见 多功能并发服务器
        • 8-20168 华清远见 android多功能APP
      • 9-20169 华清远见 设备树类型驱动和播放器
      • 社团活动
    • 技能证书
      • 一证书
          • 通过CET4能查阅技术类文档资料各种datasheet
          • 获得院级奖学金多次获得助学金大多用于购买开发板及周边工具
          • 通过计算机等级二级计算机操作熟练没有继续考其他的认为自己不止二级的知识
      • 二技能
    • 教育背景
        • 9-20177 西华大学 微电子科学于工程 本科

这里写图片描述

基本信息

github

姓名 出生 学历 兴趣 杨礼林 1993.04.26 本科 linux,FPGA 电话 民族 专业 语言 邮箱 18408244522 汉族 17届微电子 linux C,python,shell 1657301947@qq.com
  • Github

INFO

求职意向:嵌入式linux开发工程师

自我评价:

  • 自学能力强,主动接受并理解新知识、新事物,能不停评价自己(觉得自己有一定知识广度,但是深度不够,所以到华清深入学习)。
  • 在学校学习以实践居多,主动了解或学习学习最新知识.
  • 具备电子技术、信息技术和计算机网络方面的知识素养,具有熟练的计算机操作技术。
  • 热衷于FPGA技术和linux,拥有无穷的热情和折腾精神,遇到技术障碍不会被击溃,能坚持到解决问题。
  • 喜欢开源精神,信奉python的“轮子”哲学,linux的“一切皆文件”哲学。
  • 动手能力强,linux装机不下50次,windows更多,能长期只用linux,主要用linux mint.

知识体系

1.知识
  • 精通:linux C , linux使用,verilog,vim

    • 能用c编写并发服务器,epoll多路复用模型服务器,能做arm linux驱动开发,用c做51,stm32,nionsII,freeRTOS开发等.
    • 能长期只用linux,会正则表达式及相关工具(grep,sed,awk),能编写shell脚本做一些自动化。
    • 能在linux下安装配置各种开发环境,服务器LNMP/LAMP环境,能修复一些linux问题如grub引导等等,使用过(kali,ubuntu,mint,openSuse,CentOS等),主要使用mint
  • 熟练:verilog, java,github,markdown
    能做FPGA的小项目开发,简单安卓APP开发,能用git对代码进行版本控制,在github查找有用开源项目,开源库,能用markdown快速编写文档

  • 熟悉:python,shell,mysql,sqlite,uboot开发,示波器使用,json解析,xml解析
    能用anaconda(一种python集成环境)代替matlab做科学计算,做一些小型辅助工具,能简单使用mysql,sqlite及一些前端软件如phpmydamin,研究过树莓派,S3C2440开发板uboot移植(自学),exynos4412开发(华清学习)
  • 了解: C++,QT,pyqt
  • 熟悉的开发环境:
    eclipse neon,Quartus 15,android studio2.1,anaconda2.4,matlab,keil,cubeMX

工作项目经验

2015.7-2015.8 郫县富士康暑假工 ipad iair2液晶面板检测

  • 在幕布围起来的屏幕检测台上放置多台待测ipad air2液晶面板,使面板显示多种单光
    、条带光。
  • 检测其是否有亮点,暗点,并将非正常的面板交于维修人员。

2016.3-2016.4 寝室 基于树莓派与PC机的服务器负载均衡(独立完成)

  • 在PC和树莓派2B+机上搭建LNMP服务器环境(PC系统是linux mint 17.3,树莓派是debian wheezy,同一个TPlink路由)
  • 配置分别两机的nginx配置文件,配置方向代理,将输煤派做主机,pc机作为均衡服务器
  • 用python编写一个简易并发网页GET网页请求,测试负载均衡

这里写图片描述
这里写图片描述

2016.4-2016.5 电子设计竞赛(寝室完成) 基于FPGA、niosII的声音传输数据(独立完成)

由于精力和资金有限,取消声音耦合,采用导线直接耦合DA和AD

1、调制
  • 用verilog设计DDS正弦发生器,并下载到开发板
  • 将DDS模块包装成带FIFO缓存的FSK调制器,用了两个频率的正弦波12kHz,16kHz。
  • 配置niosII模块,并用c语言编写驱动,使ASCII码经经调制器转为信号。
  • 连接焊接DA模块,滤波电路,将数字正弦转为模拟正弦信号
2、解调
  • 焊接AD模块,连接FPGA开发板
  • 用verilog编写将数字正弦信号转换为二进制信号(分离高低频率为二进制,fifo积分法)
  • 用c写好niosII驱动,将二进制信号转ASCII码(搜索并同步,按八位对齐)

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

2016.7-2016.7 华清远见 多功能并发服务器

  • 完成一个TCP并发服务器
  • 支持网页”GET /”语法
  • 支持远程密码登陆后使用,并有常用ls,cd,cat等等指令
  • 统一接口,便于增添功能
  • 采用增加拓展英汉词典,用sqlite3保存登陆信息和单词元信息

这里写图片描述

这里写图片描述

2016.8-2016.8 华清远见 android多功能APP

  • 成员各完成一个小功能,我选择音乐播放器功能
  • 在github上找一个快速高斯模糊库导入模块供调用
  • 用gimp剪切一些图备用
  • 使用fragment滑动页面并完成和美化专辑界面,音乐列表界面,和各按键监听事件
  • 将包交给组长完成合并各功能模块
    这里写图片描述

2016.9-2016.9 华清远见 设备树类型驱动和播放器

  • 用的内核版本是3.*的,所以支持设备树,可采用反射机制于设备树构建
  • 用PWM调频来调音色,用PWM调脉宽来实现身心幅度调节
  • 实现更据乐谱音乐播放

社团活动

  • 大一参加学院学生会,易班工作室。

技能证书

一.证书

1. 通过CET4,能查阅技术类文档资料,各种datasheet。
2. 获得院级奖学金,多次获得助学金,大多用于购买开发板及周边工具。
3. 通过计算机等级二级,计算机操作熟练,没有继续考其他的,认为自己不止二级的知识。

二.技能

  • 学习和折腾51单片机,FPGA,树莓派,三星S3C2440开发板,帮助多个同学完成过课程设计如(51矩阵键盘与数码管显示,51串口通信,51转速测量仪,基于fpga的dds,基于fpga的调制和解调),独立做过一些嵌入式小课题
  • 有两年linux使用时间,linux mint做主用系统(用过ubuntu,openSuse,CentOS,debian等),linux装机超过50次,借和使用过老师的刀片服务器
  • 会编写linux驱动,并且写过一些驱动(ioremap法,mmap法),会arm汇编
  • 知道jpg压缩算法,DCT,rgb->yuv,zigzag,huffman变长编码,预测
  • 了解过视频传输协议onvif,看过一些文档
  • 搭建LAMP、LNMP多次,对负载均衡,大数据hadoop,openstack,docker和几种linux文件系统有点认识。
  • 知道常见国内镜像源和使用
  • 爱逛github,stackoverflow,喜欢开源精神
  • zigzag算法
/* *          name:lilin * */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>typedef struct{    unsigned char b;    unsigned char g;    unsigned char r;    //unsigned char a;}PIX_t;#define DATA_t intenum DIRECT_t{u,d,l,r,ul,ur,dl,dr};typedef struct{    int x;    int y;    DATA_t data;    enum DIRECT_t dir;}POINT_t;int init_point(POINT_t *pnt,int x,int y,enum DIRECT_t d);DATA_t *init_arr(DATA_t d00,int l);int display_arr(DATA_t *arr,int l);int zigzag_step(DATA_t *arr,POINT_t *pnt,int l);int zigzag_all(DATA_t *arr,POINT_t *pnt,int l);int zigzag_handle();int main(int argc, char const* argv[]){    int len;    if(argc>1){        len=atoi(argv[1]);    }else{        len=15;    }    POINT_t pnt;    init_point(&pnt,0,0,r);    DATA_t *arr=init_arr(pnt.data,len);    zigzag_all(arr,&pnt,len);    return 0;}int init_point(POINT_t *pnt,int x,int y,enum DIRECT_t dir){    pnt->x=x;    pnt->y=y;    pnt->dir=dir;    pnt->data=0;    return 0;}DATA_t *init_arr(DATA_t d00,int l){    DATA_t *arr=(DATA_t *)malloc(l*l*sizeof(DATA_t));    memset(arr,0,l*l*sizeof(DATA_t));    *arr=d00;    return arr;}int display_arr(DATA_t *arr,int l){    int i,j;    for(i=0;i<l;i++){        for(j=0;j<l;j++){            printf("%-3d ",*(arr+i*l+j));        }        putchar('\n');        putchar('\n');    }    return 0;}int zigzag_step(DATA_t *arr,POINT_t *pnt,int len){    switch (pnt->dir) {        case d:            printf("d\n");            if(pnt->x==0){                pnt->y++;                pnt->dir=ur;            }             break;        case r:            printf("r\n");             if(pnt->y==0){                 pnt->x++;                 pnt->dir=dl;             }             break;        case dl:            printf("dl\n");             if(pnt->y==(len-1)){                 pnt->dir=ur;                 pnt->x++;             }else if(pnt->x==0){                 pnt->dir=ur;                 pnt->y++;             }else{                 pnt->x--;                 pnt->y++;             }             break;        case ur:            printf("ur\n");             if(pnt->x==(len-1)){                 pnt->dir=dl;                 pnt->y++;             }else if(pnt->y==0){                 pnt->dir=dl;                 pnt->x++;             }else{                 pnt->x++;                 pnt->y--;             }            break;    }    *(arr+len*(pnt->y)+pnt->x)=(++ pnt->data);    if(pnt->x==(len-1) && pnt->y==(len-1))        return 0;    return -1;}int zigzag_all(DATA_t *arr,POINT_t *pnt,int l){    while(zigzag_step(arr,pnt,l)!=0){        printf("pnt[%d][%d]=%d\n",pnt->x,pnt->y,pnt->data);        display_arr(arr,l);        usleep(50000);        system("clear");    }    printf("pnt[%d][%d]=%d\n",pnt->x,pnt->y,pnt->data);    display_arr(arr,l);    return 0;}效果:dlpnt[5][6]=720   1   5   6   14  15  27  28  44  45  65  66  0   0   0   2   4   7   13  16  26  29  43  46  64  67  0   0   0   0   3   8   12  17  25  30  42  47  63  68  0   0   0   0   0   9   11  18  24  31  41  48  62  69  0   0   0   0   0   0   10  19  23  32  40  49  61  70  0   0   0   0   0   0   0   20  22  33  39  50  60  71  0   0   0   0   0   0   0   0   21  34  38  51  59  72  0   0   0   0   0   0   0   0   0   35  37  52  58  0   0   0   0   0   0   0   0   0   0   0   36  53  57  0   0   0   0   0   0   0   0   0   0   0   0   54  56  0   0   0   0   0   0   0   0   0   0   0   0   0   55  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

教育背景

2013.9-2017.7 西华大学 微电子科学于工程 本科

  • 主要课程:数字电路、模拟电路、固体物理、verilog硬件描述语言
0 0
原创粉丝点击