《嵌入式开发工程师-简历模板》由会员分享,可在线阅读,更多相关《嵌入式开发工程师-简历模板(4页珍藏版)》请在金锄头文库上搜索。
1、【个人信息】 姓名: 身高: 性别: 学历:籍贯:专业:电子信息工程 联系电话:E-mail:【求职意向】 l 嵌入式开发工程师或相关工作,对LINUX驱动开发极感兴趣【工作经验】 l 2009.3-2010.3 中山长宝GPS卫星导航有限公司l 2009.1-2009.3 中山世博游艺有限公司【教育背景】 l 2010.32010.7 广州粤嵌通信科技股份有限公司(简称粤嵌教育) ARM+Linux培训l 2005.92009.6 广州大学松田学院电子信息工程 工学学士【项目经验】 l GPS车载终端,GPS个人定位器(从事一年相关工作)l 基于ARM9的嵌入式智能家居系统(QT图像界面,应
2、用程序,驱动等)l 基于ARM9的嵌入式视频点播系统(包括本地播放,网络播放)l ARM9(S3C2440)的嵌入式系统移植(Uboot,Kernel,Rootfs,Driver)l LINUX简单聊天工具【相关技能】 l 英语水平: 四 级l 掌握C、C+编程,有良好的编程风格l 了解Linux内核机制,熟悉Linux驱动开发l 熟练使用单片机(如STC系列,SST系列,INTEL系列)l 熟悉ARM9的硬件结构l 熟悉Linux操作系统、交叉编译环境,掌握常用脚本编写l 熟悉BootLoader制作,内核的剪裁,驱动及根文件系统的移植l 熟悉QT编程 , TCP/IP协议,掌握Linux应
3、用编程l 了解SQL基础知识l 熟悉GSM.GPS的使用【语言水平】 l 粤语/国语流利;英语已通过CET-4,可阅读专业相关资料项目简介 l GPS车载终端,GPS个人定位器软件环境: KEIL 51硬件环境: BENQ M23,M33 通信模块,51单片机,和GPS模块项目描述: 通过MCU把GPS采集的数据处理后,通过串过发送AT指令使GSM拨通GPRS网络,再把采集的GPS数据,按照定义好的协议上存到监控平台l ARM9 (S3C2440) LED流水灯、LCD文字及图片显示设计软件环境: ADS1.2硬件环境:ARM9(2440)开发板项目描述: 将设计的程序移植到ARM9上,并成功
4、驱动LED、LCD,完成LED流水灯、LCD文字及图片显示项目l ARM9(S3C2440)嵌入式系统移植软件环境: Linux2.6.24,U-boot,Qtopia硬件环境: ARM9(2440)开发板项目描述: 在2440上成功完成了U-boot移植,Linux内核的剪裁与移植,根文件系统的制作,并完成了LED、LCD等驱动的移植。l 基于ARM9的VOD点播系统软件环境: Linux2.6.12,U-boot,Qtopia硬件环境: GEC2440开发板项目描述: 培训实战项目,完成了S3C2440嵌入式系统的整体移植,它基于QT图形界面,移植了MPlayer播放器,实现了VOD(本地
5、和网络)多媒体点播,l ARM9(S3C2440)嵌入式智能家居系统软件环境: Linux2.6.12,U-boot,Qtopia硬件环境: ARM9(2440)开发板项目描述: 本系统主要实现温度检测,红外检测,蜂鸣器报警,步进机转动(模拟控制家电),GSM短信通知等驱动,QT图形界面显示和应用编程. 把温度传感器和红外线采集的数据,传给应用程序,应用程序把数据显示在QT界面,当应用程序检测到温度过高或有人闯进时,应用程序就调用蜂鸣器报警驱动,并发短信通知主人,主人也可以下发短信控制步进机转动本人做的LINUX驱动简介l ds18b20温度传感器Linux驱动 该驱动为字符型驱动程序,能从d
6、s18b20芯片读取温度信息. ds18b20芯片采用了独特的1-wire bus技术,只用一根数据线即可实现与cpu芯片的连接(利用了cpu gpio本身的弱上拉电阻)。本驱动程序的重点是实现字符驱动的读函数接口。由于硬件连线简单,对ds18b20的软件操作较为繁琐,每一个操作都要要经过以下三个步骤:(1)芯片初始化 (2)芯片选择(因为一线总线上可挂载多个ds18b20, 所以必须通过一定的机制指明操作的对象) (3)发送功能命令(例如,温度查询命令)和读取数据。在初始化的步骤中,cpu拉低数据线,然后释放数据线,经过一定时间读取数据线上的值,如为低电平,则表明数据上挂载了ds18b20,
7、否则初始化失败。在芯片选择的步骤中,由于只挂载了一片ds18b20, 所以只需发送skip rom命令即可。在发送功能命令的步骤中,首先发送温度查询命令(convert t), 然后在数据线上读取两个字节的温度数据,温度数据按由低位低字节向高位高字节的顺序发送,余下的为温度无关数据,可忽略。温度数据的0-10位为数值位(最小单位为0.0625), 11-15位为扩展符号位。该驱动使用linux的udelay函数来实现时序操作所要求的延时操作。l 使用内存模拟块设备并挂载ext2文件系统(简单块设备驱动)本驱动程序使用kmalloc分配出一块内存区域来模拟块设备,并在该块设备上挂载ext2文件系
8、统。本驱动程序同时实现了字符设备和块设备驱动接口。块设备的内容通过字符驱动的写函数由用户空间写入。块设备接口实现的重点是其初始化函数和request函数的实现。在初始化函数中完成以下操作:注册块设备主设备号(register_blkdev),注册request函数的实现并获取与之关联的request_queue,设置request_queue的一些参数(例如,blk_queue_hardsect_size和blk_queue_max_sectors),分配(alloc_disk)和设置块设备结构体gendisk,注册gendisk。在request函数的实现中完成以下操作:获取request_
9、queue中的第一个request结构体(elv_next_request), 遍历该request结构体中每一个bio(rq_for_each_bio)中的每一个segment(bio_for_each_segment),在循环体中将每个segment的数据发送到块设备控制器(或从块设备控制器中读入segment中)。遍历完成后,从request_queue中移除该request结构体(end_that_request_first),重复以上操作,直到request_queue为空,最后调用end_that_request_last做一些收尾工作。可以看到,块设备的驱动格式较为固定,不像字符
10、驱动那样灵活。文件系统通过以下方法制作:首先建立一个2M大小的“空白”文件(dd),然后格式化该文件(mkfs.ext2),最后通过mount命令进行挂载,并创建文件系统内容。制作好的文件系统通过字符驱动的写接口写入驱动内存(cat), 最后挂载块设备。l 蜂鸣器驱动本驱动程序属于字符型驱动,由于该蜂鸣器物理硬件连接的是定时器的TOUT1管脚,只要实现定时器1的PWM功能即可,实现PWM功能,我们需要设置定时器的频率,也就是蜂鸣器的频率,并设置占空比.蜂鸣器启动的代码在IOCTL系统调用里实现,并把蜂鸣器的响应时间,以参数形式传给IOCTL这自己定义的函数.驱动蜂鸣器。l 红外感应驱动本驱动程
11、序属于字符型驱动,红外感应的原理,简单的描述就是当有人靠近时,该模块相应的管脚会产生高电平,没人靠近时,该管脚为低电平.此工作原理,相当于一个外部中断,所以只要住一个带有外部中断的字符驱动即可l GSM驱动(即串口驱动)本驱动程序属于字符型驱动,首先用ioremap申请串口相关控制寄存器,再编写串口接受和发送的中断程序,当寄存器UTRSTAT的第0位为真,表示接受到收据,当寄存器UTRSTART第2位为1时,表示可以发送寄存器为空,可以发送数据【求职感言】 l 我对嵌入式计算机行业抱有热情,有强烈的求知欲和对新技术和新方法的热忱,希望能得到一个良好的平台和起点,得到锻炼和提升的机会【业余爱好】 看书,篮球,足球,魔兽争霸 【自我评价】 具备吃苦、耐劳的能力,敢于面对错误和承担责任。