欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    培训体系培训资料.docx

    • 资源ID:14491315       资源大小:43.79KB        全文页数:24页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    培训体系培训资料.docx

    1、培训体系培训资料(培训体系)培训资料新人培训阶段学习资料上海核心信息技术XX公司Version0.02(2011.03)课程介绍1课程大纲2第壹阶段Linux开发基础2第二阶段嵌入式C语言编程强化3第三阶段Linux用户态开发8第四阶段Linux内核态及驱动开发10第五阶段软件开发流程11课程介绍本课程旨于发现具备开发Linux下驱动程序的人才,新入社员将通过壹个月的时间参照本教程熟悉Linux下设备驱动开发必须的知识。培训结束后符合要求的新人将进入公司具体项目组熟悉具体项目的开发方法。课程大纲本课程大纲内列出的任务基本由员工自己动手解决为主,通常每天上午指导人员将进行昨日实验结果评价及当日任

    2、务安排,对于工作任务不清楚的地方请及时向指导人员提出。下午主要为新员工个人实验时间。第壹阶段Linux开发基础2-3天通过本课程的学习,使新员工能够了解Linux操作系统的概念,熟练掌握Linux下的基本命令、常用工具的使用方面的知识。学习内容:公司安全保密教育,日报格式说明Linux常用命令,文本编辑器Vi,简单Shell脚本编程嵌入式Linux开发环境基础:Gcc,Gdb,Make和MakefileGCCARM编译环境安装(SourceryG+LiteEditionforARM)软件版本管理器Svn嵌入式软件开发环境搭建和使用x86linux内核编译versatilearmlinux内核编

    3、译QEMU运行linux实验:1. 开发环境配置,安装ubuntu虚拟机,熟悉Linux使用2. 配置X86开发环境,编译x86Linux内核,于QEMU下运行3. 配置ARM开发环境,编译armLinux内核,于QEMU下运行4. 编写HelloWorld程序,于x86/armLinuxQEMU下运行5. 编写壹个脚本,统计壹个目录下面所有C代码的行数。6. 这些格式的如何去解压.tar/bz2/tar.bz2/tar.gz/tar.tar/.Z/.zip/.rar第二阶段嵌入式C语言编程强化3-5天本课程的主要目标是通过编写代码的方式,加强对于C语言编程和数据结构的掌握程度。回答如下16道

    4、国外经典的面向嵌入式语言面试题1.用预处理指令#define声明壹个常数,用以表明1年中有多少秒(忽略闰年问题)2.写壹个“标准”宏MIN,这个宏输入俩个参数且返回较小的壹个。3.预处理器标识#error的目的是什么?4.嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?5.用变量a给出下面的定义a)壹个整型数(Aninteger)b)壹个指向整型数的指针(Apointertoaninteger)c)壹个指向指针的的指针,它指向的指针是指向壹个整型数(Apointertoapointertoaninteger)d)壹个有10个整型数的数组(Anarrayof10integers)e)壹

    5、个有10个指针的数组,该指针是指向壹个整型数的(Anarrayof10pointerstointegers)f)壹个指向有10个整型数数组的指针(Apointertoanarrayof10integers)g)壹个指向函数的指针,该函数有壹个整型参数且返回壹个整型数(Apointertoafunctionthattakesanintegerasanargumentandreturnsaninteger)h)壹个有10个指针的数组,该指针指向壹个函数,该函数有壹个整型参数且返回壹个整型数(Anarrayoftenpointerstofunctionsthattakeanintegerargume

    6、ntandreturnaninteger)6.关键字static的作用是什么?7关键字const是什么含意?8.关键字volatile有什么含意且给出三个不同的例子。9.嵌入式系统总是要用户对变量或寄存器进行位操作。给定壹个整型变量a,写俩段代码,第壹个设置a的bit3,第二个清除a的bit3。于之上俩个操作中,要保持其它位不变。10.嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。于某工程中,要求设置壹绝对地址为0x67a9的整型变量的值为0xaa66。编译器是壹个纯粹的ANSI编译器。写代码去完成这壹任务。11.中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供壹种扩展

    7、让标准C支持中断。具体所代表的事实是,产生了壹个新的关键字_interrupt。下面的代码就使用了_interrupt关键字去定义了壹个中断服务子程序(ISR),请评论壹下这段代码的。_interruptdoublecompute_area(doubleradius)doublearea=PI*radius*radius;printf(Area=%f,area);returnarea;12.下面的代码输出是什么,为什么?voidfoo(void)unsignedinta=6;intb=-20;(a+b6)puts(6):puts(=3,(Y-X)的绝对值=3,保证俩次置位不会重合Output更

    8、改后的寄存器值R(16进制输出)SampleInput12345678,0,3SampleOutput1234567cvoidmain()intR,X,Y;scanf(%d,%d,%d,&R,&X,&Y);R&=(1X);R|=6(Y-3);R&=(1(Y-2);printf(theRvalueis%d,R);排序编写壹个排序程序。被排序的文件有8MB大小,壹行壹个随机整数(ASCII格式)。要求对这些整数进行排序,且计算平均值,打印出排序所需的时间。#includestdio.h#includestdlib.h#includemath.h#includetime.hvoidrun(int*p

    9、Data,intleft,intright)inti,j;intmiddle,iTemp;i=left;j=right;middle=pDataleft;dowhile(pDataimiddle)&(imiddle)&(jleft)j-;if(i=j)iTemp=pDatai;pDatai=pDataj;pDataj=iTemp;i+;j-;while(i=j);if(lefti)run(pData,i,right);voidQuickSort(int*pData,longCount)run(pData,0,Count-1);intmain(intargc,char*argv)clock_ts

    10、tart,end;/time_ta,b;charfstr20;intm_data1024;longcount=0;longsum=0;longavr;longi;FILE*m_file;if(NULL=argv0)exit(1);m_file=fopen(argv0,r);if(m_file=NULL)printf(error);exit(1);while(NULL!=fgets(fstr,20,m_file)m_datacount=atoi(fstr);count+;start=clock();/a=time(NULL);QuickSort(m_data,count);end=clock()

    11、;printf(%6.3fsecondsn,(double)(end-start)/18.2);/b=time(NULL);for(i=0;i1)p-next=Create_Node(n-1);/ifthenodehaschild,thenmakethepsnextlinkthenextnodereturnp;/returnthenodesaddressvoidDelete_Node(structNode*node)/freetheallnodetablesif(node-next!=NULL)Delete_Node(node-next);node-next=NULL;free(node);双

    12、向:structMuNodeintdata;structMuNode*pre;/PointertopointtopreviousnodestructMuNode*next;/Pointertopointtonextnode;structMuNode*Create_MuNode(intn,structMuNode*pre)structMuNode*p=(structMuNode*)malloc(sizeof(Node);memset(p,NULL,sizeof(Node);p-pre=pre;if(n1)p-next=Create_MuNode(n-1,p);returnp;voidDelete

    13、_MuNode(structMuNode*node)if(node-next!=NULL)Delete_MuNode(node-next);node-next=NULL;node-pre=NULL;free(node);循环链表structNodeintdata;/数据域structNode*next;/指针域;structNode*Create_CycleNode(intn,structNode*head)/CreateaNode,nmeansithasnchildnode;structNode*p=(structNode*)malloc(sizeof(Node);/Createamemor

    14、yspaceforstructmemset(p,NULL,sizeof(Node);/setthestructsvalueNULL;if(n1)p-next=Create_Node(n-1);/ifthenodehaschild,thenmakethepsnextlinkthenextnodeelsep-next=head;returnp;/returnthenodesaddressvoidDelete_CycleNode(structNode*node,structNode*head)if(node-next!=head)Delete_Node(node-next);node-next=NU

    15、LL;free(node);队列基本操作(入队,出队)循环队列类型定义#defineQueueSize100/应根据具体情况定义该值typedefcharDataType;/DataType的类型依赖于具体的应用typedefstructintfront;/头指针,队非空时指向队头元素intrear;/尾指针,队非空时指向队尾元素的下壹位置intcount;/计数器,记录队中元素总数DataTypedataQueueSize;CirQueue;voidInitQueue(CirQueue*Q)/初始化队列Q-front=0;Q-count=0;Q-rear=0;intQueueEmpty(Ci

    16、rQueue*Q)return(Q-count=0)intQueueFull(CirQueue*Q)return(Q-count=QueueSize);voidEnQueue(CirQueuq*Q,DataTypex)if(!QueueFull(CirQueue*Q)Q-dataQ-rear=x;Q-rear=(Q-rear+1)%QueueSize;Q-count+;elseerror(TheQueueisFull!now!n);DataTypeDeQueue(CirQueue*Q)DataTypetemp;if(QueueEmpty(Q)Error(Queueunderflow)/队空下溢

    17、temp=Q-dataQ-front;Q-count-;/队列元素个数减1Q-front=(Q-front+1)%QueueSize;/循环意义下的头指针加1returntemp;DataTypeQueueFront(CirQueue*Q)if(!QueueEmpty)returnQQ-front;elseerror(Queueisempty);栈基本操作(入栈,出栈)#defineDataTypeint#defineMAXSIZE1024typedefstructDataTypedataMAXSIZE;inttop;SeqStack;SeqStack*Init_SeqStack()/栈初始化

    18、SeqStack*p=(SeqStack*)malloc(sizeof(SeqStack);memset(p,NULL,sizeof(SeqStack);returnp;intEmpty_SeqStack(SeqStack*s)/判栈空return(s-top=0);intPush_SeqStack(SeqStack*s,DataTypex)/入栈if(s-topdatas-top=x;return1elsereturn0;intPop_SeqStack(SeqStack*s,DataType*x)/出栈if(s-top0)*x=s-datas-top;s-top-;return1;elser

    19、eturn0;DataTypeTop_SeqStack(SeqStack*s)/取栈顶元素if(s-top0)returns-datas-top;elseerror(Stackisempty);其他编写壹个自己的完全C语言版本的memset函数,且且评价这个实现的性能和可移植性。void*memset(void*source,intch,unsignedn);)char*p=(char*)source;assert(NULL!=source);while(n-)*p+=(char)c;returnsource;代码风格下面是壹个16x16的黑白图标:staticunsignedshortsto

    20、pwatch【】=0x07c6,0x1ff7,0x383b,0x600c,0x600c,0xc006,0xc006,0xdf06,0xc106,0xc106,0x610c,0x610c,0x3838,0x1ff0,0x07c0,0x0000,;如何修改声明,能够使之于源代码中形象地表现出图形的模样/C编程专家#defineX)*2+1#define_)*2#defines(0staticunsignedshortstopwatch=s_XXXXX_XX_,s_XXXXXXXXX_XXX,s_XXX_XXX_XX,s_XX_XXX_,s_XX_XXX_,sXX_XX_,sXX_XX_,sXX_X

    21、XXXX_XX_,sXX_X_XX_,sXX_X_XX_,s_XX_X_XX_,s_XX_X_XX_,s_XXX_XXX_,s_XXXXXXXXX_,s_XXXXX_,s_,;第三阶段Linux用户态开发5天左右熟悉Linux用户态开发的基本概念,通过编写壹些实验程序加深理解。用户态编程学习内容系统调用方式访问文件库函数访问文件时间编程进程原理进程控制程序设计进程间通讯管道信号共享内存消息队列信号量多线程程序设计socket编程(TCP,UDP)Linux用户态编程实验内容:编写应用程序,创建壹个可读可写的文件。程序名:CreateFile#include#include#include#in

    22、clude#includevoidcreate_file(char*filename)if(creat(filename,0755)0)printf(createfile%sfailure!n,filename);exit(EXIT_FAILURE);elseprintf(createfile%ssuccess!n,filename);intmain(intargc,char*argv)inti;if(argc2)perror(youhaventinputthefilename,pleasetryagain!n);exit(EXIT_FAILURE);for(i=1;iargc;i+)crea

    23、te_file(argvi);exit(EXIT_SUCCESS);执行命令:gccCreateFileoCreateFile./CreateFile使用库函数,实现文件拷贝的功能获取本地时间,以字符串方式显示编写壹应用程序,于程序中创建壹子进程,分别于父进程和子进程中打印进程ID使用vfork创建壹子进程,分别于父进程和子进程中打印进程ID,观察父子进程的运行顺序使用execl函数创建壹个文件编写壹应用程序,于程序中创建壹子进程,父进程需等待子进程运行结束后才能执行于父进程中创建壹个无名管道,且创建子进程来读该管道,父进程来写该管道启动A进程,创建壹有名管道,且向其写入壹些数据;启动B进程,从A创建的有名管道中读出数据于进程中为SIGBUS注册处理函数,且向该进程发送SIGBUS信号启动A进程,创建壹共享内存,且向其写入壹些数据;启动B进程,从A创建的共享内存中读出数据创建壹消息队列,实现向队列中存放数据和读取数据编写应用程序,创建壹线程,且向该线程处理函数传递壹结构编写应用程序,创建壹线程,父进程需要等待该线程结束后才能继续执行编写应用程序,创建壹线程,使用pthread_cl


    注意事项

    本文(培训体系培训资料.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开