嵌入式Linux软件工程师-卓跃教育

上传人:阳*** 文档编号:107347752 上传时间:2022-06-14 格式:DOC 页数:9 大小:99.50KB
返回 下载 相关 举报
嵌入式Linux软件工程师-卓跃教育_第1页
第1页 / 共9页
嵌入式Linux软件工程师-卓跃教育_第2页
第2页 / 共9页
嵌入式Linux软件工程师-卓跃教育_第3页
第3页 / 共9页
点击查看更多>>
资源描述
嵌 入 式 软 件 工 程 师1 培养目标 培养具备终端+平台的开发技术的综合性人才 培养能够适应未来“后PC时代”手机或智能设备开发的专业人才 .2 适合人群 电子工程专业(硬件基础好,软件开发偏弱) 计算机应用软件专业(软件基础好,硬件基础偏弱) 应用数学(逻辑思维能力强) 自动化专业 机械控制专业 无线电专业 机电一体化专业 .3 课程体系3.1 课程说明 从软件编程入手,培养软件编程思维,在编程过程中逐渐理解ARM芯片体系结构的硬件底层工作原理以及各类外设驱动开发过程。 体现项目实践来带动理论学习的教学方法,打破学员“不会动手”或无项目经验的困惑 体现终端+平台的软件体系结构,迎合企业未来的技术应用方向,适应后PC时代的开发模式 注重计算机技术基础和原理的培养,为学员顺利跨过企业笔试关和后续技术路线上的发展打下深厚的基础。 每个阶段课程严格按照嵌入式开发流程进行管控,从需求文档开始,到设计,灌输开发规范规范一直到开发以及最终的测试过程中教学课程贯穿在内。3.2 课程详情对于嵌入式开发工程师来说,在技术上需要逾越三道关卡,分别是“硬件”开发、操作系统开发和应用软件开发,三者缺一不可(如果缺一环,在工作中的技术发展会受限)。逾越三个堡垒的最佳途径是通过平台级的应用软件开发,锻造良好的应用软件编程思维;在这个软件编程思维和一定的编程经验基础上,能够更好得看透操作系统,理解操作系统的各个子系统工作原理和构成要素;从而在具备了一定“硬件”开发基础后,能够在开发板或者公司设计的板子上从容得搭建起满足成本、性能或其他要求的嵌入式系统,并在这个嵌入式系统上完成设备应用的软件开发。本课程就是按照如上的最佳途径来设计的:1) 基础阶段:与高校的课程进行衔接,并为学员打下扎实得语言基础;另外需要熟悉我们后期开发系统的环境即WINDOW和Linux操作系统2) 平台系统软件:以软件应用项目为主导,在项目中熟练掌握以GUI、数据库、网络通讯等上位机的主流开发技术,建立起良好的编程思维和项目模块化思想,熟悉了基于操作系统以上的开发技术,积累一定的项目开发经验和文档能力。3) 嵌入式设备:以ARM裸机开发为起点,让学员掌握基于芯片级的开发技术,理解计算机系统一步一步如何从底层被搭建起来。以一款UCOS-II的嵌入式设备为例,让学员明白了嵌入式系统工作原理和整个过程中需要完成的各类开发技术。最后让学员搭建起以基于嵌入式Linux操作系统的另外一款设备,从中更加了解嵌入式Linux的总体工作原理以及总体架构,理解驱动开发过程,更加有助于学员理解应用开发技术。基础阶段阶段名称:C语言基础时间安排:1个月课程意义: 为软件基础比较薄弱的同学补习语言基础,通过在小项目的开发锻炼组织程序的能力,建立初级的编程思维。项目无线点菜宝项目类型MIS开发环境WINDOWS开发工具VC+【项目简介】: 项目主要是实现前台收银管理,主要包括如下的功能:1)总台功能:开台、移台、撤台和并台;预定管理;现金结算收银、系统日结及报表2)点菜功能:点菜、加/减菜、催菜、上菜确认;3)厨房功能:炒菜策略、炒菜及要求上菜、催菜告警等。【应用的技术要点】: C语言语法基础(屏幕输入输出/分支/判断/循环控制等) 结构体/指针的应用 链表的应用(产生/遍历/查找/增删改节点) 文件IO 位运算【备选项目】: 学生信息管理系统 图书信息管理系统理论学习:VC环境使用、C语言语法基础(屏幕输入输出/分支/判断/循环控制等)、结构体、数组和指针应用、链表以及文件IO操作、位运算;C+类和对象、对象高级特性:继承和多态、异常处理。项目Linux服务器架设项目类型项目实施开发环境RedHat Linux8.0开发工具vi【项目简介】: 项目是为了架设一台在开发或项目现场实施使用的服务器。从系统安装开始,到网络配置,在此基础上,逐步架设各主流的应用服务。在该服务器上包含了常见的主流服务:、SSH、SVN和文件共享等服务;可以加载ORACLE数据库服务。 在项目中熟悉对Linux操作系统的基本资源操作命令,比如:CPU、内存、磁盘、光驱等外设资源的操作;熟悉Linux的用户权限控制命令,熟悉文件系统的管理以及文件操作,熟悉软件安装卸载操作,熟悉Linux独立服务/inetd服务的查看、添加、删除和启动等,熟悉网络以及网络应用服务器配置等等【应用的技术要点】: Linux系统操作命令 应用软件卸载和安装 Linux服务的查看/启动/停止/安装等 Linux网络配置 FTP服务/SAMBA服务等【备选项目】: 无理论学习:Linux系统概述以及常用命令、文件操作命令、网络配置命令、内核查看命令等、Linux用户权限管理、环境变量配置、Bash的基本功能、常用工具使用、常用网络配置、主流网络服务配置、Linux通信与文件共享;平台系统软件第一阶段:Linux开发基础/C语言基础时间安排:1个月课程意义: 本阶段主要目标是为了让学员具备良好的编程习惯和扎实的C语言基础,并逐渐得打通和培养起学员的编程思维,组织程序的能力和初步的编程经验,为编写和理解嵌入式系统应用开发技术打下伏笔。通过该阶段能让学员理解基于图形库的UI封装过程以及MVC设计模式的应用。项目电信渠道终端系统(后台管理功能)项目类型MIS开发环境RedHat Linux9.0+QT+SQLite3开发工具vi+gcc+gdb+make【项目简介】: 该项目是电信运营为扩展电子渠道业务而延伸的项目;采用CS结构,以数据库技术和UI技术为主, 通过PC的方式实现电子营业厅的前台业务功能和部分的后台管理功能;在项目中采用面向对象思想,使用QT作为项目UI,设计面向客户的交互界面,以SQLITE3 为后台数据库,存储数据,中间通过封装SQLITE3 API 作为业务逻辑层。前台业务功能:充值缴费、号卡销售、话费查询、购买电子卡、日营业报表等等后台管理功能:营业点管理、交易明细查询、月度结算报表等【应用的技术要点】: vi/gcc/gdb使用 多级目录的Makefile编写 Shell脚本编程 QT SQL语句 SQLITE3以及SQLITE3 API【备选项目】: 餐馆点菜系统:该系统主要是应用于餐馆,减少跑冒滴漏并减轻服务员传单的工作强度,对餐馆来说实现无纸化传单,提高服务员的工作效率并实现收银员和点菜员工作分离,减轻了收银员的工作强度,避免了收银失误。该项目可被移植到无线PDA或无线手机上使用。 项目主要是实现前台收银管理,主要包括如下的功能:1)总台功能:开台、移台、撤台和并台;预定管理;现金结算收银、系统日结及报表2)点菜功能:点菜、加/减菜、催菜、上菜确认;3)厨房功能:炒菜策略、炒菜及要求上菜、催菜告警等。 门店POS收银机(单机) 银联POS机理论学习: 系统需求文档编写、关键业务设计/数据库设计/PowerDesigner使用、Shell编程、GCC/GDB等工具使用、MakeFile编写、编程规范与调试技巧、Linux编程实用工具、基本SQL-92语句(增删改查)、SQLITE3数据库、QT程序设计、QT基本组件、QT事件处理、MVC设计模式、SQLITE3 API、模块封装思想;第二阶段:Linux高级应用技术时间安排:1个月课程意义:本阶段目标是让学员巩固和加强软件编程能力,熟悉在多任务环境的编程和调试能力并积累经验;并在应用linux系统高级编程技术的开发过程中,逐步深入到Linux系统内部(但操作系统的内核编程以及管理策略未接触到)、初步领略到Linux内核中的一些概念。同时,网络通信开发是嵌入式软件开发重中之重的技术,学员能在此阶段需掌握网络通讯编程中的关键因素和注意点,理解TCP/IP五层协议的封装过程。项目电信渠道终端系统(终端前置接入服务)项目类型电信开发环境RedHat Linux9.0+SQLite3开发工具gedit或vi/GCC【项目简介】:智能终端是作为业务的营业点或业务的发起方,只提供客户办理业务时的数据采集功能;需要一个服务为分布广泛的终端的各类业务提供后台支撑和集中接入点。本项目就是为了达到和实现该集中接入点的功能。该服务器按照万级用户/终端作为接入的标准,采用Linux 2.6内核以上版本提供的epoll技术,承载万级用户数的长连接接入,并能负载千级的业务并发。对服务器性能、服务程序架构以及部分算法提出很高的要求。并解决了网络通信中重连,丢包,重包,半包等等故障。【应用的技术要点】: 基于SOCKET的通讯组件封装。 多线程/线程池/线程同步技术/线程间通信 信号量/共享内存/互斥量/信号等IPC技术 高性能的服务程序框架 高效率的散列表【备选项目】: 连锁餐馆经营管理系统在连锁经营模式下,各个餐馆营业点分散在城市各地甚至是不同的城市,总部经营管理者为了能够监控和管理各地餐馆的运营,需要信息系统辅助管理;通过信息管理系统,实现如下的几个主要管理功能:1) 将各个餐馆的各类消费信息上传到总部2) 对于部分菜品以及菜品的价格能够实现总部统一定价3) 总部能够掌控人事权。 HTTP服务器理论学习:C+运算符重载、C+模板和基本STL、C+容器;进程、子进程与信号、管道、进程间通信(消息队列/共享内存/信号量等)、POSIX线程、守护进程、网络基础与TCPIP协议族、IO复用编程基础、基本套接字SOCKET编程、TCP端口以及端口状态状态分析(三次握手建链与断链)、链路层/网络层/传输层的协议分析、IO复用模型、UDP编程、原始套接口;HTTP协议分析。内部测试:理论基础笔试;嵌入式设备第三阶段:ARM基础时间安排:1个月课程意义: 理解嵌入式操作系统从无到有的过程,深刻体会嵌入式系统各模块的工作原理以及操作系统原理等,为学员打下坚实的计算机理论基础。从裸机设备开始,主要分为如下几个阶段:1) 无操作系统支持的裸机开发阶段:理解嵌入式设备资源的重要性,在无操作系统情况下即无任务管理,内存管理,需要自己来完成这些功能;理解ARM体系结构和工作原理,系统启动等等2) 小型操作系统阶段:借助这种小型操作系统来剖析操作系统的任务管理机制以及内存管理机制,并完善操作系统应该具备的5大基本功能,从而对整个操作系统内核有深刻的认识。3) 嵌入式操作系统阶段:根据前面的基础,制作嵌入式操作系统的加载开发和底层驱动,并理解专用嵌入式操作系统的内核功能和工作机制。本阶段以mini2440开发板为目标,让学员了解简单计算机系统的工作运行原理,逐步建立起计算机初始化工作的流程和应用环境初始化,并理解期间出现的各种概念,为后续开发和学习打下基础。项目卓跃简易操作系统EasyOS项目类型自制开发环境Mini2440裸机开发开发工具Keil ARM【项目简介】: 该项目是在MINI2440开发板硬件基础上,采用前后台模式(后台中断体系和软定时器,前台消息处理),开发了一款简易的操作系统EasyOS;实现开机启动画面、硬件检测、系统应用环境初始化;在系统启动后,它可以同时处理软键盘、串口命令和手写等交互,并规划自身的文件系统。 操作系统中实现虚拟键盘和手写功能,实现操作系统与用户的交互界面UI;同时用户可以通过串口输入命令,实现与设备的交互;另外为了完成设备与平台或PC的数据交互,在EasyOS中,简易封装TCP/IP协议栈和文件系统(或移植yaffs),实现两边的通信和文件传送。【应用的技术要点】: ARM指令系统 mini2440体系结构 Mini2440存储控制 arm9中断体系/定时器 UART串口编程 NANDFLASH读写以及管理 LCD和触摸 自定义GUI和控件封装; 网卡驱动/简易TCPIP协议栈【备选项目】: 无线话机电信行业 汽车胎压检测仪汽车行业 GPS定位导航机械控制理论学习:Keil ARM编程环境、ARM指令系统、ARM体系结构(常用arm/thumb指令集及汇编、寻址方式、寄存器等)、硬件初始化、2440存储控制体系、ARM9的中断体系、定时器工作原理及设置、GPIO介绍以及控制、LCD原理及编程、NORFLASH或NANDFLASH原理及编程、触摸屏控制、UART控制器、YAFFS文件系统、DM9000网卡驱动以及简易协议栈。第四阶段:ARM-uC/OS-II嵌入式开发时间安排:1个月课程意义:该阶段是小型操作系统阶段,有了基于ARM的裸机开发基础后,移植了uC/OS-II这种简易的操作系统到开发板,理解操作系统的多任务管理、内存管理、文件系统管理、GUI库等等实现机制、封装以及原理,从而丰满了uC/OS操作系统,让学员体验在操作系统帮助的情况下进行开发的优势;同时通过项目能够熟练基于uC/OS-II系统的开发,并根据专用的硬件平台,移植TCP/IP协议栈和MINIGUI。项目GSM无线商话(UPHONE)项目类型移动设备开发环境Mini2440+uC/OS-II+SIM300开发工具Microsoft visual studio【项目简介】:利用uCos-II实现一款无线商话(双模方案s3c2440+SIM300),利用SIM300能实现语音通话、SMS收发以及GPRS上网功能等,在2440平台实现电话本,软键盘或九宫格菜单,通话记录,短信箱等等常见的手机功能。系统平台是在MINI2440硬件平台上借助前一个项目的简易操作系统(Easy OS)自行开发的所有外设驱动,比如:nandflash,lcd,uart等,通用可移植的AT模块封装,并移植MiniGUI和yaffs,并实现部分MM单元(内存管理单元)、文件系统等等【应用的技术要点】: uCos-II多任务调度原理 uCos-II系统开发 uCos-II系统下内存管理,比如:malloc函数的实现 YAFFS文件系统移植及开发接口 TCP/IP协议栈移植和应用 MiniGUI的移植和应用 无线模块的语音通话、SMS应用和PDU格式、GPRS上网功能 AT指令集【备选项目】: 个人资料“管家”信息机:以中国移动主推的电子书业务为实战项目,对项目进行简化,实现单机版的电子书籍、期刊等资料的个人管理设备,让用户可以将自身的各类资源或信息通过电子书设备进行管理和可以随身携带、阅读或播放等,项目主要实现功能如下:1、 书籍或电子期刊等资料信息分类维护2、 资料的导入和导出功能3、 书籍和电子期刊的阅读功能. GSM无线商话:,完成语音、短信、电话本、通讯簿 烟草零售POS:完成烟的销售和库存管理业务,并能够输出打印报表理论学习:uCOS-II源码分析、uCOS-II移植、uCos-II任务管理、uCos-II内存管理以及任务通信技术、自定义的内存管理实现malloc等、文件系统实现原理、MiNiGUI工作原理、消息循环和事件处理、常用控件使用;SIM300模块的应用、语音通话功能、短信PDU格式、AT指令集企业专家面对面:项目评审,经验交流,为后续学习确定目标和方向第四阶段:ARM-Linux嵌入式高级应用/带嵌入式操作的应用开发技术时间安排:1个月课程意义: 从uCosII阶段操作系统由自定义内存管理、自定义文件系统等等基本功能构成过渡到由Linux内核来实现,该阶段偏重于嵌入式设备的驱动开发和智能设备的高级应用,并加入平台服务模块,完成典型应用场景:平台+终端的开发模式。以s3c2440即ARM9的开发板作为教学案例,完成从Uboot、Linux内核以及根文件系统的移植开始,一直到设备上的各种外设驱动接口开发、业务应用搭建。学员从中领会到整个嵌入式设备软件系统的搭建和生成过程,并以s3c2440即arm9的开发为实战项目,自己完成一款无线设备终端,以增加自身的开发经验。项目手持阅读终端(中国移动电子书)项目类型电信行业开发环境MINI2440+arm Linux+sim300开发工具Microrsoft visual studio以及make工具等【项目简介】:项目是为了完成一款带有操作系统的智能终端。首先系统的内核移植和裁剪,然后到各种专用硬件外设的驱动移植或编写自产的硬件驱动,再到在智能设备终端所应用到各类应用组件的移植,最终完成嵌入式应用软件的功能,是一个从底层到高层(上位)的一系列的技术应用过程 。嵌入式操作系统移植主要分如下几个步骤完成: BootLoader/UBoot移植 嵌入式Linux内核移植 根文件系统移植 驱动程序移植或开发.利用MiniGui开发应用程序UI,SQLite存储应用的数据,yaffs文件系统及存取,利用GSM模块完成GPRS网络架设和短信交互。从而完成嵌入式智能设备的客户端应用开发,并具备了与平台服务器进行通讯的基础。主要实现如下的两个部分的功能:本地功能:是实现本地的电子书籍、期刊等资料的个人管理设备,让用户可以将自身的各类资源或信息通过电子书设备进行管理和可以随身携带、阅读或播放等,主要功能如下:1、 书籍或电子期刊等资料信息分类维护2、 资料的导入和导出功能3、 书籍和电子期刊的阅读功能.网络应用功能:是在完成智能终端设备的本地功能基础上,让设备具备上网功能(GSM或TD),并加入电子书的运营平台,实现与运营平台服务的对接;采用CS结构,通过终端前置接入服务的帮助下,可以在设备上完成运营商的电子书或电子期刊的检索、排行、热点跟踪等功能,并支持在线阅读或下载后离线阅读等功能,支持资料导入导出。【应用的技术要点】: UBOOT、Linux内核、根文件系统配置/移植/烧写。 系统设备驱动开发移植/自编写的串口驱动加入内核 RAMDISK、Yaffs移植 GSM模块通信控制和功能封装 Linux高级开发技术 MiniGUI移植和应用 SQLite移植和应用【备选项目】: 无线只能设备终端-供销通:在完成智能终端设备上,从单店POS运营模式扩展成连锁经营的模式,实现商品信息包含价格等的统一管理,并且能够将销售信息等上传到连锁总部进行管理。 无线智能设备终端-烟草信息机:在完成智能终端设备上,完成烟草零售户的订烟和调查问卷等功能理论学习: Boot介绍和分析、UBoot编译及配置、UBoot下载等、Linux内核代码结构分析、内核裁剪、编译、内核配置系统介绍、MakeFile分析和制作、BusyBox工具生成根文件系统介绍、RAMDISK文件系统移植、yaffs文件系统介绍、Linux内核空间和用户空间以及内核函数的讲解、Linux字符设备驱动、MTD接口、Linux块设备驱动等等驱动4 就业范围5 就业岗位 Linux C开发工程师 C/C+应用软件开发工程师 手机应用开发工程师 单片机应用开发工程师 嵌入式应用软件开发工程师 嵌入式系统驱动开发工程师9 / 9
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑工程


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!