嵌入式系统实习报告
学 院:电气信息工程学院
班 级:XX
学 号:XX
实习日期:3013.6.24-2013.7.5
指导教师: XX
目录
1. 嵌入式系统开发与应用概述…………………3
2. 实习设备………………………………………3
3. 实习目的………………………………………4
4. 实习要求………………………………………4
5. 实习步骤………………………………………5
6. 实习体会………………………………………9
7. 参考文献………………………………………9
一、嵌入式系统开发与应用概述
在今日,嵌入式ARM 技术已经成为了一门比较热门的学科,无论是在电子类的什么领域,你都可以看到嵌入式ARM 的影子。如果你还停留在单片机级别的学习,那么实际上你已经落下时代脚步了,ARM 嵌入式技术正以几何的倍数高速发展,它几乎渗透到了几乎你所想到的领域。以嵌入式计算机为技术核心的嵌入式系统是继网络技术之后,又一个IT领域新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突出特征, 目前已经广泛地应用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。嵌入式的广泛应用可以说是无所不在。
嵌入式微处理器技术的基础是通用计算机技术。现在许多嵌入式处理器也是从早期的PC 机的应用发展演化过来的。在应用中,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。
二、实习设备
硬件:Embest EduKit-IV实验平台、ULINK2仿真器套件、PC机
软件:μVision IDE for ARM集成开发环境、Windows 98/2000/NT/XP
三、实习目的
1.初步掌握液晶屏的使用;掌握S3C2410X处理器的LCD控制器的使用;
掌握通过任务调用的方法把液晶显示函数添加到uC/OS-II中;
通过实验掌握液晶显示文本及图形的方法与程序设计。
2. 掌握有关音频处理的基础知识;通过实验了解IIS音频接口的工作原理。
3.了解μC/OS-II移植条件和内核基本结构;
掌握将μC/OS-II内核移植到ARM9处理器上的方法和步骤。
四、实习要求
通过对μC/OS-II移植实验、μC/OS-II LCD显示实验、IIS音频实验的学习,逐步将各部分内容合并,最终得出实习结果。
实习要求在液晶显示屏上循环显示学生的信息。学生信息包括显示每个人的照片、姓名、系别、学号及声音。能力允许的情况下要求能够用通过键盘选择,显示相应学生的信息。
移植μC/OS-II内核到ARM处理器S3C2410,在IDE中观察其运行状况编写S3C2410X处理器的串口通信程序;监视串行口UART1动作;将从UART1接收到的字符串回送显示。将从UART1接收到的字符串回送显示。
五、实习过程
1. 实习准备
实习任务下达之后,首先是对各个单独的功能程序的分析和初步了解。在初步分析后,小组决定使用3.7_uCOS_all_test实验程序作为整个实验任务的主题框架,并逐步将其他的功能函数融合进来。
在确定了整体的方向后,下一步便是对学生信息的采集,主要是图像和声音。通过手机和PC机顺利的完成了信息采集。但采集来的信息并不能直接使用,需将其转换成相应的机器能够识别的数字信息。在老师提供的软件和同学提供的帮助下,实习所需的信息整体已准备完毕。
2.功能函数植入
因为使用了3.7_uCOS_all_test实验程序,所以在实现图片及学生信息显示时并未遇到太多问题。
主要的难点就在声音的实现程序7.3_IIS_Test的植入上。首先需将其最主要的文件iis_test.c文件加入工程中,其次就是各种头文件。但因为其本身带来的文件与工程中已有文件重名,故而一些文件添加不了,导致函数无法构建。之后只得将一些语句单独粘贴到对应的文件中,这个过程非常繁复和枯燥,且中间不停的出现各种变量未定义的情况。所幸的是后来都意义解决了,也最终能够在软件中构建成功了。
3.函数分析
主程序部分:
int main()
{
sys_init();
// Initial s3c2410's Clock,Interrupt,Port and UART
// iis_test();
// iis_play_wave(int nTimes,UINT8T *pWavFile, int nSoundLen);
while(1)
{
color_lcd_test();
}
}
图片图片更新部分:
全屏刷新:
void BitmapViewTft16Bit_800480(UINT8T *pBuffer)
{
UINT32T i, j;
UINT32T *pView = (UINT32T*)frameBuffer16BitTft800480;
for (i = 0; i < LCD_YSIZE_TFT_800480; i++)
{
for (j = 0; j < LCD_XSIZE_TFT_800480/2 ; j++)
{
pView[j] = ((*(pBuffer+1)) << 24) + ((*(pBuffer)) << 16) + ((*(pBuffer+3)) << 8) + (*(pBuffer+2));
pBuffer += 4;
}
pView+=LCD_XSIZE_TFT_800480;
}
}
小图片局部刷新:
void liuyuelin(UINT8T *pBuffer,UINT8T x,UINT8T y)
{
UINT32T i, j;
UINT32T *pView = (UINT32T*)frameBuffer16BitTft800480;
pView+=800*y+x;
pBuffer+=6;
for (i = 0; i < 320; i++)
{
for (j = 0; j < 240/2 ; j++)
{
pView[j] = ((*(pBuffer+1)) << 24) + ((*(pBuffer)) << 16) + ((*(pBuffer+3)) << 8) + (*(pBuffer+2));
pBuffer += 4;
}
pView+=LCD_XSIZE_TFT_800480;
}
}
这段程序是在原有程序的基础上改写的,重点改写的是Task2和Task3。
将Task2中的图片显示换成采集到的学生信息,又通过调用Lcd_DspHz24()和Lcd_DspAscII8x16()函数来实现在液晶屏上显示汉字和数字。这两个函数的调用比较容易只需要给出列坐标、行坐标、颜色、内容即可在液晶屏上实现理想结果。lcd_clr_rect()函数主要实现的是将给定区域填充为一种颜色,当然本任务中将其填充为白色,则实现了清屏的功能。因为其刷新缓慢,故弃之不用。
通过使用Embest EduKit-IV实验板的彩色液晶屏(800*480)进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写任务函数在uC/OS-II系统中实现位图显示。在uC/OS-II中建立五个任务Tast1和Tast2,其中Tast1顺序熄灭四个LED,延迟一会在顺序点亮四个LED。Tast2在LCD屏幕上循环显示三幅图片,并打印一些文字信息和背景音乐。过使用Embest EduKit-III实验板的256 色彩色液晶屏(320x240)进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写程序实现:画出多个矩形框;显示ASCII字符;显示汉字字符;显示彩色位图。
使用ULINK2仿真器连接Embest EduKit-IV实验平台的主板JTAG接口;使用Embest EduKit-IV实验平台附带的交叉串口线,连接实验平台主板上的COM2和PC机的串口(一般PC只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买USB转串口适配器扩充);使用Embest EduKit-IV实验平台附带的电源适配器,连接实验平台主板上的电源接口。
2. 串口接收设置
在PC机上运行windows自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的PC串口硬件不同,请自行选择,如果PC机只有一个串口,一般是COM1)
3. 打开实验例程
1)打开实验程序
2)运行μVision IDE for ARM软件
3)默认打开的工程在源码编辑窗口会显示实验例程的说明文件readme.txt,详细阅读并理解实验内容。
4)工程提供了两种运行方式:一是下载到SDRAM中调试运行,二是固化到Nor Flash中运行。用户可以在工具栏Select Target下拉框中选择在RAM中调试运行还是固化Flash中运行。下面实验将介绍下载到SDRAM中调试运行,所以我们在Select Target下拉框中选择UART_Test IN RAM。
5)接下来开始编译链接工程,在菜单栏“Projiet”选择“Build target”或者“Rebuild all target files”编译整个工程。
6编译完成后,在输出窗口可以看到编译提示信息,比如“".\SDRAM\UART_Test.axf" - 0 Error(s), 1 Warning(s).”,如果显示“0 Error(s)”即表示编译成功。
7)拨动实验平台电源开关,给实验平台上电,单击菜单栏Debug->Start/Stop Debug Session项将编译出来的映像文件下载到SDRAM中,或者单击工具栏“”按钮来下载。
8)下载完成后,单击菜单栏Debug->Run项运行程序,或者单击工具栏“”按钮来全速运行程序。用户也可以使用进行单步调试程序。
9)全速运行后,用户可以在超级终端看到程序运行的信息。
10)用户可以Stop程序运行,使用μVision IDE for ARM的一些调试窗口跟踪查看程序运行的信息。 注:如果在第4)步用户选择在Flash中运行,则编译链接成功后,单击菜单栏Flash->Download项将程序固化到NorFlash中,从实验平台的主板拔出JTAG线,给实验平台重新上电,程序将自动运行。
部分程序图:
工程文件总揽
串口通信实验:
六、实习体会
通过两周的嵌入式实习,使我对嵌入式这门课有了更深的了解,也学到了很多,也提高了我的动手能力。也让我们对这学科有了更一步的了解,以前我们学习的只是课本知识,没有动手的机会,我喜欢编程软件,喜欢专研,喜欢在错误中寻找对的道路。
及时在实习中会涉及到一个很现实的问题,如我们怎么把LCD图片文件或者IIS声音文件转换成.C文件,这也是我们实习的中心问题,之后通过Image2Lcd V1.1软件和转换IIS声音文件的工具ProcBmp.exe来解决这个问题,我在转码过程中遇到很多问题,比如图片大小不合适,造成转码不成功,图片显示不对,声音文件过大,声音输出不成功等,经过一次次的失败,一次次的尝试,在慢慢的摸索中一点点向目的靠近,最终在老师和同学们的帮助下与组员合作完成实习。
我很享受失败后成功的那份喜悦,我很珍惜。感谢这次实习,让我明白专业知识的同时选择了自己未来的道路。
七、参考文献
《ARM9嵌入式系统设计与开发应用》熊茂华、杨震伦编著 清华大学出版社
《ARM9嵌入式系统设计与开发教程》于明编著 电子工业出版社
《Linux嵌入式系统教程》马忠梅 北京航空航天大学出版社
嵌入式系统实习报告
课程名称: 嵌入式系统设计
学 院:电气信息工程学院
班 级:通信工程07 -2班
姓 名: 陈 俊 如
学 号: 2 号
指导教师: 山传文
目录
1. 嵌入式系统开发与应用概述???????3
2. 实习设备???????????????3
3. 实习目的???????????????4
4. 实习要求???????????????4
5. 实习步骤???????????????5
6. 实习体会???????????????9
7. 参考文献???????????????9
2
一、嵌入式系统开发与应用概述
在今日,嵌入式ARM 技术已经成为了一门比较热门的学科,无论是在电子类的什么领域,你都可以看到嵌入式ARM 的影子。如果你还停留在单片机级别的学习,那么实际上你已经落下时代脚步了,ARM 嵌入式技术正以几何的倍数高速发展,它几乎渗透到了几乎你所想到的领域。本章节就是将你领入ARM 的学习大门,开始嵌入式开发之旅。以嵌入式计算机为技术核心的嵌入式系统是继网络技术之后,又一个IT领域新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突出特征, 目前已经广泛地应用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。嵌入式的广泛应用可以说是无所不在。
嵌入式微处理器技术的基础是通用计算机技术。现在许多嵌入式处理器也是从早期的PC 机的应用发展演化过来的,如早期PC 诸如TRS-80、Apple II 和所用的Z80 和6502 处理器,至今仍为低 端的嵌入式应用。在应用中,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期实际的嵌入式应用中,芯片选择时往往以某一种微处理器内核为核心,在芯片内部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口总线及总线控制逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A 等各种必要的功能和外设。
二、实习设备
硬件:Embest EduKit-IV实验平台、ULINK2仿真器套件、PC机 软件:μVision IDE for ARM集成开发环境、Windows 98/2000/NT/XP
3
三、实习目的
1.初步掌握液晶屏的使用及其电路设计方法;掌握S3C2410X处理器的LCD控制器的使用;掌握通过任务调用的方法把液晶显示函数添加到uC/OS-II中;通过实验掌握液晶显示文本及图形的方法与程序设计。
2.了解S3C2410X处理器UART相关控制寄存器的使用; 熟悉ARM处理器系统硬件电路中UART接口的设计方法:掌握ARM处理器串行通信的软件编程方法。
3.掌握有关音频处理的基础知识;通过实验了解IIS音频接口的工作原理;通过实验掌握对处理器S3C2410X中IIS模块电路的控制方法;通过实验掌握对常用IIS接口音频芯片的控制方法。
4.了解μC/OS-II移植条件和内核基本结构;掌握将μC/OS-II内核移植到ARM9处理器上的方法和步骤。
四、实习要求
通过对μC/OS-II移植实验、μC/OS-II LCD显示实验、串口通信实验、IIS音频实验、液晶显示实验的学习,并将各部分内容合并,最终得出实习结果,实习要求在键盘上输入学号,在液晶显示屏上显示相应的学生信息。学生信息包括显示每个人的照片和姓名系别等,并用键控设置学生输出的顺序,输入学号就显示那个学生的信息,然后过一段时间就顺序循环播放。
移植μC/OS-II内核到ARM处理器S3C2410,在IDE中观察其运行状况编写S3C2410X处理器的串口通信程序;监视串行口UART1动作;将从UART1接收到的字符串回送显示。将从UART1接收到的字符串回送显示。
通过使用Embest EduKit-IV实验板的彩色液晶屏(800*480)进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写任务函数在uC/OS-II系统中实现位图显示。在uC/OS-II中建立五个任务Tast1和Tast2,其中Tast1顺序熄灭四个LED,延迟一会在顺序点亮四个LED。Tast2在LCD屏幕上循环显示三幅图片,并打印一些文字信息和背景音乐。过使用Embest EduKit-III实验板的256 色彩色液晶屏(320x240)进行电路设计,掌握液晶屏作为人机接口界面的 4
设计方法,并编写程序实现:画出多个矩形框;显示ASCII字符;显示汉字字符;显示彩色位图。
五、实习步骤
1. 准备实验环境
使用ULINK2仿真器连接Embest EduKit-IV实验平台的主板JTAG接口;使用Embest EduKit-IV实验平台附带的交叉串口线,连接实验平台主板上的COM2和PC机的串口(一般PC只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买USB转串口适配器扩充);使用Embest EduKit-IV实验平台附带的电源适配器,连接实验平台主板上的电源接口。
2. 串口接收设置
在PC机上运行windows自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的PC串口硬件不同,请自行选择,如果PC机只有一个串口,一般是COM1)
3. 打开实验例程
1)打开实验程序
2)运行μVision IDE for ARM软件
3)默认打开的工程在源码编辑窗口会显示实验例程的说明文件readme.txt,详细阅读并理解实验内容。
4)工程提供了两种运行方式:一是下载到SDRAM中调试运行,二是固化到Nor Flash中运行。用户可以在工具栏Select Target下拉框中选择在RAM中调试运行还是固化Flash中运行。下面实验将介绍下载到SDRAM中调试运行,所以我们在Select Target下拉框中选择UART_Test IN RAM。
5)接下来开始编译链接工程,在菜单栏“Projiet”选择“Build target”或者“Rebuild all target files”编译整个工程。
5
6编译完成后,在输出窗口可以看到编译提示信息,比如“".\SDRAM\UART_Test.axf" - 0 Error(s), 1 Warning(s).”,如果显示“0 Error(s)”即表示编译成功。
7)拨动实验平台电源开关,给实验平台上电,单击菜单栏Debug->Start/Stop Debug Session项将编译出来的映像文件下载到SDRAM中,或者单击工具栏“”按钮来下载。
8)下载完成后,单击菜单栏Debug->Run项运行程序,或者单击工具栏“”按钮来全速运行程序。用户也可以使用进行单步调试程序。
9)全速运行后,用户可以在超级终端看到程序运行的信息。
10)用户可以Stop程序运行,使用μVision IDE for ARM的一些调试窗口跟踪查看程序运行的信息。 注:如果在第4)步用户选择在Flash中运行,则编译链接成功后,单击菜单栏Flash->Download项将程序固化到NorFlash中,从实验平台的主板拔出JTAG线,给实验平台重新上电,程序将自动运行。
部分程序图:
6
串口通信实验:
7
IIS
音频实验:
六、实习体会
在嵌入式系统中,除了课本上的基础知识外,还学会了软件编程的基本思路,掌握了液晶屏的使用及其电路设计方法;掌握有关音频处理的基础知识;掌握液晶显示文本及图形的方法与程序设计。
通过这次设计,掌握了液晶显示实验、μC/OS-II移植、μC/OS-IILCD显示的工作原理及串口通信实验的工作过程,学会了使用仿真软件Embest EduKit-IV实验平台及ULINK2仿真器套件,并学会通过应用软件仿真来实现各种通信系统的设计,对以后的学习和工作都起到了一定的作用,加强了动手能力和学业技能。虽然花了很长时间编写软件程序设计,但这一切还是理论上的。希望学校能提供机会和条件,让我们能够去真正地将理论和实践相结合。通过这次程序,感觉自己所掌握的知识是那么的有限,还有许多需要改进和不足的地方,同时也帮助了我怎样学好这门课程,增加了我对这门学科的兴趣。总体来说,这次实习我受益匪浅。在摸索该如何设计电路使之实现所需功能的过程中特别有趣,培养了 8
我的设计思维,增加了实际操作能力。在让我体会到了设计电路的艰辛的同时,更让我体会到成功的喜悦和快乐。通过这次实习通信系统的设计,使我更加清楚以后的发展及学习的方向。
最后感谢老师这个学期的指导和帮助!
七、参考文献
《ARM9嵌入式系统设计与开发应用》熊茂华、杨震伦编著 清华大学出版社 《ARM9嵌入式系统设计与开发教程》于明编著 电子工业出版社
《Linux嵌入式系统教程》马忠梅 北京航空航天大学出版社
9
嵌入式实习报告20xx年1月13日一、嵌入式的概述:随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心…
嵌入式系统设计实训报告实训报告目录一任务名称内容1二题目分析1三系统平台搭建6四系统设计与实现7五心得体会14六参考文献及资料15…
嵌入式系统实验报告姓名:##学号:##班级:计算机科学与技术非师范121班实验一LCD控制一、实验目的1、初步掌握液晶显示屏的使用…
嵌入式系统实习报告学院专业班级学号姓名指导老师计算机与信息学院电子信息工程20xx111120xx111123王金民严朝军彭文标嵌…
成绩CSIP嵌入式实习报告院系计算机与工程学院专业计算机科学与技术学生姓名学号实习单位指导老师实习时间20xx520xx9本着对嵌…
你好,我是一名嵌入式开发爱好者.近来总是看到很多初学者(多数是在校大学生)由于没有条件,想学习却不知道如何下手。本人绝对能体会到学…
这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。广义上…
实习日志20xx年x月x日今天是我来到XX软件有限公司实习的第一天,在公司工作先要进行培训,因此将进行长达4个多月的培训。培训是一…
学习嵌入式系统心得说实在话在没有学习之前,以及在学之前通过一些口中得知这是一门很不错,很有意思的一门课。而且目前是十分吃香的一门课…
实习总结就在昨天3月x日,学校规定实习时间已经到期了。从上个月的13日到现在已经近一个月,虽然与公司的实习时间还没有结束,但是为了…
路径1135路径21235路径312345测试路径1110212103123104123455123456612345678