西安工业大学
生产实习报告
生产实习单位至芯科技尚观科技
生产实习时间2015年5月4日至
2015年5月15日止
指导教师(单位)赵良成
指导教师(学校)张宁超
学生姓名王振东
学生学号120410113
一﹑生产实习目的
生产实习是电子信息工程专业以及其他任何专业十分重要的实践性教学环节,是培养学生实际动手能力和分析问题解决问题能力、理论与实践相结合的基本训练,同时也是学生毕业设计选题及设计工作原始资料的来源,为学生进行毕业设计打下扎实基础。认真抓好生产实习的教学工作,提高生产实习教学质量,是提高学生业务素质和思想素质的重要环节。
二、实习单位简介
本次生产实习分别有幸参加了北京至芯科技西安分部和北京尚观科技西安分部提供的生产实习机会与内容,以下为公司和业务简介。
北京至芯科技是一家专注于中国高新技术培训和传播的高科技服务机构,致力于FPGA,DSP,低功耗等电子类前沿技术的设计研究,应用和推广。公司拥有数十名在相关领域有着丰富开发经验和管理经验的专家,以及包括在xilinx,Altera,清华,北大,中科院等知名机构任职的专家顾问团队,服务于包括世界500强在内的知名公司及国内各大军工集团所属研究所、高等院校。
至芯FPGA创新中心作为公司旗下的培训专有品牌旨在成为国内最受欢迎的FPGA培训中心,为企业和个人提供全方位的技术服务,助力中国电子产业快速发展。
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA 上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用集成电路)的速度要慢,实现同样的功能比ASIC电路面积要大。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
尚观科技有限公司是高新技术企业,是多名技术高手发起的以高技术培训课程作为研发对象的公司,从公司创立至今,尚观体内一直流动着纯技术的血液,尚观的理念是“技术为王”。
尚观科技长期开发高端UNIX/Linux、嵌入式开发、Linux集群、Linux内核、POSIX开发、Oracle集群等课程及相关企业解决方案,并且将其当作企业命脉。尚观认为衡量培训价值的唯一标准就是学员的就业薪水,而保证就业薪水的唯一方式就是通过高质量的课程。
尚观科技在国内IT行业排名前三的城市-北京、上海、深圳建立了全资直属培训及就业中心,而这三个城市的IT就业薪水也是最高的,我们率先为学员将出路找好,才开始培训学员,学员的就业薪水就是衡量我们工作价值的标准,学员就业好,我们的口碑才好。经过长期的努力,凭借高品质的职业IT训练和毕业学员的良好口碑,公司已经成为51Job人力资源合作伙伴,CSDN人力资源合作伙伴。
Linux[2]操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并
通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux 操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
三﹑实习安排
第一周参加至芯科技FPGA简单编程及开发板下载实现所需要的器件逻辑功能,第二周参加尚观科技用嵌入式linux操作系统结合ARM11开发板,实现远程视频监控和报警功能。
四﹑实习内容
(一﹑至芯科技)
第一天上午,主要了解了至芯科技的简介及其公司业务,其次带领我们了解FPGA的发展历程及其未来发展前景,以及就业行情及要求。下午则由老师带领下,安装Quartus软件以及如何使用该软件,掌握FPGA设计从RTL设计、功能仿真、综合等,直到在FPGA开发板上进行下载验证的设计流程;然后让我们了解了让我们了解了FPGA工艺结构、特点及FPGA芯片选型策略、原则;使学员掌握FPGA设计流程,对FPGA设计有一个宏观认识。接着老师就用了一个简单的点亮LED灯的例子让我们学习了Verilog HDL的基本语法Modelsim、Debussy仿真调试工具、Synplify pro综合工具及FPGA开发系统
Quartus的使用方法及技巧,且在Quartus中集成调用Modelsim、Synplify等工具的方法;完成RTL设计的基础上,完整进行FPGA设计所有流程,掌握FPGA开发板下载、调试的方法和技巧。具体操作如下:建立新的工程项目,打开QuartusII软件,进入集成开发环境,点击FileNew projectwizard建立一个工程项目,输入工作目录和项目名称如下图一所示。
建立文本编辑文件:在软件主窗口单击file菜单后,单击new选项,选择VHDL 选项,单击OK进行文本编辑输入源程序,完成文本编辑后,点击保存,注意保存时的文件名要与实体名一致,否则编译时会出错。
编译工程项目:在Quartus II主页面下,选择ProcessingStart Compilation或点击工具栏上的按钮启动编译,直到出现“Full Compilation Report”对话框,点击OK即可。
对编辑的文本文件进行波形仿真:在软件主窗口右击fi工程名后,单击seting 选项,选择simulation。选好语言和文件后,单机tools,run simulation eda即可。
当然不同的芯片管脚定义也不相同,要根据要求定义。定义管脚与如下:
第二天,老师则主要带领通过一些简单的例子让我们多次练习达到熟练掌握Quartus的使用方法及技巧,学会编写程序语句和调试语句,并且还能通过编译检查出其中的错误,并修改,最终集成调用Modelsim仿真,并通过波形能够观察其逻辑是否正确,以达到二次检错的目的,这样才能下载到板子完成工作要求。
第三天,在前面两天的基础之上,当我们熟悉掌握了该软件及其附属功能后,老师开始带领我们由易到难地编写一些逻辑要求,比如点亮LED流水灯,先仅仅让我们编写简单点亮流水灯,老师给我们讲解了LED灯的点亮原理。
我们思考该如何编写其中的逻辑原理,才能正确的点亮流水灯。我们通过思考明白了其中电平高低导通原理,深刻地体会到其中及其严明的逻辑性,体会到了趣味性。最终在老师的讲解和带领下完成流水灯点亮,当程序顺利下载到板子上我们都很兴奋。
第四天,老师让我们在前一个例子的前提下实现花样流水灯,比如左或右循环点亮流水灯,其中用到了计数器,以达到延迟作用。老师首先示范性的带领我们编写了左循环延迟0.5S点亮流水灯程序,并细心的讲解了所需语句的功能以及之间如何钳接,讲述了寄存器语句与线性语句的区别,理解了计数器的计数原理,明白了virilog vhdl语言编写该程序其中的循环语句以及逻辑语句,这很大程度上提升了我的逻辑思维能力。最终经过编写调试,程序正确后,下载到板子果然实现延时左循环流水灯。然后老师让我们自己练习编程争取自己动手完成该实验,经过与组员的协调合作,多次修改调试仿真后顺利完成了实验。
第五天,老师又在前面实验的基础上增加了更大的难度,用计数器计数,动静态数码管显示数字,一如既往,老师耐心细心的讲解了数码管的显示原理。
了解原理后老师引导我们编写了原理程序和测试程序,老师提点了很多小技巧和知识点,让我们更好的理解了其中的逻辑性,经过很长的编程,测试仿真后通过波形分析得出达到了预期效果,下载到板子后实现了动态数码管显示实验。下午要做实习成果检测试验,老师布置了键控流水灯计数点亮题目,让我们独立思考后,独立编程仿真完成实验,再和组员探讨后,在前面实验的基础之上,组合编程,编译检测无误后仿真,通过波形基本无误后,下载到板子观察,顺利完成实验要求,并且很完美,老师检验并提问了其中语句知识和原理,我们也回答的完美。最终得到了很好的成绩。很感谢老师!
(二﹑尚观科技)
第一天,尚观科技就直接展示了我们要完成的实习成果,活生生地演示了,远程视频监控,让我们很震撼。其次他们就介绍了公司成长和理念,以及公司业务。其次让我们了解了他们嵌入式开发的主要内容,还了解了Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的[Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长,明白了世界上三大主流操作系统Uni x﹑Linux﹑Windows,之间的渊源和区别。宏观上拓宽了我们的知识层面。下午老师教我们如何安装Linux操作系统及其虚拟机Ubuntu,以及介绍了Arm11板子的功能及用途。然后教我们如何运行虚拟机ubuntu,以及在ubuntu中编写一些简单指令,比如:嵌入式ARM Linux 编程1.创建一个C语言源文件vi hello.c
2.点击i或者a键进入到插入模式
3.编写C语言程序
4.按退出键退出插入模式输入
:wq保存退出
:q 不保存退出
:q!不保存强制退出
5.在终端下使用ls查看C语言文件
6.gcc hello.c
7.执行编译好的程序.
嵌入式ARM Ubuntu 基本操作命令
1.创建文件
touch 1.txt
2.删除普通文件
rm 1.txt
3.创建文件夹
mkdir work
4.进入某个文件夹
cd work
5.退回到上级文件夹
cd ..
6.删除一个文件夹
rm -rf work
7.拷贝cp 源文件目的路径下面
8.拷贝目录cp 源文件夹目的路径下面-r
9.移动mv 源文件制定路径下面
10.更改文件的名字
mv 源文件名目的文件名
经过对以上指令和操作的练习和记忆我们基本掌握了在虚拟机ubuntu中的语句操作。
第二天,老师带领我们学习了嵌入式ARM Ubuntu 网络静态IP配置以及嵌入式ARM Ubuntu 网络动态IP配置,这样就让虚拟机和板子之间形成一致的网络协议,好为之后的操作做准备,及虚拟机和arm板之间传输数据和指令。嵌入式ARM Tftp 服务器的环境搭建,嵌入式ARM Tftp 服务器的检测,都是为之后,程序移植到ARM板子做准备。具体操作如下:
嵌入式ARM Ubuntu 网络静态IP配置命令
1.编辑网络服务配置文件:
sudo vi /etc/network/interfaces
2.在网络配置文件中添加内容:
auto eth0
iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
3.重启网络服务:
sudo /etc/init.d/networking restart
嵌入式ARM Ubuntu 网络动态IP配置命令
1.在网络配置文件中添加内容:
auto eth0
iface eth0 inet dhcp
2.重启网络服务:
sudo /etc/init.d/networking restart
嵌入式ARM Tftp 服务器的环境搭建
*tftp服务器是基于IP协议的服务器,必须先配置网络
1.安装tftpd服务器
sudo dpkg -i tftpd*.deb
2.修改配置文件
vi /etc/default/tftpd-hpa
3.将tftp服务器的配置文件修改为:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -l -c"
4.创建管理tftp服务器的文件夹
sudo mkdir /tftpboot
5.修改文件夹的权限
sudo chmod 777 /tftpboot
6.重启tftp服务器
sudo /etc/init.d/tftpd-hpa restart
嵌入式ARM Tftp 服务器的检测
1.建立tftp服务器的链接
tftp 192.168.1.200
2.上传文件到目的IP的/tftpboot下
>put 1.txt
3.从目的IP的/tftpboot下下载文件
>get 2.txt
4.退出tftp服务器
>q
嵌入式ARM Ftp 服务器的环境搭建
1.下载并安装服务器:
sudo dpkg -i nfs*.deb
2.打开配置文件:
sudo vi /etc/exports
3.末尾添加如下内容:/source/rootfs *(rw, sync, no_subtree_check)
4.建立制定的服务目录:
sudo mkdir /source
sudo mkdir /source/rootfs
sudo chmod 777 /source
sudo chmod 777 /source/rootfs
5.重启网络服务:
sudo /etc/init.d/nfs-kernel-server restart
嵌入式ARM Ftp 服务器的测试
1.在家目录下创建nfsdir
Cd
mkdir nfsdir
2.使用NFS服务(客户端挂载网盘):
sudo mount -t nfs 192.168.1.200:/source/rootfs ./nfsdir
3.观察发现家目录下的nfsdir里面的内容就是192.168.1.200IP地址下的/source/rootfs里面的内容
4.卸载网盘:
sudo umount /source/rootfs
第三天则是在前一天建立在tftp服务器、nfs服务器、IP配置完好的前提下,进行ARM Linux操作系统的移植准备和移植操作,然后再终端设备SD卡的协助下,将SD卡插入电脑中等待读卡器灯长亮,将u-boot烧写到SD卡中,将开发板设置为SD卡启动方式,插入SD卡启动开发板,并设置环境变量参数,烧写u-boot到板子内部存储器nandflash中,设置u-boot的环境变量参数,下载内核并挂载文件系统,重启开发板进入文件系统,重启后进入u-boot,敲入相关指令即完成了SD启动ARM板以及无需sd卡也能启动开发板。这一天任务相当繁重。操作如下:
嵌入式ARM Linux操作系统的移植准备
1.拷贝zImage、u-boot-nand.bin到/tftpboot下
2.拷贝rootfs-uplooking-qt.tar.gz到/source下
3.解压rootfs-uplooking-qt.tar.gz
tar zxvf rootfs-uplooking-qt.tar.gz
嵌入式ARM Linux操作系统QT的移植
1.将SD卡插入电脑中等待读卡器灯长亮
2.将u-boot烧写到SD卡中
./write_sd /dev/sdb u-boot-movi.bin
3.将开发板设置为SD卡启动方式
4.插入SD卡启动开发板,并设置环境变量参数
setenv ipaddr 192.168.1.100
setenv serverip 192.168.1.200
setenv gatewayip 192.168.1.1
setenv bootargs "root=nfs nfsroot=192.168.1.200:/source/rootfs init=/linuxrc console=ttySAC0,115200"
saveenv
5.烧写u-boot到nandflash中
tftp 50008000 u-boot-nand.bin
nand scrub
nand erase
nand write 50008000 0 40000
6.将开发板设置为nandflash启动
7.设置u-boot的环境变量参数
setenv serverip 192.168.1.200
tftp 50008000 u-boot-nand.bin
nand erase 0 40000
nand write 50008000 0 40000
8.下载内核并挂载文件系统
setenv ipaddr 192.168.1.100
setenv serverip 192.168.1.200
setenv gatewayip 192.168.1.1
setenv bootargs "root=nfs nfsroot=192.168.1.200:/source/rootfs init=/linuxrc console=ttySAC0,115200"
tftp 50008000 zImage
bootm 50008000
9.下载内核并启动内核
tftp 50008000 zImage
nand erase 40000 3c0000
nand write 50008000 40000 3c0000
10.重启开发板进入文件系统后
./bin/Writerootfs
11.重启后进入u-boot
setenv bootargs "root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,115200"
第四天接着之前的工作,开始着手,摄像头与Arm板之间的铅接工作,即就是嵌入式ARM Linux交叉工具编译链的移植,将虚拟机和板子摄像头通过网络协,连接起来,这样摄像头采集的图像以帧的方式,传输给虚拟机,然后动态地显示出来,达到远程监控的目的。剩余两天实训的目的就是完善这个工程。操作如下:
1.拷贝arm-none-linux-gnueabi.tar.bz2拷贝到家目录下
2.解压arm-none-linux-gnueabi.tar.bz2
tar jxvf arm-none-linux-gnueabi.tar.bz2
3.打开环境变量配置文件
sudo vi /etc/bash.bashrc
4.在末尾添加如下内容
export PATH=$PATH:/home/linux/arm-none-linux-gnueabi/bin
5.重启配置文件
source /etc/bash.bashrc
6.工具链的测试
arm-none-linux-gnueabi-gcc -v
7.如果现象如下则表示安装成功
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld
--enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://https://www.doczj.com/doc/b617812645.html,/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery
--with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc
--with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnue abi/libc
--with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-li nux-gnueabi-i686-pc-linux-gnu/usr
--with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-li nux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories
--with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gn ueabi/bin
--with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gn ueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
第五天主要是后期完善远程监控和报警器,实现这一工程当板子的摄像头采集到的图像有异常时,就会报警,并在虚拟机上,可远程控制摄像头的开关,报警器的开闭等一系列操作,我个人认为,该项技术蛮具市场影响力的。操作如下:嵌入式ARM Boa网络服务器的移植
1.解压Boa服务器源码
tar xvf boa-0.94.13.tar.tar
cd boa-0.94.13
2.进入src/
./configure 生成Makefile
修改Makefile
修改CC =gcc 为CC =arm-none-linux-gnueabi-gcc
修改CPP =gcc -E 为CPP =arm-none-linux-gnueabi-gcc –E 3.make编译
编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。
yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex 和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。
4.安装Lex和YACC
sudo dpkg -i bison.deb
sudo dpkg -i flex.deb
5.修改src/compat.h
找到#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
6.修改src/log.c
注释掉if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}为:
/*if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}*
7.修改src/boa.c
注释掉if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE(”initgroups”);
} 为
#if 0
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE(”initgroups”);
}
#endif
注释掉if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
为
#if 0
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
#endif
执行make
二、Boa服务器配置
1、创建目录
mkdir /source/rootfs/etc/boa
2、将boa源码目录下的boa.conf拷贝到/source/rootfs/etc/boa目录下
cp boa.conf /source/rootfs/etc/boa
3、修改配置文件boa.conf
vim /source/rootfs/etc/boa
(1)Group的修改
修改Group nogroup
为Group 0
(2)user的修改
修改User nobody
为User 0
(3)ScriptAlias的修改
修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
为ScriptAlias /cgi-bin/ /www/cgi-bin/
(4)DocumentRoot的修改
修改DocumentRoot /var/www
为DocumentRoot /www
(5)ServerName的设置
修改#ServerName https://www.doczj.com/doc/b617812645.html,.here
为ServerName https://www.doczj.com/doc/b617812645.html,.here
否则会出现错误“gethostbyname::No such file or directory”
(6)AccessLog修改
修改AccessLog /var/log/boa/access_log
为#AccessLog /var/log/boa/access_log
(7)以下配置和boa.conf的配置有关,都是在ARM根文件系统中创建
以下步骤在开发板上进行:
创建HTML文档的主目录/www
mkdir /www
创建CGI脚本所在录/www/cgi-bin
mkdir /www/cgi-bin
当不能使用cgi 时
将#AddType application/x-httpd-cgi cgi改为AddType application/x-httpd-cgi cgi
boa器测试
将boa拷贝到开发板根文件系统的/etc/boa下
#cp src/boa /source/rootfs/etc/boa
将ubuntu下/etc/mime.types拷贝到开发板根文件系统的/etc下
#cp /etc/mime.types /source/rootfs/etc
将你的主页index.html拷贝到www目录下
(8)运行boa,然后在主机游览器输入开发板网址
[root@uplooking boa]# ./boa
[30/10/2011:19:10:36 +0000] [root@uplooking boa]# boa: server version Boa/0.94.13
[30/10/2011:19:10:36 +0000] boa: server built 10 30 2011 at 19:10:36
[30/10/2011:19:10:36 +0000] boa: starting server pid=968, port 80 下午则是检验我们五天成果的时刻,老师说让我们进行一次面试一样“严厉的”结业答辩,我们组竟然是第一组,老师然我们,考虑一会便开始答辩,就自我介绍,实习感受,所学内容汇总做以回答,最后有我的伙伴发言,详细叙述了,自己的见解和感受,得到了老师的认可,当然有很多同学的回答非常的专业和精彩。最后大家在掌声中结束了两周的实训,告别老师和同期学员,非常感谢大家!五﹑实习心得
本次实训虽然是在校内参加,由企业内部人教授和检验,但是任然感受到了,企业实训和平日校内学习和做实验的截然不同之处,总感觉自己书本上学到的知识完全与企业要求所要掌握的知识完全不挂钩。会产生一种大学不必上的情绪,还不如直接到他们公司培训几个月,拿个证书,便能找到一份不错的工作。其实不然,我个人认为,上大学本身没有不妥之处,大学就是个学习成长的乐园,每个人在这四年中都会有所成长,无论是知识层面和是精神层面,都会有翻天覆地的改变。不好之处则在于长期以来的应试教育磨灭了我们本身对于知识的敏感度和好奇度,以致一味的为考试而学习,为成绩而拼命,最终导致没能活学活用所学知识,更谈不上创新。
经过实训,真是体验到企业的所需才明白,自己的不足之处,可以说本次实训起到了检验和查漏的目的,更让我们了解到自己是不是一个术业有专攻的人,很直白的表明自己真的适合该职业吗?自己真的有能力在以后的工作中能否干出一片天地,以及自己的兴趣真的在该专业上吗?一系列的疑问过后,该深刻的反思自己当今所处的位置,所具备的素质和能力,为自己以后的事业做一番长远的打算。
实训对我来说,最深的感触在于,要成为IT行业的一员,要具备很多技能。首先要有很强的逻辑思维能力和很丰富创新能力,其次要熟练C++或者C语言,还要有很强的兴趣,这样才有动力和创造力,编出很好、很具活力、很富创新的程序。
经过实训才明白了,自己所学专业未来的发展前景和就业前景,这样我们也对自己未来有一定的把握。这样在经后的学习生活中才能把握重点,更有效利用自己所剩不多的大学时光,获得更多的技能,为以后的工作打下坚实的基础。
虽然本次实训很短暂,可能并不能一下子就让我们掌握那么多的知识,但至少算是开胃菜吧!在实训中,我还是学到了很多,可能不是具体的某个程序或者技巧,但让我很深刻的是老师们展示给我们的待人接物,为人处世的应变能力,在考察环节,很多同学都能侃侃而谈,无所畏惧,而我感觉自己还差很多。在以后的工作生活中都要与人打交道,如果没有过人交际能力,那么很难在在社会上立足。对人要有耐心和爱心,老师们做得很好,我们都切身体会到了,自己在这方面还得更加努力向老师学。
未来很难,我们必须努力!!