实习报告苏嵌

上传人:s9****2 文档编号:379152474 上传时间:2024-01-30 格式:DOC 页数:11 大小:78.50KB
返回 下载 相关 举报
实习报告苏嵌_第1页
第1页 / 共11页
实习报告苏嵌_第2页
第2页 / 共11页
实习报告苏嵌_第3页
第3页 / 共11页
实习报告苏嵌_第4页
第4页 / 共11页
实习报告苏嵌_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《实习报告苏嵌》由会员分享,可在线阅读,更多相关《实习报告苏嵌(11页珍藏版)》请在金锄头文库上搜索。

1、鱼陂科扶學院11学生实习报告实习名称专业生产实习嵌入式平台开发院部名称电子信息工程学院专业 电子信息工程班级学生姓名学号实习地点指导教师实习起止时间:年月日至年月曰金陵科技学院教务处制.、八、一前言嵌入式作为现今的热门领域,涵盖了微电子技术 , 信息电子信息技术计算机 软件和硬件等多项技术领域的应用计算机软件和硬件等多项技术领域的应用计 算机软件和硬件等多项技术领域的应用计算机软件和硬件等多项技术领域的应 用。大到航空航天石油化工能源控制核电站以及机器人系统核电站以及机器人系 统核电站 , 小到日常使用的智能手机数字电视掌上电脑,嵌入式技术正在我们的 生活中占据着越来越重要的地位中 .业内人士

2、认为, 目前嵌入式行业至少存在 30-50 万的人才缺口, 仅北京市场 嵌入式软件开发人员的需求就已经超过了 5万人,而且还在持续增加, 这主要有 两方面的原因: 一是与目前我们高校的专业设置有关, 我国高校的计算机教育普 遍以应用软件为主, 很少涉及嵌入式软件的课程, 因此企业很难招聘到马上可以 投入嵌入式软件开发的实战型人才; 二是嵌入式领域门槛相对较高, 知识要求比 较全面,而且需要一定的实验环境 (开发板和工具软件) 和有经验的人进行指导。江苏嵌入式软件公共技术中心 (简称苏嵌 ) ,是面向全社会开展嵌入式技术系 列培训课程的专业服务机构,座落于南京工业大学国家科技园,由国内外知名 I

3、T 企业机构、江苏省软件行业协会、南京工业大学等知名院校负责协助实施。 得到了江苏省电子协会、 江苏省高等学校教育技术研究会等大力支持。 目前已经 成长为华东地区规模最大,最具专业的嵌入式教育培训机构苏嵌拥有核心技术人员博士以上学历 12 人,硕士学历近 20人,同时汇聚了 30 多名来自于南大、东大、中兴等科研院校的一线研发主力作为专家师资团队, 聘请了龙芯、Redhat、中兴、华为、电信、ARM等各大公司的技术负责人和项目 经理作为中心的技术顾问。嵌入式技术凝聚了计算机和信息技术的精华, 嵌入式技术人才是具备透视计 算机和信息技术奥秘的高级专业人才。 作为江苏较早开展嵌入式技术教育的研究

4、机构,苏嵌将嵌入式技术人才的培养做为自己的终身事业, 把最新的技术发展和 行业需求结合起来, 为广大学员提供最完善、 最有效的技术咨询和培训服务。 凭 着多年的技术积累和教学经验, 凭着雄厚的师资、 优越的课程体系和严格的教学 管理,苏嵌正成为江苏嵌入式技术高级专业人才的摇篮。一、实习目的1、巩固在书本上学到的理论知识, 生产实习是作为本学科的一门实践性 的课程,将理论知识与实践生产相结合,加深对理论知识的理解。2、获得在书本上不易了解和不易学到的生产现场的实际知识, 培养发现 问题解决问题的能力,使之在实践中得到提高和锻炼。二、实习时间四周,共计二十六天时间 实习内容嵌入式开发概述及开发工具

5、的使用7月2日嵌入式开发脚本 -shell 编程7月 3日 实验:开发工具使用, shell 编程实验7月4日 嵌入式C语言高级开发讲解7月5日实验:嵌入式C语言开发实训编程7月6日 嵌入式C语言高级开发讲解7 月 7 日作业:完成 train1 、 train27 月 8 日作业:完成 train4 、 train57 月 9 日 考试:第一阶段考试嵌入式 Linux 文件编程7 月 10 日嵌入式 Linux 进程控制编程7 月 11 日 实验:嵌入式 Linux 文件编程与进程控制实训编程嵌入式 Linux 多线程编程7 月 12 日嵌入式 Linux 网络编程7 月 13 日 实验:嵌

6、入式 Linux 多线程编程与网络实训编程7 月 14日 作业:编程实现服务器 - 客户端通信7 月 15日 作业:编程实现客户端 - 服务器-客户端聊天室7月16日 嵌入式 GUI-QT7月17日实验:嵌入式GUI-QT实训开发7月18日嵌入式ARM程7月19日 实验:嵌入式ARM裸机实训开发7月20日嵌入式ARM程7月23日实验:嵌入式ARMS机实训开发7 月 24 日 嵌入式开发平台的搭建及测试7月25日实验:嵌入式ARMS机实训开发嵌入式 Linux 驱动开发7 月 26 日 嵌入式项目开发流程介绍7 月 27日 考试:最后阶段考试三、实习地点金陵科技学院江宁校区工科楼 C510四、实

