如何自学嵌入式开发

2022-08-23

第一篇:如何自学嵌入式开发

软件开发工程师(嵌入式开发)岗位职责

1.设计芯片驱动程序,编写软件概要和详细设计说明书。

2.编写驱动代码,并进行单元测试和系统测试。

3.配合硬件工程师调试硬件电路。

4.单板软件需求分析、设计、编码与测试。

第二篇:嵌入式Linux开发流程

嵌入式 linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都经过以下过程:

建立开发环境。操作系统一般 REDHAT-LINUX,版本 7 到9 都可以,选择定制安装或全部安装,通过网络下载相应的 GCC 交叉编译器进行安装(比如 arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的交叉编译器。

配置开发主机。配置 MINICOM,一般参数为115200,数据位 8位,停止位 1,无奇偶校验,软硬件控制流设为无。在 WINDOWS 下的超级终端的配置也是这样。MINICOM软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具;配置网络,主要是配置 NFS 网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如 U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如三星的 ARM

7、ARM9 系列芯片,这样就需要编写烧写开发板上 flash 的烧写程序,网络上有免费下载的 WINDOWS 下通过JTAG并口简易仿真器烧写 ARM 外围 flash 芯片的程序。也有 LINUX 下公开源代码的J-FLASH 程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果你购买了厂商提供的仿真器,当然比较容易烧写flash了,但是其中的核心技术是无法了解的。这对于需要迅速开发应用的人来说可以极大地提高开发速度。

下载别人已经移植好的 LINUX 操作系统,如 UCLINUX、ARM-LINUX、PPC-LINUX等,如果有专门针对你所使用的CPU移植好的 LINUX 操作系统那是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带 MMU的 CPU可以使用模块方式调试驱动,对于 UCLINUX 这样的系统好像只能编译进内核进行调试。

建立根文件系统,从下载使用 BUSYBOX 软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于 /etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile 等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用 mkcramfs、genromfs 等工具产生烧写映象文件。

建立应用程序的 flash 磁盘分区,一般使用JFFS2 或 YAFFS 文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性 flash(NOR 型)512K-32M,有的系统使用非线性 flash(NAND型)8-512M,有的两个同时使用,需要根据应用规划 flash的分区方案。

开发应用程序,可以下载到根文件系统中,也可以放入 YAFFS、JFFS2 文件系统中,有的应用程序不使用根文件系统,而是直接将应用程序和内核设计在一起,这有点类似于UCOS-II 的方式。

烧写内核、根文件系统、应用程序。

发布产品。

第三篇:嵌入式开发工程师-简历

【个人信息】姓名:

身高:

性别:

学历:

籍贯:

专业:电子信息工程

联系电话:

E-mail:

【求职意向】 嵌入式开发工程师或相关工作,对LINUX驱动开发极感兴趣

【工作经验】 2009.3----2010.3中山长宝GPS卫星导航有限公司

 2009.1----2009.3中山世博游艺有限公司

【教育背景】 2010.3——2010.7广州粤嵌通信科技股份有限公司(简称粤嵌教育)ARM+Linux培训

 2005.9——2009.6广州大学松田学院电子信息工程工学学士

【项目经验】

 GPS车载终端,GPS个人定位器(从事一年相关工作) 基于ARM9的嵌入式智能家居系统(QT图像界面,应用程序,驱动等) 基于ARM9的嵌入式视频点播系统(包括本地播放,网络播放) ARM9(S3C2440)的嵌入式系统移植(Uboot,Kernel,Rootfs,Driver) LINUX简单聊天工具

【相关技能】

 英语水平: 四 级 掌握C、C++编程,有良好的编程风格 了解Linux内核机制,熟悉Linux驱动开发 熟练使用单片机(如STC系列,SST系列,INTEL系列) 熟悉ARM9的硬件结构 熟悉Linux操作系统、交叉编译环境,掌握常用脚本编写 熟悉BootLoader制作,内核的剪裁,驱动及根文件系统的移植 熟悉QT编程 , TCP/IP协议,掌握Linux应用编程 了解SQL基础知识 熟悉GSM.GPS的使用

【语言水平】 粤语/国语流利;英语已通过CET-4,可阅读专业相关资料

项目简介

 GPS车载终端,GPS个人定位器

软件环境: KEIL 51

硬件环境: BENQ M23,M33 通信模块,51单片机,和GPS模块

项目描述: 通过MCU把GPS采集的数据处理后,通过串过发送AT指令使GSM

拨通GPRS网络,再把采集的GPS数据,按照定义好的协议上存到监

控平台

 ARM9 (S3C2440) LED流水灯、LCD文字及图片显示设计

软件环境: ADS1.2

硬件环境:ARM9(2440)开发板

项目描述: 将设计的程序移植到ARM9上,并成功驱动LED、LCD,完成LED

流水灯、LCD文字及图片显示项目

 ARM9(S3C2440)嵌入式系统移植

软件环境: Linux2.6.24,U-boot,Qtopia

硬件环境: ARM9(2440)开发板

项目描述: 在2440上成功完成了U-boot移植,Linux内核的剪裁与移植,根文

件系统的制作,并完成了LED、LCD等驱动的移植。

 基于ARM9的VOD点播系统

软件环境: Linux2.6.12,U-boot,Qtopia

硬件环境: GEC2440开发板

项目描述: 培训实战项目,完成了S3C2440嵌入式系统的整体移植,它基于

QT图形界面,移植了MPlayer播放器,实现了VOD(本地和网络)

多媒体点播,

 ARM9(S3C2440)嵌入式智能家居系统

软件环境: Linux2.6.12,U-boot,Qtopia

硬件环境: ARM9(2440)开发板

项目描述: 本系统主要实现温度检测,红外检测,蜂鸣器报警,步进机转动(模拟控

制家电),GSM短信通知等驱动,QT图形界面显示和应用编程. 把温

度传感器和红外线采集的数据,传给应用程序,应用程序把数据显示

在QT界面,当应用程序检测到温度过高或有人闯进时,应用程序就调

用蜂鸣器报警驱动,并发短信通知主人,主人也可以下发短信控制步

进机转动

本人做的LINUX驱动简介

 ds18b20温度传感器Linux驱动

该驱动为字符型驱动程序,能从ds18b20芯片读取温度信息. ds18b20芯片采用了独特的1-wire bus技术,只用一根数据线即可实现与cpu芯片的连接(利用了cpu gpio本身的弱上拉电阻)。本驱动程序的重点是实现字符驱动的读函数接口。由于硬件连线简单,对ds18b20的软件操作较为繁琐,每一个操作都要要经过以下三个步骤:(1)芯片初始化 (2)芯片选择(因为一线总线上可挂载多个ds18b20, 所以必须通过一定的机制指明操作的对象) (3)发送功能命令(例如,温度查询命令)和读取数据。在初始化的步骤中,cpu拉低数据线,然后释放数

据线,经过一定时间读取数据线上的值,如为低电平,则表明数据上挂载了ds18b20,否则初始化失败。在芯片选择的步骤中,由于只挂载了一片ds18b20, 所以只需发送skip rom命令即可。在发送功能命令的步骤中,首先发送温度查询命令(convert t), 然后在数据线上读取两个字节的温度数据,温度数据按由低位低字节向高位高字节的顺序发送,余下的为温度无关数据,可忽略。温度数据的0-10位为数值位(最小单位为0.0625), 11-15位为扩展符号位。该驱动使用linux的udelay函数来实现时序操作所要求的延时操作。

 使用内存模拟块设备并挂载ext2文件系统(简单块设备驱动)

本驱动程序使用kmalloc分配出一块内存区域来模拟块设备,并在该块设备上挂载ext2文件系统。本驱动程序同时实现了字符设备和块设备驱动接口。块设备的内容通过字符驱动的写函数由用户空间写入。块设备接口实现的重点是其初始化函数和request函数的实现。在初始化函数中完成以下操作:注册块设备主设备号(register_blkdev),注册request函数的实现并获取与之关联的request_queue,设置request_queue的一些参数(例如,blk_queue_hardsect_size和blk_queue_max_sectors),分配(alloc_disk)和设置块设备结构体gendisk,注册gendisk。在request函数的实现中完成以下操作:获取request_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做一些收尾工作。可以看到,块设备的驱动格式较为固定,不像字符驱动那样灵活。文件系统通过以下方法制作:首先建立一个2M大小的“空白”文件(dd),然后格式化该文件(mkfs.ext2),最后通过mount命令进行挂载,并创建文件系统内容。制作好的文件系统通过字符驱动的写接口写入驱动内存(cat), 最后挂载块设备。

 蜂鸣器驱动

本驱动程序属于字符型驱动,由于该蜂鸣器物理硬件连接的是定时器的TOUT1管脚,只要实现定时器1的PWM功能即可,实现PWM功能,我们需要设置定时器的频率,也就是蜂鸣器的频率,并设置占空比.蜂鸣器启动的代码在IOCTL系统调用里实现,并把蜂鸣器的响应时间,以参数形式传给IOCTL这自己定义的函数.驱动蜂鸣器。

 红外感应驱动

本驱动程序属于字符型驱动,红外感应的原理,简单的描述就是当有人靠近时,该模块相应的管脚会产生高电平,没人靠近时,该管脚为低电平.此工作原理,相当于一个外部中断,所以只要住一个带有外部中断的字符驱动即可

 GSM驱动(即串口驱动)

本驱动程序属于字符型驱动,首先用ioremap申请串口相关控制寄存器,再编写串口接受和发送的中断程序,当寄存器UTRSTAT的第0位为真,表示接受到收据,当寄存器UTRSTART第2位为1时,表示可以发送寄存器为空,可以发送数据

【求职感言】 我对嵌入式计算机行业抱有热情,有强烈的求知欲和对新技术和新方法的热

忱,希望能得到一个良好的平台和起点,得到锻炼和提升的机会

【业余爱好】

● 看书,篮球,足球,魔兽争霸

【自我评价】●具备吃苦、耐劳的能力,敢于面对错误和承担责任。

第四篇:嵌入式软件开发工程师

岗位职责岗位职责:

1、开发维护光网络产品嵌入式软件;

2、按照研发流程要求,完成软件的详细设计,代码实现,单元测试,集成测试;

3、对开发的软件质量和进度负责。

福利待遇:

1、五险一金(养老保险、医疗保险、失业险、工伤险、生育险,住房公积金);

2、年终奖及过节费;

3、提供各种培训机会;

4、公司设有员工宿舍、食堂免费三餐及图书馆;

5、定期为员工安排健康体检;

6、组织各种大型集体活动增加团队凝聚力(如:旅游、运动会、年度联欢、体育比赛等)。

岗位要求任职要求:

1、通信、计算机、电子、软件工程等相关专业本科以上学历;

2、熟练掌握RTOS(WINCE、Linux等)之上的嵌入式软件开发;

3、熟悉数据通信原理,熟悉VLAN,STP等相关二层协议;

4、从事过以太网、光通讯产品开发经验者优先,

5、有通信、计算机网络协议开发经验者优先(包括路由器、交换机、IP语音网关等设备的开发经验);

6、够熟悉使用51系列、ARM系列微处理器,熟悉TCPIP、SNMP协议技术者优先;

7、有自组网mesh设备开发经验优先考虑;

8、具有强烈的责任心及团队合作精神,具有较强的沟通及协调能力。

第五篇:嵌入式软件开发工程师简历

个人简历

姓 名:glzy8.com 性 别:男

出生日期:1984-06-05 籍 贯:北京市

目前城市:北京市 工作年限:应届毕业生

目前年薪:xx万人民币 联系电话:15900000000

e-mail:http://

应聘方向

求职行业:计算机软件,计算机硬件,计算机服务(系统、数据服务,维修) ,互联网/电子商务,通信/电信/网络设备

应聘职位:软件测试,技术文员/助理,测试员,系统测试

求职地点:北京市 薪资要求:面议

工作经历

2008/03—现在 ***公司

所属行业:计算机服务(系统、数据服务,维修)

软件开发 软件工程师

主要职责:

1. 远程同步嵌入式todolist记事系统;

2. 参与todolist记事系统的系统分析和设计;

3. 开发了本地数据管理系统,实现数据本地的增删改查的功能;

4. 开发了下载和上传引擎,实现mobile与server间的数据同步;

5. 设计开发系统控制模块,该模块集成数据模型,数据管理模块和数据通讯模块;

6. 设计开发了图形用户界面;

7. 在模拟器和真机测试todolist记事系统。

2007/09—2007/11 tom在线

所属行业:互联网/电子商务

网站事业部 网站编辑

主要职责:负责网页内容的更新与维护,独立制作新闻专题。

教育培训

2004/09—至今 北京信息工程学院 电子商务 本科

2008/03—2008/06 渥瑞达symbian os 嵌入式开发

职业技能

外 语: 英语:一般

自我评价

1. 熟悉计算机网络,信息安全等相关知识,了解计算机软硬件安装调试;

2. 熟悉各种计算机操作系统、熟悉office软件。

3. 熟悉sql server数据库操作。

4. 精通面向对象的程序设计和开发,熟练掌握c++语言。

5. 熟练掌握visual c++、codewarrior、evc等开发工具。

6. 熟悉dream wear、photoshop等网页制作软件。

上一篇:软件开发合同协议书下一篇:人间自有真情在下联

本站热搜