7、习单位江苏嵌入式软件公共技术中心五、实习内容1 、安装 Linux :在PC机中安装Vmware 6.0,再装入Linux镜像并安装。2、练习 Linux 相关命令:gedit、vim打开文本编译器,文件不存在时新建文件tar - xvzf解压压缩文件tar - cvzf压缩文件cp 复制文件mv 剪切文件,可重命名,可隐藏文件mkdir 创建文件夹touch 创建不打开文件文件cat 查看文件内容ls 查看当前目录下内容chmod 加减文件属性, w/4 , r/2 , x/1VI 三种模式:命令行模式:ESC键插入模式: A 或 I 键 底行模式: shift + : w 保存 q 退出

8、yy 复制 p 粘贴 delete 删除语句 ./ 文件名 执行 gcc 编译 rm删除文件rm - f强制删除文件3、编译器 gcc源程序- 预处理 -编译-汇编-链接-可执行文件 预处理:头文件展开、宏替换 编译:将 .C 文件编译成 .O 文件 gcc -o 编译中 链接成可执行文件,默认 a.out gcc -c 编译中 预处理、编译、汇编,生成 .o 目标文件 gcc - e编译中预处理,生成.i文件 gcc - wall编译后生成所有的警告信息gcc - static 连接时装载静态链接库文件,生成.a文件gcc - O对程序优化编译、链接,整个源代码会在这过程中进行优化处理gcc

9、 - g产生调试工具gdb4、静态库与动态库动态库只有在使用其程序执行时才被链接使用, 而不是将需要的部分直 接编译进可执行文件中, 并且一个动态库可以被多个程序使用, 可称为共享 库;静态库将会整合到程序中,在程序执行时不用加载静态库。从而可知,连接到静态库会使得程序臃肿, 并难以升级, 但可能会比较容易部署。 而链接到动态库会使得程序轻便易于升级,但难以部署5、创建静态库并使用静态库gcc - c源文件.car rcs 目标文件 1 目标文件 2gcc O file file.c L. -In ame6、调试器 gdbgdb是GNU发布的一款功能强大的程序调试工具gdb 主要完成下面三个方

10、面的功能:1) 、启动被调试程序2) 、让被调试的程序在指定的位置停住3) 、当程序被停住时,可以检查程序状态 - 变量值 run(r) 开始运行程序next(n) 单步运行程序 ( 不进入子程序 ) step(s) 单步运行程序 ( 进入子程序 ) conutinue(c) 继续运行程序 print(p) 变量名 查看指定变量值 finish 运行程序 直到当前函数结束 watch 变量名 对指定变量进行监控 quit(q) 退出 gdb7、工程管理器 make工程管理器 顾名思义,是指管理较多的文件 make工程管理器也就是 个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动

11、妨 碍西安更新过的文件而减少编译的工作量,同时,它通过读入 makefile 文件的内容来执行大量的编译工作。makefile是make读入的唯一配置文件。一个makefile中常包含如下内容:A,需有make工具创建的目标体(target),通常是目标文件或可执行文件;B ,要创建的目标体所依赖的文件。makefile 格式: target:depend_files command 运行 comman命令创建 目标体 target , target 依赖于文件:depend_files在 makefile 中,规则的顺序是很重要的,因为, makefile 中只应该 有一个最终目标,其它的目

12、标都是被这个目标所连带出来的,所以一定要 让make知道你的最终目标是什么。一般来说,定义在makefie中的目标可 能会有很多,但是第一条规则重点目标将被确立为最终的目标。makefile 中把那些没有任何依赖只有执行冬菇总的目标称为“伪目标” 例:.PHONY:cleanclean:rm - f hello main.o funcl.o func2.o“.PHONY将“clean ”目标声明为伪目标8、C基础1 )基本数据类型类型标识符名字取值范围char字符型ASCII 字符代unsigned char无符号字符型0 至 255signed char有符号字符型-27 27-1int整型

13、-231 231-1unsigned int无符号整型0 2X6-1signed int有符号整型同 intfloat浮点10A-3810A38double双精度型10A-3810A382)移植性在嵌入式开发中,考虑到代码的移植性,对于有符号( signed )与无符号 (unsigned) 一定要留心系统默认的是无符号还是有符号; 为了解决此问题,通常使用 typedef 来重新指定声明无符号还是有符号; typedef int sig_int;typedef unsigned int un_int;3)声明与定义 定义:创建一个变量,为其分配内存空间,并为它取名字(变量名) ,一个 变量只

14、能定义一次;声明:告知编译器,这个名字(变量名)已经匹配在一块内存上了,但是 并未为其分配内存;4)关键字register :请求编译器尽可能地将变量存在CPU内部寄存器中;使用注意:register修饰变量的类型必须是CPL所接受的;register 变量可能不是在内存中存储,所以不能使用 &来获取变量的地址static:全局静态变量:作用范围局限于它的源文件,即只有本文件内的代码才可以访问它,变量名在其他文件内不可见局部静态变量:局限于特定函数,但出作用域并不释放,在函数体内的静 态变量的值也能够维持静态函数:作用范围仅限于它的源文件,即只有本文件内才能够调用,函数名在其他文件不可见存放位

15、置:程序开始时,存放在全局数据区,结束时释放空间,默认初始化值是 0,使用时可改变其值;const:constconst 给读代码的人传达非常有用的信息。比如一个函数的参数是 char * ,你在调用这个函数时就可以放心地传给它 char * 或 const char * 指针,而不必担心指针所指的内存单元被改写。尽可能多地使用 const 限定符,把不该变的都声明成只读,这样可以依靠 编译器检查程序中的Bug,防止意外改写数据。const 对编译器优化是一个有用的提示,编译器也许会把 const 变量优化 成常量volatile 的作用 : 不会在两个操作之间把 volatile 变量缓存存在寄存器中 不做常量合并、常量传播等优化 对 volatile 变量的读写不会被优化掉 使用 volatile 的情况: 中断服务程序中

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号