基于粤嵌GEC6818开发平台-娱乐影音实训报告

合集下载

粤嵌gec6818课设心得

粤嵌gec6818课设心得

粤嵌gec6818课设心得引言粤嵌ge c6818课设是一门非常有意义和挑战的课程。

在这门课程中,我们学习了嵌入式系统的开发,并实践了在g ec6818开发板上进行设备驱动、嵌入式系统应用以及L in ux内核移植等方面的内容。

在这里,我将分享我在这门课程中的心得体会。

第一部分:课程概述粤嵌ge c6818课设是一门专注于嵌入式系统开发的课程。

课程中,我们首先学习了有关嵌入式系统的理论知识,包括处理器架构、中断和异常处理、内存管理等。

随后,我们学习了如何使用g ec6818开发板进行设备驱动的开发,包括串口、G PI O、LC D等设备的配置与控制。

同时,我们还学习了如何在ge c6818上搭建和配置L in ux系统,并进行Li nu x内核移植的实践。

第二部分:学习收获通过参与粤嵌ge c6818课设,我获得了许多宝贵的学习收获。

1.嵌入式系统开发实践在课程中,我有机会亲自动手进行设备驱动的开发。

通过编写代码并在g ec6818上进行测试,我掌握了设备驱动的开发流程和技巧。

我学会了如何对硬件进行配置和控制,以及如何通过设备驱动与应用程序进行通信。

这为我今后从事嵌入式系统开发打下了坚实的基础。

2.L i n u x内核移植L i nu x内核移植是粤嵌g ec6818课设的重要内容之一。

通过课程中的实践,我了解了内核移植的过程和原理,掌握了如何对Li nux内核进行配置和编译。

我学会了如何将Li nu x内核移植到ge c6818开发板上,并成功运行了自己编写的应用程序。

这为我今后参与嵌入式系统开发项目提供了宝贵的经验和技能。

第三部分:面临的挑战在粤嵌g ec6818课设中,我也遇到了一些挑战。

以下是我面临的主要困难以及如何克服它们的方式:1.硬件配置和控制在进行设备驱动开发过程中,我发现了硬件配置和控制方面的困难。

为了解决这个问题,我系统地学习了有关硬件的原理和规范,并查阅了相关的文档和资料。

粤嵌GEC6818开发平台-自动化测试实训报告

粤嵌GEC6818开发平台-自动化测试实训报告

粤嵌GEC6818开发平台-自动化测试实训报告一、实训目的通过本次粤嵌GEC6818开发平台的自动化测试实训,使学员掌握自动化测试的基本原理和方法,熟练使用粤嵌GEC6818开发平台进行自动化测试,提高软件质量和开发效率。

二、实训环境1. 硬件环境:粤嵌GEC6818开发平台2. 软件环境:操作系统、编程语言、测试工具等三、实训内容1. 自动化测试基础知识2. 粤嵌GEC6818开发平台操作3. 自动化测试工具使用4. 自动化测试案例实践四、实训过程4.1 自动化测试基础知识学习学习自动化测试的基本概念、分类、优点和缺点,了解自动化测试的发展历程和现状。

4.2 粤嵌GEC6818开发平台操作1. 学习粤嵌GEC6818开发平台的硬件结构和软件系统。

2. 掌握粤嵌GEC6818开发平台的搭建和调试方法。

3. 熟悉粤嵌GEC6818开发平台的环境设置和项目管理。

4.3 自动化测试工具使用1. 学习自动化测试工具的原理和功能。

2. 掌握自动化测试工具的安装、配置和使用方法。

3. 了解常用自动化测试工具的比较和选择。

4.4 自动化测试案例实践1. 分析实际项目需求,制定自动化测试计划。

2. 编写自动化测试脚本,实现测试用例。

3. 执行自动化测试,分析测试结果,输出测试报告。

五、实训成果1. 掌握自动化测试的基本原理和方法。

2. 熟练使用粤嵌GEC6818开发平台进行自动化测试。

3. 具备制定自动化测试计划和编写自动化测试脚本的能力。

六、实训总结通过本次实训,我对自动化测试有了更深入的了解,掌握了粤嵌GEC6818开发平台的使用方法,能够运用自动化测试工具进行实际项目的测试工作。

我相信这次实训对我的职业发展和技能提升有着重要的意义。

粤嵌实习报告

粤嵌实习报告

1. 引言概述在本次粤嵌的实习中,我主要参与了嵌入式系统的开发项目。

嵌入式系统是一种专门设计用于特定应用的计算机系统,通常被嵌入到其他设备中,如家电、汽车和医疗设备等。

粤嵌作为一家专注于嵌入式系统开发的企业,为各行各业提供高质量的软件和硬件解决方案。

我的实习目标是学习并应用嵌入式系统开发的技术,提高自己的实践能力。

2. 正文内容2.1 研究和了解企业背景在我开始实习之前,我详细了解了粤嵌公司的背景和业务。

我阅读了公司的官方网站,研究了他们的产品和服务。

我还与公司的一些员工进行了交流,了解了他们在嵌入式系统开发领域的专业知识和经验。

通过这些研究和交流,我对粤嵌公司有了更全面的了解。

2.2 参与嵌入式系统开发项目在实习期间,我参与了一个嵌入式系统开发项目。

这个项目是为一家医疗设备制造商开发的,旨在提高他们设备的性能和可靠性。

在项目中,我负责编写软件代码和进行系统测试。

我积极参与讨论和设计会议,与团队成员合作解决问题,并按时完成分配的任务。

2.3 学习嵌入式系统开发技术在实习期间,我有机会学习并应用了许多嵌入式系统开发技术。

我学习了C和C++等编程语言的嵌入式系统应用和调试技巧。

我还学习了实时操作系统(RTOS)的原理和使用方法。

这些知识对我理解和应用嵌入式系统开发技术起到了重要的帮助。

2.4 开展软件工程实践在项目中,我学习和应用了一些软件工程的实践方法。

我使用了版本控制工具来管理和协作代码。

我还学习了软件测试的方法和技巧,并进行了测试计划的编写和执行。

这些软件工程实践的应用帮助我提高了开发效率和代码质量。

2.5 与团队合作和沟通在项目中,我与团队成员密切合作并保持了良好的沟通。

我们每周进行团队会议,讨论项目的进展和遇到的问题。

我积极提出自己的想法和建议,并尊重他人的意见。

这种团队合作和沟通能力对于项目的成功非常重要。

3. 总结通过这次实习,我对粤嵌公司和嵌入式系统开发有了更深入的了解。

我学到了许多有关嵌入式系统开发和软件工程的知识和技能。

粤嵌GEC6818平台-娱乐影音实训经验分享

粤嵌GEC6818平台-娱乐影音实训经验分享

粤嵌GEC6818平台-娱乐影音实训经验分享介绍本文将分享在粤嵌GEC6818平台上进行娱乐影音实训的经验。

GEC6818是一款功能强大的嵌入式平台,具备处理高清视频和音频的能力,适用于娱乐影音应用的开发和实训。

实训目标- 了解GEC6818平台的硬件和软件特性- 学习如何使用GEC6818平台进行娱乐影音应用的开发- 掌握音频和视频处理的基本原理和技术- 完成一个简单的娱乐影音应用的开发和测试实训内容1. 硬件准备:准备一台GEC6818开发板和所需的外设设备,如显示器、音箱等。

2. 系统搭建:安装并配置GEC6818平台上的操作系统,如Linux或Android。

3. 开发环境搭建:安装并配置开发环境,如交叉编译工具链和开发工具。

4. 音频处理:学习音频处理的基本原理和技术,如音频编解码、音频混音等。

5. 视频处理:学习视频处理的基本原理和技术,如视频编解码、视频渲染等。

6. 娱乐影音应用开发:根据实际需求,设计并开发一个简单的娱乐影音应用,如音乐播放器、视频播放器等。

7. 应用测试和调试:对开发的应用进行测试和调试,确保其功能正常并具备良好的用户体验。

实训收获通过完成以上实训内容,您将获得以下收获:- 对GEC6818平台的硬件和软件特性有更深入的了解- 掌握音频和视频处理的基本原理和技术- 具备开发娱乐影音应用的能力- 学会应用测试和调试的方法和技巧实战建议在进行娱乐影音实训时,建议您:- 充分利用GEC6818平台的功能,发挥其在娱乐影音领域的优势- 选择简单的策略和方案,避免涉及复杂的法律问题- 不引用无法确认的内容,确保所分享的信息准确可靠以上是关于粤嵌GEC6818平台-娱乐影音实训经验分享的文档。

希望对您的实训有所帮助!。

粤嵌GEC6818开发平台上的娱乐影音实训总结

粤嵌GEC6818开发平台上的娱乐影音实训总结

粤嵌GEC6818开发平台上的娱乐影音实训总结1. 实训背景随着科技的快速发展,影音娱乐系统已成为人们日常生活中不可或缺的一部分。

粤嵌GEC6818开发平台作为一款高性能、低功耗的嵌入式开发板,具有丰富的接口和强大的处理能力,非常适合用于开发娱乐影音系统。

本次实训的目的在于熟悉并掌握粤嵌GEC6818开发平台,并在此基础上实现一个娱乐影音系统。

2. 实训内容本次实训的主要内容包括:- 熟悉粤嵌GEC6818开发平台的硬件结构和软件环境;- 掌握基本的嵌入式编程技巧;- 学习音视频编解码技术;- 设计并实现一个娱乐影音系统。

3. 实训过程3.1 硬件调试首先,我们对粤嵌GEC6818开发板进行硬件调试,确保所有接口功能正常。

通过查阅相关资料,了解开发板的硬件结构,包括CPU、内存、接口等。

同时,我们还对开发板上的音视频接口进行了测试,确保其能够正常工作。

3.2 软件环境搭建为了保证实训的顺利进行,我们需要在粤嵌GEC6818开发板上搭建软件环境。

我们选择了Linux操作系统作为开发环境,并安装了相关的开发工具和库文件。

在软件环境搭建的过程中,我们学习了交叉编译工具链的搭建方法,并熟悉了Linux操作系统的基本命令。

3.3 音视频编解码技术学习为了实现娱乐影音系统,我们需要掌握音视频编解码技术。

我们学习了常见的音视频编码格式,如MP3、AVI等,并了解了编解码原理。

此外,我们还学习了如何在嵌入式系统中实现音视频的编解码,包括硬编解码和软编解码。

3.4 设计并实现娱乐影音系统在掌握了音视频编解码技术的基础上,我们开始设计并实现娱乐影音系统。

我们首先设计了系统的架构,包括音视频输入输出、编解码模块、存储模块等。

然后,我们使用C语言编写代码,实现了音视频的捕获、编码、解码和播放功能。

在开发过程中,我们遇到了一些问题,如音视频同步、内存管理等,通过查阅资料和请教同学,我们成功解决了这些问题。

4. 实训成果经过一段时间的开发,我们成功地在粤嵌GEC6818开发平台上实现了一个娱乐影音系统。

粤嵌GEC6818开发平台-娱乐影音实训细节

粤嵌GEC6818开发平台-娱乐影音实训细节

粤嵌GEC6818开发平台-娱乐影音实训细节概述本文档旨在提供关于粤嵌GEC6818开发平台娱乐影音实训的详细信息。

该实训项目旨在通过使用GEC6818开发平台,开发一个娱乐影音应用程序,以展示平台的功能和性能。

实训目标- 了解粤嵌GEC6818开发平台的硬件和软件特性- 学习如何开发娱乐影音应用程序- 掌握基本的音频和视频处理技术- 了解娱乐影音应用程序的架构和设计原理实训内容1. 熟悉GEC6818开发平台的硬件和软件环境2. 学习使用开发工具和SDK进行应用程序开发3. 设计和实现一个简单的娱乐影音应用程序,包括以下功能:- 音频播放和控制- 视频播放和控制- 媒体文件的导入和导出4. 学习音频和视频处理的基本技术,如编码、解码、转码等5. 优化应用程序的性能和用户体验6. 测试和调试应用程序,确保其稳定性和可靠性实训要求- 拥有一台粤嵌GEC6818开发平台或类似的嵌入式开发板- 具备一定的嵌入式系统和Linux操作系统的基础知识- 具备一定的C/C++编程能力- 有一定的音频和视频处理经验者优先考虑实训成果完成该实训后,学员将能够:- 熟悉粤嵌GEC6818开发平台的硬件和软件环境- 掌握娱乐影音应用程序的开发技术- 理解音频和视频处理的基本原理和技术- 开发出一个具有基本娱乐影音功能的应用程序实训时间和地点- 实训时间:根据实际安排- 实训地点:根据实际安排实训评估- 实训期间,学员将根据实训项目的完成情况和实训成果进行评估- 学员需按时提交实训报告和实训代码参考资料- 粤嵌GEC6818开发平台官方文档- 相关音频和视频处理技术的教材和参考书籍以上为粤嵌GEC6818开发平台娱乐影音实训的细节内容。

如有任何问题或需要进一步的信息,请及时与我们联系。

粤嵌开发板的实习报告

粤嵌开发板的实习报告

实习报告:粤嵌开发板实习经历一、实习背景随着嵌入式系统的普及和发展,我国在嵌入式领域的研究和应用越来越广泛。

为了更好地了解嵌入式系统及其应用,提高自己的实际操作能力,我选择了粤嵌开发板进行为期一个月的实习。

在这段时间里,我学习了嵌入式系统的硬件组成、软件开发以及实际应用等方面的知识,收获颇丰。

二、实习内容1. 硬件组成首先,我了解了粤嵌开发板的硬件组成,包括ARM核心板、外围扩展板、电源、串口通信设备等。

通过对硬件的熟悉,我掌握了各种接口的功能和使用方法,为后续的软件开发和项目应用打下了基础。

2. 软件开发在硬件的基础上,我学习了Linux操作系统的基本使用方法,掌握了Shell编程、文件操作、进程管理等知识点。

同时,我还学习了嵌入式编程的基本概念和方法,如C语言编程、Makefile编写、交叉编译等。

通过这些知识的学习,我能够独立完成简单的嵌入式项目。

3. 实际应用在掌握基本技能的基础上,我参与了智能停车系统项目的开发。

项目包括车辆识别、车位管理、数据统计等功能。

我负责编写车辆识别模块的代码,通过摄像头捕捉图像,利用图像处理技术识别车辆,实现车辆的自动识别。

此外,我还参与了项目中的调试和测试工作,确保系统的稳定运行。

三、实习收获1. 提高了自己的嵌入式系统理论知识,了解了嵌入式系统在生活中的应用;2. 掌握了Linux操作系统的基本使用方法,学会了嵌入式编程的基本技巧;3. 学会了如何查阅资料、解决问题,提高了自己的自学能力和团队协作能力;4. 参与了实际项目的开发,积累了宝贵的实践经验,为今后的工作打下了基础。

四、实习总结通过这次粤嵌开发板的实习,我对嵌入式系统有了更深入的了解,从理论到实践都有了很大的提高。

同时,我也认识到嵌入式系统的学习是一个长期的过程,需要不断地积累和实践。

在今后的学习和工作中,我将继续努力,争取在嵌入式领域取得更好的成绩。

基于粤嵌GEC6818开发平台-娱乐影音任务书

基于粤嵌GEC6818开发平台-娱乐影音任务书
2. 训练题设计方案正确,具有可行性、创新性(15分)
3. 训练设计结果(例如:硬件成果、软件程序)(15分)
4. 态度认真、学习刻苦、遵守纪律(10分)
5. 训练题设计报告规范化、参考文献充分(5篇以上)(10分)
总分(100分)
答辩小组成员签字:
年月日
电子系统综合设计说明书题目:智能家Fra bibliotek—娱乐影音模块
二级学院
********
年级专业
*********
学 号
*****
学生姓名
****
指导教师
********
教师职称
*******
******课程设计(论文)任务书
二级学院:******
学 号
*****
学生姓名
*****
专业(班级)
*********
设计题目
智能家居——娱乐影音模块




设计制作一个娱乐影音模块:用7寸LCD电容式触摸屏作为人机互交的方式,可以切换相册、音乐、视频的功能,显示相应的界面。具有音频输出的功能,获取屏幕触摸点的坐标,实现界面上相应的功能。




利用粤嵌GEC-6818开发平台,定制的Linux系统,通过C语言的编程,经过交叉编译环境,让编译的文件能够直接适用于ARM开发板。用7寸LCD电容式触摸屏作为人机互交的方式,可以切换相册、音乐、视频的功能,显示相应的界面。具有音频输出的功能,获取屏幕触摸点的坐标,实现界面上相应的功能。
柳青《Linux应用教程》北京:清华大学出版社 2008
邱世华《Linux操作系统之奥秘》北京:电子工业出版社2008
李成大《操作系统一Linux篇》北京:人民邮电出版社2005

由粤嵌GEC6818开发平台引导-物联网项目实训报告

由粤嵌GEC6818开发平台引导-物联网项目实训报告

由粤嵌GEC6818开发平台引导-物联网项目实训报告1. 实训背景随着物联网技术的飞速发展,越来越多的行业开始应用物联网技术来提高工作效率和降低成本。

本次实训旨在通过粤嵌GEC6818开发平台,使学员掌握物联网项目的基本开发流程,提高物联网应用开发能力。

2. 实训目标1. 熟悉粤嵌GEC6818开发平台的硬件和软件环境。

2. 学习物联网项目的基本开发流程。

3. 掌握物联网项目中的关键技术,如传感器数据采集、网络通信、数据处理等。

4. 培养学员的团队协作能力和实际动手能力。

3. 实训内容本次实训共分为四个阶段,分别为:硬件搭建、软件开发、项目调试和项目总结。

3.1 硬件搭建1. 学习粤嵌GEC6818开发平台的硬件结构,了解各部分功能。

2. 搭建开发环境,包括安装操作系统、配置网络等。

3. 连接传感器、执行器等硬件设备,并进行调试。

3.2 软件开发1. 学习物联网项目的软件框架,掌握基本编程方法。

2. 编写传感器数据采集程序,实现数据的实时显示。

3. 实现与上位机的网络通信,传输采集到的数据。

4. 开发数据处理程序,对采集到的数据进行分析和处理。

3.3 项目调试1. 进行系统整体调试,确保各部分功能正常。

2. 针对项目中出现的问题,进行排查和优化。

3. 调整参数,提高系统的稳定性和可靠性。

3.4 项目总结1. 撰写项目报告,总结实训过程中的收获和不足。

2. 进行项目展示,分享实训成果。

3. 针对物联网项目的未来发展,提出自己的见解和建议。

4. 实训成果通过本次实训,学员将能够熟练掌握粤嵌GEC6818开发平台的硬件和软件环境,了解物联网项目的基本开发流程,掌握关键技术,提高实际动手能力和团队协作能力。

同时,学员还将对物联网技术的应用和发展趋势有更深入的了解,为今后的职业发展奠定基础。

5. 实训安排本次实训共分为两个星期,具体安排如下:1. 第一周:学习粤嵌GEC6818开发平台的硬件和软件环境,搭建开发环境,连接传感器和执行器,进行硬件调试。

6818开发板实习报告

6818开发板实习报告

6818开发板实习报告1. 实习目的本次实习的主要目的是熟悉6818开发板的硬件结构和软件开发环境,掌握嵌入式系统开发的基本方法和技能。

通过实际操作和编程实践,加深对嵌入式系统原理和应用的理解。

2. 硬件结构6818开发板是一款基于ARM9内核的嵌入式开发平台,其主要硬件组成包括:- 处理器:Samsung S3C6818,工作频率为366MHz- 内存:64MB SDRAM,32MB NOR Flash- 显示:3.5英寸TFT LCD,分辨率320x240- 存储:SD卡插槽,支持多种存储卡- 通信接口:以太网,USB主机/从机,串口等- 其他:按键,LED灯,蜂鸣器等3. 软件开发环境本次实习采用的软件开发环境如下:- 操作系统:Windows XP/7- 编译工具:ARM GNU工具链- 集成开发环境:Eclipse IDE- 交叉编译器:arm-linux-gcc- 调试工具:GDB4. 实习内容在实习期间,主要完成了以下几个方面的工作:4.1 开发板初始化包括LED灯闪烁、按键检测、LCD显示等基本功能的实现。

4.2 文件系统操作利用NOR Flash和SD卡,构建根文件系统,并进行基本的文件读写操作。

4.3 网络通信实现以太网驱动的配置和TCP/IP协议栈的移植,进行网络数据传输测试。

4.4 多媒体应用在LCD上显示图像和视频,实现简单的多媒体播放功能。

4.5 系统移植将嵌入式Linux系统移植到开发板上,实现基本的系统引导和应用运行。

5. 实习总结通过本次实习,我对嵌入式系统开发有了较为全面的认识和实践经验。

掌握了开发板硬件结构、软件开发流程、驱动编程、系统移植等关键技术,为将来从事嵌入式系统开发工作奠定了基础。

基于粤嵌GEC6818平台的娱乐影音开发实训

基于粤嵌GEC6818平台的娱乐影音开发实训

基于粤嵌GEC6818平台的娱乐影音开发实训介绍本文档旨在介绍基于粤嵌GEC6818平台的娱乐影音开发实训项目。

该项目的目标是通过使用GEC6818平台开发娱乐影音应用程序,提供高质量的音视频播放和娱乐体验。

项目背景随着科技的不断发展,娱乐影音已经成为人们日常生活中不可或缺的一部分。

为了提供更好的娱乐体验,我们决定利用粤嵌GEC6818平台开发一款功能强大的娱乐影音应用程序。

开发目标我们的开发目标是创建一款具有以下特点的娱乐影音应用程序:- 高质量的音视频播放功能,支持多种常见的音视频格式。

- 用户友好的界面设计,简洁明了。

- 支持多媒体文件的管理和播放列表功能。

- 提供丰富的娱乐内容,如电影、音乐等。

- 具备良好的响应速度和稳定性。

开发步骤为了实现以上目标,我们将按照以下步骤进行开发:1. 确定需求:与用户进行沟通,了解他们的期望和需求。

2. 系统设计:基于用户需求,设计娱乐影音应用程序的整体架构和界面。

3. 开发实现:根据系统设计,利用粤嵌GEC6818平台进行应用程序的开发和实现。

4. 测试和优化:对应用程序进行全面的测试,修复可能存在的问题,并对性能进行优化。

5. 发布和部署:将开发完成的娱乐影音应用程序发布并部署到目标设备上。

预期成果通过完成该项目,我们期望达到以下成果:- 开发出一款功能完善、稳定可靠的娱乐影音应用程序。

- 提供给用户高质量的音视频播放和娱乐体验。

- 获得用户的积极反馈和认可。

时间计划为了合理安排项目进展,我们将按以下时间计划进行开发:- 需求确定和系统设计:1周- 开发实现:2周- 测试和优化:1周- 发布和部署:1周风险管理在项目开发过程中可能会遇到一些风险和挑战,我们将采取以下措施进行风险管理:- 定期与用户进行沟通,及时了解和解决问题。

- 根据用户反馈和测试结果,及时修复应用程序中的漏洞和问题。

- 配备专业的技术团队,确保项目的顺利进行。

结束语通过基于粤嵌GEC6818平台的娱乐影音开发实训项目,我们将提供一款高质量的音视频播放和娱乐应用程序,为用户带来更好的娱乐体验。

基于粤嵌GEC6818平台的娱乐影音开发实训

基于粤嵌GEC6818平台的娱乐影音开发实训

基于粤嵌GEC6818平台的娱乐影音开发实训1. 实训目的通过本实训,使学员掌握粤嵌GEC6818平台的基本架构及其在娱乐影音领域的应用,培养学员在嵌入式系统开发方面的实践能力,提升学员对娱乐影音设备软硬件协同设计的综合素质。

2. 实训环境- 实训平台:粤嵌GEC6818开发板- 实训软件:Linux操作系统、交叉编译工具链、音视频编解码库- 辅助工具:串口通信工具、网络调试工具3. 实训内容3.1 平台认知- 了解粤嵌GEC6818开发板的基本架构- 熟悉开发板上的主要硬件组件及其功能- 掌握开发板的各项接口及使用方法3.2 系统移植- 学习Linux操作系统在GEC6818平台上的移植方法- 掌握交叉编译工具链的搭建与使用- 熟悉Bootloader、内核、文件系统等关键组件的配置与移植3.3 音视频处理- 学习音视频编解码技术的基本原理- 掌握音视频编解码库的使用方法- 实现音视频的采集、编码、解码、播放等基本功能3.4 应用开发- 基于GEC6818平台开发娱乐影音应用- 实现音频、视频的同步播放- 设计用户界面,支持音量、切换等基本操作3.5 系统优化- 分析系统性能,进行优化的方法和策略- 优化音视频播放速度和画面质量- 优化系统功耗和稳定性4. 实训流程4.1 前期准备- 学习相关理论知识,了解粤嵌GEC6818平台及开发环境- 准备实训所需的硬件设备及软件工具4.2 平台移植- 移植Linux操作系统到GEC6818平台- 搭建交叉编译环境,熟悉编译工具链的使用- 配置Bootloader、内核、文件系统等关键组件4.3 音视频处理- 学习音视频编解码技术,掌握相关库的使用方法- 实现音视频的采集、编码、解码、播放等功能- 优化音视频处理性能,提高播放速度和画面质量4.4 应用开发- 设计并实现娱乐影音应用的架构- 编写应用代码,实现音频、视频的同步播放- 开发用户界面,支持音量、切换等操作4.5 系统优化- 分析系统性能,找出瓶颈并进行优化- 优化音视频播放速度和画面质量- 提高系统功耗和稳定性4.6 成果验收- 编写实训报告,总结实训过程及成果- 对实训成果进行演示和讲解- 接受教师和同学们的评审和提问5. 实训要求- 学员需按时完成实训任务,积极参与讨论与提问- 学员需具备一定的嵌入式系统理论知识,了解Linux操作系统及音视频编解码技术- 学员需遵守实训纪律,爱护实训设备,保护知识产权6. 实训评价- 实训成果的完整性、正确性和创新性- 实训报告的质量,包括内容、结构、语言等方面- 学员在实训过程中的表现,如团队协作、问题解决能力等7. 实训时间安排- 实训周期:共计20天,每天4学时- 实训安排:每天分为理论讲解、实践操作、讨论与提问等环节8. 实训注意事项- 实训过程中,学员应遵循安全操作规程,防止意外损坏设备- 学员在操作设备时,需确保设备稳定运行,避免造成数据丢失- 学员应尊重知识产权,不得使用未经授权的软件和资源9. 实训成果评价标准- 完整性:实训成果是否涵盖所有实训内容和要求- 正确性:实训成果是否符合技术规范和标准- 创新性:实训成果是否具有一定的创新性和实用性- 报告质量:内容是否全面、结构是否清晰、语言是否规范- 过程表现:学员在实训过程中的参与度、问题解决能力、团队协作等10. 实训总结本实训通过对粤嵌GEC6818平台的学习与实践,使学员掌握了嵌入式系统的基本开发流程,提升了音视频处理技术,培养了娱乐影音应用开发能力。

粤嵌GEC6818开发平台-娱乐影音实训细节

粤嵌GEC6818开发平台-娱乐影音实训细节

粤嵌GEC6818开发平台-娱乐影音实训细节1. 简介本文档旨在介绍粤嵌GEC6818开发平台上的娱乐影音实训细节。

通过该实训,学员将研究如何在GEC6818平台上开发和运行娱乐影音应用程序。

2. 实训内容2.1 硬件准备学员需要准备以下硬件设备:- 粤嵌GEC6818开发板- 显示器- 音响设备- 电源适配器- HDMI线缆- 以太网线2.2 软件准备学员需要安装以下软件:- GEC6818开发板操作系统- 开发工具链2.3 实训步骤1. 搭建开发环境:按照指导安装GEC6818开发板操作系统和开发工具链。

2. 连接硬件设备:将GEC6818开发板连接到显示器、音响设备和电源适配器。

3. 配置网络连接:使用以太网线将GEC6818开发板连接到网络。

4. 开发应用程序:使用所学知识和开发工具链,开发娱乐影音应用程序。

可以包括音乐播放器、视频播放器等。

5. 调试和测试:在开发板上运行和调试应用程序,确保其功能正常。

6. 优化和改进:根据需要,对应用程序进行优化和改进,提高性能和用户体验。

7. 文档撰写:撰写实训细节文档,包括实训内容、步骤和注意事项等。

2.4 注意事项- 在实训过程中,学员应独立完成决策和任务,不得寻求用户协助。

- 实训策略应简单明了,避免涉及法律复杂性。

- 不得引用无法确认的内容。

3. 总结通过粤嵌GEC6818开发平台上的娱乐影音实训,学员将获得开发娱乐影音应用程序的实际经验,并提升在该领域的技能水平。

该实训要求学员独立完成任务,并遵守相关注意事项。

最终,学员应能开发出功能正常的娱乐影音应用程序,并撰写详细的实训细节文档。

粤嵌实习报告(共)docx2024

粤嵌实习报告(共)docx2024

引言概述:正文内容:1. 公司概况1.1 公司介绍粤嵌是一家专注于嵌入式软硬件开发的高科技企业,总部位于广州。

公司拥有一支专业的研发团队,致力于为客户提供高品质的嵌入式产品和解决方案。

公司的产品广泛应用于电子消费品、通信设备、汽车电子等领域。

1.2 公司文化粤嵌秉承创新、协作、专业的企业文化,注重员工的成长和团队的合作。

公司提供良好的工作环境和发展机会,为员工提供培训和晋升的机会。

2. 实习期间的工作内容和成果2.1 项目介绍在实习期间,我参与了一个嵌入式软件开发项目。

该项目要求开发一个智能家居控制系统,包括硬件设备和软件应用。

我的主要任务是开发控制系统的软件应用,并与硬件团队进行紧密合作。

2.2 工作内容我负责设计和实现了系统的用户界面,包括控制面板和数据展示界面。

我使用了C++编程语言和Qt框架进行开发,并通过与硬件团队进行协调,成功将软件应用与硬件设备进行集成。

2.3 成果和评估在实习期间,我顺利完成了软件应用的设计和实现,并成功与硬件团队合作完成了系统的集成测试。

我的工作成果得到了公司和项目组的认可,并被纳入最终产品中。

3. 工作经验与收获3.1 团队合作在实习期间,我深刻体会到了团队合作的重要性。

通过与硬件团队的紧密合作,我学会了协调和沟通,解决了在开发过程中遇到的各种问题。

我意识到只有通过团队合作,才能取得更好的工作效果。

3.2 技术能力在实习期间,我不仅巩固了自己的编程能力,还学会了使用新的开发工具和框架。

通过与项目组的交流和学习,我提高了自己的嵌入式开发能力,并学会了解决实际项目中的技术问题。

3.3 职业素养实习期间,我接触到了专业嵌入式开发的工作环境,深入了解了行业的要求和标准。

我学会了严谨的工作态度和高效的工作方法,并对自己的职业规划有了更清晰的认识。

4. 个人成长和自我评估4.1 个人成长通过这次实习,我不仅获得了专业技能的提升,还积累了丰富的项目经验和工作经历。

我对自己的能力和潜力有了更深刻的认识,对嵌入式系统开发领域的发展和挑战有了更清晰的了解。

粤嵌实践报告5篇

粤嵌实践报告5篇

粤嵌实践报告5篇粤嵌实践报告篇1这次的暑期实习是引导我们学生走出校门,走向社会,接触社会,了解社会,投身社会的良好形式;是培养锻炼才干的好渠道;是提升思想,修身养性,树立服务社会的思想的有效途径。

这次实习,有助于我们在校大学生更新观念,吸收新的思想与知识。

近两个月的实习,一晃而过,却让我从中领悟到了很多的东西,而这些东西将让我终生受用。

实习加深了我与社会各阶层人的感情,拉近了我与社会的距离,也让自己在社会实践中开拓了视野,增长了才干,进一步明确了我们青年学生的成材之路与肩负的历史使命。

社会才是学习和受教育的大课堂,在那片广阔的天地里,我们的人生价值得到了体现,为将来更加激烈的竞争打下了更为坚实的基础。

20xx年6月26日,我来到xx市住宅有限责任公司所施工的工地——xx市xx铝业居民住宅楼11号楼工地,由于才刚上完大二,所学知识很少,所以来到工地就抱定主动学习的态度。

第一天见到工长之后,因为建筑业是一个高危行业,所以工长先让我看一些建筑方面的安全规章制度,比如:进入工地不能穿拖鞋,必须佩带安全帽等。

第二天,工长让我看了图纸,虽然在学校学过建筑工程制图这门课程,但是由于没有经过实践,所以看得很费劲,甚至有很多地方都不懂,多亏工长不厌其烦的讲解,才让我大概将图纸弄懂。

再过了两天,工地上绑扎基础梁的钢筋,由于工人不懂图纸,也不懂规范,他们只是会做活,于是我在工长的引导下辅助工人施工,我的主要工作就是配合工长施工,告诉他们配筋的数量,以及位置,等这样忙完一天下班时,顿时感觉脚底板很疼很疼,衣服也基本湿完了。

但想到刚刚学到的一系列新鲜知识,心里不禁还是有一些兴奋的。

我被安排住在项目部宿舍,每天六点准时起床,然后洗漱、吃饭、打扫办公室卫生,之后开始跟同事一起去工地巡视,听他们讨论如何施工的问题,自己从中也可以学习一些东西。

之后便开始一天的工作。

我们的日常工作主要就是配合工长施工。

比如帮助工长放线,给工地上做混凝土试块,告诉工人如何施工等。

粤嵌实习报告模板

粤嵌实习报告模板

实习报告实习单位:粤嵌实习时间:从XX月开始,为期三个月。

一、实习单位简介粤嵌是一家致力于为客户提供高质量嵌入式产品和解决方案的高新技术企业。

公司成立于XX年,位于我国广东省深圳市。

粤嵌的产品涵盖了嵌入式系统、嵌入式软件、嵌入式硬件等领域,广泛应用于工业控制、智能家居、医疗设备、汽车电子等领域。

二、实习目的和意义此次实习的主要目的是将我在学校所学的理论知识与实际工作相结合,提高自己的实践能力和综合素质。

通过实习,我深入了解到了嵌入式行业的发展现状和趋势,掌握了一定的嵌入式系统设计和开发经验,为今后的工作打下了坚实的基础。

三、实习内容和过程1. 实习前的准备工作在实习开始前,我参加了粤嵌公司组织的安全培训和技能培训,了解了公司的发展历程、企业文化以及嵌入式相关技术。

同时,我还自学了一些嵌入式系统的相关知识,为实习打下了基础。

2. 实习过程中的主要工作(1)参与项目开发在实习期间,我参与了名为“XX智能硬件”的项目开发。

该项目主要涉及嵌入式系统的设计、硬件选型、软件编程和系统调试等工作。

(2)学习嵌入式系统设计在项目开发过程中,我学习了嵌入式系统的基本原理、硬件选型、软件编程和调试技巧。

通过实际操作,我熟悉了嵌入式系统的设计流程,掌握了C语言编程和Keil、IAR等开发工具的使用。

(3)团队协作和沟通在实习过程中,我与项目组的其他成员紧密合作,共同完成项目任务。

我们通过定期会议、邮件和即时通讯工具等方式进行沟通,确保项目进度和质量。

(4)解决实际问题在项目开发过程中,我遇到了一些实际问题,如硬件故障、软件bug等。

在导师和同事的帮助下,我学会了分析问题、查找资料和解决问题,提高了自己的动手能力和解决问题的能力。

四、实习收获和反思1. 实习收获通过这次实习,我收获了以下几点:(1)掌握了嵌入式系统的基本原理和设计方法;(2)提高了自己的编程能力和调试技巧;(3)学会了团队协作和沟通,提高了自己的综合素质;(4)了解了企业文化,为今后的工作打下了基础。

粤嵌开发板的实习报告

粤嵌开发板的实习报告

一、实习背景随着物联网、人工智能等技术的快速发展,嵌入式系统在各个领域的应用越来越广泛。

为了更好地了解嵌入式系统的开发和应用,提高自己的实际操作能力,我选择了粤嵌开发板进行为期一个月的实习。

二、实习目的1. 学习嵌入式系统基础知识,掌握嵌入式系统开发流程。

2. 熟悉粤嵌开发板的硬件资源和软件环境。

3. 掌握C语言编程,具备基本的嵌入式系统开发能力。

4. 通过实际项目锻炼自己的动手能力和团队协作能力。

三、实习内容1. 粤嵌开发板简介粤嵌开发板是一款基于ARM架构的嵌入式开发平台,具备丰富的外设接口和良好的兼容性。

在实习过程中,我主要使用粤嵌GEC-6818开发板,该开发板采用ARM926EJ-S内核,运行频率为400MHz,内置256MB SDRAM和256MB NAND Flash,支持Linux操作系统。

2. 嵌入式系统基础知识在实习初期,我学习了嵌入式系统的基础知识,包括嵌入式系统概述、处理器架构、内存管理、中断处理、外设接口等。

通过学习,我对嵌入式系统的基本原理和开发流程有了初步的了解。

3. C语言编程C语言是嵌入式系统开发中常用的编程语言,具有高效、灵活、易移植等特点。

在实习过程中,我学习了C语言的基本语法、数据类型、控制结构、函数、指针等,并通过编写程序实现了简单的嵌入式系统功能。

4. 实际项目开发在实习中期,我参与了一个基于粤嵌开发板的电子相册项目。

该项目要求在ARM开发板上实现电子相册的存储、浏览和展示功能。

在项目开发过程中,我主要完成了以下工作:(1)使用C语言编写程序,实现电子相册的文件读取、显示和删除功能。

(2)利用SD卡作为存储介质,实现电子相册的图片存储和读取。

(3)通过LCD显示屏展示电子相册中的图片。

(4)编写程序,实现用户交互功能,如翻页、退出等。

5. 团队协作与沟通在项目开发过程中,我与团队成员进行了密切的沟通和协作。

我们共同讨论技术方案,解决开发过程中遇到的问题,确保项目顺利进行。

粤嵌GEC6818开发平台-娱乐影音实训案例

粤嵌GEC6818开发平台-娱乐影音实训案例

粤嵌GEC6818开发平台-娱乐影音实训案例1. 实训目的通过本次粤嵌GEC6818开发平台的娱乐影音实训,使学员掌握以下技能:- 熟悉粤嵌GEC6818开发平台的基本硬件结构和软件环境。

- 掌握Linux操作系统的使用和基本命令。

- 研究音视频编解码基础知识。

- 学会使用音视频开发工具和库,如FFmpeg、GStreamer等。

- 能够独立完成音视频播放、录制、转换等基本功能。

2. 实训环境- 硬件环境:粤嵌GEC6818开发板、显示器、键盘、鼠标。

- 软件环境:Linux操作系统、FFmpeg、GStreamer等音视频开发工具和库。

3. 实训内容3.1 粤嵌GEC6818开发平台搭建1. 启动粤嵌GEC6818开发板,进入Linux操作系统。

2. 配置网络环境,确保能够访问互联网。

3. 安装所需的音视频开发工具和库,如FFmpeg、GStreamer等。

3.2 音视频基础知识研究1. 了解音视频编解码基本概念,如MPEG、H.264、AAC等。

2. 研究音视频格式和编码参数,如MP4、AVI、MKV等。

3. 掌握音视频流媒体传输技术,如RTMP、HLS等。

3.3 音视频播放实训1. 使用FFmpeg或GStreamer实现音视频播放功能。

2. 学会调整音视频播放参数,如音量、播放速度等。

3. 实现全屏播放、退出播放等功能。

3.4 音视频录制实训1. 使用FFmpeg或GStreamer实现音视频录制功能。

2. 学会调整音视频录制参数,如分辨率、码率等。

3. 实现定时录制、停止录制等功能。

3.5 音视频转换实训1. 使用FFmpeg或GStreamer实现音视频转换功能。

2. 学会调整音视频转换参数,如编码格式、分辨率等。

3. 实现批量转换、自动转换等功能。

3.6 音视频 streaming 实训1. 使用FFmpeg或GStreamer实现音视频 streaming 功能。

2. 学会调整音视频streaming 参数,如传输协议、缓存大小等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子系统综合设计报告(2017级)题目智能家居--娱乐影音二级学院****************专业电子信息工程班级学号***************学生姓名*****指导教师******教师职称****目录1绪论 (1)1.1课题研究的相关背景 (1)1.2选题的目的和意义 (1)2娱乐影音系统设计概述 (1)2.1 影音系统的主要功能 (1)2.2 影音系统操作方式 (2)2.3 硬件选型方案 (2)2.4 S5P6818核心板 (3)2.5影音系统组成 (5)2.5.1影音系统硬件组成 (5)2.5.2 影音系统软件组成 (6)3各个界面功能说明 (7)3.1主界面 (7)3.2相册界面 (7)3.3音乐界面 (8)3.4视频界面 (8)4软件设计 (9)4.1娱乐影音软件功能模块介绍 (9)4.2主要程序分析 (9)5实物测试 (18)5.1实物测试结果 (18)6设计心得总结 (19)6.1总结 (19)参考文献 (20)1绪论1.1课题研究的相关背景娱乐影音系统是一种常见的娱乐系统,在各种的场合都能看到它的身影,如:车载娱乐影音系统、家庭娱乐影音系统、手机娱乐影音系统等。

早起的娱乐影音系统是由M系列单片机制作,功能比较单一,曾经风靡一时的MP3就是如此。

现在大多数都是基于Linux、Android等可裁剪系统制作,功能全面,具有图片显示、音乐播放、视频播放等强大的功能。

本课题利用的是粤嵌GEC-6818开发平台,定制的Linux系统,通过C语言的编程,经过交叉编译环境,让编译的文件能够直接适用于ARM开发板。

用7寸LCD电容式触摸屏作为人机互交的方式,可以切换相册、音乐、视频的功能,显示相应的界面。

具有音频输出的功能,获取屏幕触摸点的坐标,实现界面上相应的功能。

1.2选题的目的和意义通过这次的设计,掌握了ARM的结构体系,了解了部分的Linux命令,对文件的读写操作等,初步掌握了交叉编译方式,加强了对嵌入式产品的认知。

同时,在本课程设计时的调试、排错,让我们对C语言进行了一次查漏补缺,也巩固了C语言基础。

让我们能够用团队的力量,对ARM系列的开发板进行开发,用固定的硬件设备实现多种功能,了解ARM开发的文件读取方式、交叉编译环境。

扩大了我们的眼界,学会了无显示界面时使用Linux命令操作设备。

2娱乐影音系统设计概述2.1 影音系统的主要功能本系统是使用粤嵌的GEC-6818开发板设计的一款娱乐影音系统,包括了图片显示、音乐播放、视频播放三个部分,在每个部分内部,具有操控各个部分的功能触摸按键。

使用者具有良好的可视交互体验,可自由切换各个部分。

在图片模块里面时,能够点击左右两侧来切换上一张和下一张图片;在音乐模块里面,能够点击播放/暂停,上一曲和下一曲对音乐进行控制;在视频模块中,具有快进/快退、上一视频/下一视频、声音增加/减小、开始/暂停播放的功能。

2.2 影音系统操作方式本系统使用LCD触摸屏操控,在主界面(如图2-1)选择相应的功能,进入各个子模块中。

能够自由选择这三个功能,进入子模块中就可以体验每个模块的特定的功能。

图2-12.3 硬件选型方案所使用的是粤嵌公司的ARM开发板平台(GEC-6818),该平台搭载三星Cortex-A53系列高性能八核处理器S5P6818,最高主频高达1.4GHz,可应用于嵌入式Linux和Android等操作系统的驱动、应用开发。

开发板留有丰富的外设,支持千兆以太网、板载LVDS接口、MIPI接口、USB接口等。

2.4 S5P6818核心板1、核心板特性:最佳尺寸,即保证精悍的体积又保证足够的 GPIO 口,仅 52mm*52mm 。

使用 x-powers 的 AXP228 PMU 电源管理设计,保证工作稳定可靠。

支持多种品牌,多种容量的 emmc,默认使用东芝8GB emmc(19nm MLC工艺)。

使用单通道 DDR3 设计,默认支持 1GB 容量,可定制 2GB 容量。

支持电源休眠唤醒。

支持 android5.1,linux + qt,ubuntu 操作系统。

板载千兆有线以太网。

2、核心板参数:(1)结构参数外观:邮票孔方式。

核心板尺寸:52mm*52mm*3mm。

引脚间距:1.1mm。

引脚焊盘尺寸:1.3mm*0.7mm。

引脚数量:184 PIN,满足用户各类扩展需求。

工艺:采用 8 层沉金工艺设计,PCB台资大厂制作。

(2)系统配置CPU:S5P6818,八核Cortex-A53,主频为1.4GHz,被认为是近几年最有前途的 ARM处理器。

内存:使用单通道 DDR3 设计,标配 1GB,可定制 2GB。

存储: 4GB/8GB/16GB/32GB emmc 可选,标配 8GB。

电源IC:使用 AXP228,支持动态调频,库仑计等。

以太网:使用 RTL8211E 千兆以太网 PHY。

(3)接口参数LCD 接口:同时支持 TFT、LVDS、MIPI 接口输出。

Touch 接口:电容触摸,电阻触摸。

音频接口:AC97/IIS 接口,支持录放音。

SD 卡接口:2 路 SDIO 输出通道。

emmc 接口:板载 emmc 接口,管脚不另外引出。

以太网接口:支持千兆以太网。

USB HOST 接口:一路 HOST2.0,一路 HSIC。

USB OTG 接口:一路 OTG2.0。

UART 接口:支持5路串口,引出3路,支持带流控串口。

PWM 接口:4 路 PWM 输出。

IIC 接口:IIC 接口:3 路 IIC 输出。

SPI 接口:1 路 SPI 输出。

ADC 接口:支持8路;引出3路 ADC。

Camera 接口:1 路 BT656/BT601,1 路 MIPI CSI。

HDMI 接口:高清音视频输出接口,音视频同步输出。

VGA 接口:使用 LCD 输出接口扩展。

启动配置接口:无需启动配置,核心板自动适配。

(4)电气特性输入电压:3.7~5.5V(推荐使用 5V 输入)。

输出电压:3.3V/4.2V(可用于底板供电及电池充电)。

储存温度:-20~80度。

工作温度:-20~80 度。

(5)其它系统支持:Android、Linux、Ubuntu等系统。

(6)应用范围家居控制平台、智能家居平台、健身器械操作平台;美容器械操作平台、医疗器械操作平台。

智能仪表、仪器、触摸屏控制器。

导航设备、车载DVD、智能广告控制终端。

排队系统、广告机。

楼宇对机、分机以及管理机等。

(7)核心板外观图2-2 核心板正面2.5影音系统组成2.5.1影音系统硬件组成影音系统的硬件主要由粤嵌EGC-6818开发板和7寸LCD触摸屏组成。

图2-3 EGC-6818开发板2.5.2 影音系统软件组成本系统使用C语言编程(图2-4),在Ubuntu虚拟机下进行交叉编译,生成ARM开发板的可执行文件通过串口的方式将可执行文件发送到开发板上。

图2-4 部分程序截图软件需要使用文件的读写操作,还需额外将使用到的图片bmp文件、音乐MP3文件、视频MP4文件通过U盘拷贝的方式,复制到开发板中。

图2-5 文件结构3各个界面功能说明3.1主界面图3-1 主界面主界面是初始化时的第一个界面,在主界面上提供了三个图标,可以选择进入三个模块。

点击某一个模块的图标时,将会进入相应的模块内部,每次程序刷新或者从模块中退出时将会打开这个界面。

这是由一张图片插入而成,可在工程目录的/picture/main/main.bmp替换成别的图片,但是必须让图标位置不变。

3.2相册界面点击相册图标,进入图片模块,此模式下,相册会自动获取相对目录下的bmp图片。

在图片左右两边点击可进行切换上一张/下一张图片。

当图片切换到最后一张时,又重新回到第一张图片,可以实现图片的循环切换。

3.3音乐界面点击主界面音乐图标,进入音乐模块,此模式下,播放器会自动获取相对目录下的MP3文件。

点击播放按键可播放音乐,暂停播放音乐后,再次点击播放可继续播放上次未播放完的音乐。

音乐模块下还提供上一曲/下一曲按键,可快速切歌。

3.4视频界面点击视频图标,进入视频模块,此模式可自动获取相关目录下的MP4文件。

视频文件在此模块下,可进行播放/暂停、音量加减、快退/快进、上一视频/下一视频的相关操作,满足了大部分的基本功能。

4软件设计4.1娱乐影音软件功能模块介绍在程序中时刻读取坐标点的位置,如果读取到的坐标值满足相应的模块的坐标范围,就会进入相对应的模块。

使用switch条件选择语句,进入相对应模块的代码块中,当读取到的坐标点满足退出按键的范围时,会返回到主界面中。

图片显示中,通过读取bmp文件的各个像素点RGB值,暂时存到一个数组中,在显示的时候是将读取到的RGB写入显示屏设备文件/dev/fb0中,接着显示屏会显示对应的图片文件。

因屏幕的像素是800*480,因此需要在上传图片时,将图片的像素调至800*480的大小。

而且jpg的图片文件的读写方式与bmp文件格式不一样,因此图片显示中只能显示bmp的文件格式。

音乐播放中,使用了开源视频播放器mplayer,初始化时,读取对应目录的MP3文件,使用命令“mplayer /目录 &”实现播放音乐,使用"killall -19 mplayer"暂停播放音乐。

在实现播放时,使用sprintf函数对命令进行拼接,生成系统能够识别的正确命令。

视频播放时,同样是使用了mplayer播放器,但是相对音乐播放中又有很大的区别,在视频播放时,需要先建立一个管道文件,再打开。

使用命令"mplayer %s -input file=/sl/video_cmd -slave -zoom -x 600 -y 300 -geometry 100:50 -quiet &"打开视频并播放,同时设置视频的界面大小和位置。

并且通过命令改变播放状态,控制音量,快退快进等功能。

4.2主要程序分析主程序:mode.c#include "mode.h"int file_num[3];int get_xy(int *x,int *y){//1、打开触摸屏设备文件int ts_fd = open("/dev/input/event0",O_RDONL Y);if(ts_fd == -1){printf("打开触摸屏设备失败!\n");return -1;}//定义一个输入子系统数据管理结构体struct input_event ts_buf;//2、读取触摸屏数据while(1){read(ts_fd,&ts_buf,sizeof(ts_buf));if(ts_buf.type == 3) //表示绝对坐标事件{if(ts_buf.code == 0) //表示x轴* x = ts_buf.value;else if(ts_buf.code == 1) //表示y轴*y = ts_buf.value;}if(ts_buf.type == 1 && ts_buf.code == 330 && ts_buf.value == 0) break;}printf("读取结果:(%d,%d)\n",*x,*y);close(ts_fd);return 0;}//显示图片功能int show_bmp(char *picname) //show_bmp("/sl/1.bmp");{/3、打开LCD屏幕设备文件和bmp格式图片int lcd_fd = open("/dev/fb0",O_RDWR);if(lcd_fd == -1){printf("打开LCD设备文件失败!\n");return -1;}//打开指定路径(picname)下的图片int bmp_fd = open(picname,O_RDONL Y);if(bmp_fd == -1){printf("打开bmp图片文件失败!\n");return -1;}char bmp_rgb[800*480*3] = {0};int lcd_buf[800*480] = {0};//4、读取图片rgb数据int bytes = read(bmp_fd,bmp_rgb,800*480*3);int i = 0 ;for(i=0;i<800*480;i++){lcd_buf[i] = bmp_rgb[3*i+0] << 0 | bmp_rgb[3*i+1] << 8 | bmp_rgb[3*i+2] << 16; }//用于存放上下颠倒过后的rgb数据int lcd_buf1[800*480] = {0};int j = 0;for(i = 0;i<800;i++)for(j=0;j<480;j++){lcd_buf1[800*j+i] = lcd_buf[(479-j)*800+i];}//5、将上下翻转过后的数据写入到lcd屏幕write(lcd_fd,lcd_buf1,800*480*4);//6、关闭lcd和bmpclose(lcd_fd);close(bmp_fd);return 0;}char file[5][50];//册界面的功能函数int get_photo_file(void){DIR * dir;struct dirent * ptr;int i = 0, j = 0;dir = opendir("/IOT/ocan/picture/user");while((ptr = readdir(dir)) != NULL){if(NULL != strstr(ptr->d_name, ".bmp")) {sprintf(file[i], "/IOT/ocan/picture/user/%s", ptr->d_name);//file[i]=strcat("/IOT/ocan/picture/user/", ptr->d_name);i++;}}printf("Have %d file(s)\n", i);for(j = 0; j < i; j++)printf("d_name : %s\n", file[j]);closedir(dir);return i;}char music_file[5][50];int get_music_file(void){DIR * dir;struct dirent * ptr;int i = 0, j = 0;dir = opendir("/IOT/ocan/music");while((ptr = readdir(dir)) != NULL){if(NULL != strstr(ptr->d_name, ".mp3")) {sprintf(music_file[i], "/IOT/ocan/music/%s", ptr->d_name); //file[i] = strcat("/IOT/ocan/pi cture/user/", ptr->d_name);i++;}}printf("Have %d file(s)\n", i);for(j = 0; j < i; j++)printf("d_name : %s\n", music_file[j]);closedir(dir);return i;}char video_list[2][50];int get_video_file(void){DIR * dir;struct dirent * ptr;int i = 0, j = 0;dir = opendir("/IOT/ocan/video");while((ptr = readdir(dir)) != NULL){if(NULL != strstr(ptr->d_name, ".mp4")) {sprintf(video_list[i], "/IOT/ocan/video/%s", ptr->d_name);i++;}}printf("Have %d file(s)\n", i);for(j = 0; j < i; j++)printf("d_name : %s\n", video_list[j]);closedir(dir);return i;}int do_music(int x, int y){static int mp3_state = OFF;static int count = 0;char play_cmd[200];if(x > 350 && x < 455 && y > 350 && y < 455) {if(0 == mp3_state){//拼接命令和歌曲名sprintf(play_cmd,"mplayer %s &", music_file[count]);//假设count = 0,则play_cmd = "mplayer /sl/1.mp3";//sytem("mplayer music_list[count]"); //错误写法system(play_cmd);//修改mp3得播放状态为正在播放mp3_state = 1;printf("mp3_state is ==== %d cmd ==%s\n", mp3_state, play_cmd); }else if(1 == mp3_state) {//若当前正在播放,则暂停音乐system("killall -19 mplayer");//修改mp3得播放状态为暂停状态mp3_state = 2;printf("State = %d\n\n", mp3_state);}else if(2 == mp3_state) {system("killall -18 mplayer");//修改mp3得播放状态为正在播放mp3_state = 1;}} else if(x > 277 && x < 298 && y > 370 && y < 438) //上一首{//先判断当前状态是否为播放或者暂停状态,若是,则先停止if(mp3_state == 1 || mp3_state == 2)system("killall -9 mplayer");count--;if(count < 0)count = file_num[1] - 1;//先拼接播放命令sprintf(play_cmd,"mplayer %s &", music_file[count]);system(play_cmd);//修改mp3得播放状态为正在播放mp3_state = ON;}else if(x > 500 && x < 570 && y > 370 && y < 440) //下一首{if(mp3_state == ON || mp3_state == STOP)system("killall -9 mplayer");count++;if(count > file_num[1] - 1) count = 0;//先拼接播放命令sprintf(play_cmd,"mplayer %s &", music_file[count]);system(play_cmd);//修改mp3得播放状态为正在播放mp3_state = ON;}return 0;}int do_video(int x, int y){//7、创建管道文件system("mkfifo video_cmd");//8、打开管道文件int fifo_fd = open("video_cmd",O_RDWR);if(fifo_fd == -1) {printf("管道文件打开失败!\n");}static int mp4_state = OFF; //mp4播放状态标志0 停止1 正在播放2 暂停状态//记录当前第几个视频static int count = 0;char play_cmd[300];if(x > 0 && x < 100 && y > 0 && y < 100) //左上角返回{//关闭视频if(mp4_state != OFF)system("killall -9 mplayer");}if(x > 360 && x < 440 && y > 400 && y < 480) //若点击到播放按钮{if(mp4_state == OFF) //若当前为停止状态,则开始播放一首音乐{//拼接命令和视频名sprintf(play_cmd,"mplayer %s -input file=/sl/video_cmd -slave -zoom -x 600 -y 300 -g eometry 100:50 -quiet &", video_list[count]);//假设count = 0,则play_cmd = "mplayer /sl/1.mp4";//sytem("mplayer video_list[count]"); //错误写法system(play_cmd);//修改mp4得播放状态为正在播放mp4_state = ON;}else if(mp4_state == ON) //若当前正在播放,则暂停音乐{system("killall -19 mplayer");//修改mp4得播放状态为暂停状态mp4_state = STOP;}else if(mp4_state == STOP) //若当前为暂停状态,则继续播放{system("killall -18 mplayer");//修改mp4得播放状态为正在播放mp4_state = ON;}}else if(x > 250 && x < 325 && y > 400 && y < 480) //上一首{//先判断当前状态是否为播放或者暂停状态,若是,则先停止if(mp4_state == ON || mp4_state == STOP)system("killall -9 mplayer");count--;if(count < 0)count = file_num[2] - 1;//先拼接播放命令sprintf(play_cmd,"mplayer %s -input file=/sl/video_cmd -slave -zoom -x 600 -y 300 -g eometry 100:50 -quiet &", video_list[count]);system(play_cmd);//修改mp4得播放状态为正在播放mp4_state = ON;}else if(x > 470 && x < 550 && y > 400 && y < 480) //下一首{//先判断当前状态是否为播放或者暂停状态,若是,则先停止if(mp4_state == ON || mp4_state == STOP)system("killall -9 mplayer");count++;if(count > file_num[2] - 1)count = 0;//先拼接播放命令sprintf(play_cmd,"mplayer %s -input file=/sl/video_cmd -slave -zoom -x 600 -y 300 -g eometry 100:50 -quiet &", video_list[count]);system(play_cmd);//修改mp4得播放状态为正在播放mp4_state = ON;}else if(x > 0 && x < 80 && y > 400 && y < 480) //音量-{//写入音量-得控制命令write(fifo_fd,"volume -3000\n",14);}else if(x > 720 && x < 800 && y > 400 && y < 480) //音量+{//写入音量-得控制命令write(fifo_fd,"volume +3000\n",14);}else if(x > 128 && x < 208 && y > 400 && y < 480) //快退10s {//快退10swrite(fifo_fd,"seek -10\n",10);}else if(x > 586 && x < 666 && y > 400 && y < 480) //快进10s {//快退10swrite(fifo_fd,"seek +10\n",10);}return 0;}main.c#include "mode.h"extern char file[5][50];extern int file_num[3];int main() //程序的执行入口{int MODE = 0;int x,y,i;int photo_count_now = 0; //记录当前图片int music_count_now = 0;file_num[0] = get_photo_file();file_num[1] = get_music_file();file_num[2] = get_video_file();show_bmp("/IOT/ocan/picture/main/main.bmp"); //主界面while(1) //不断获取坐标数据,根据坐标位置进行相应的跳转{get_xy(&x,&y);switch(MODE){case 0://显示主界面if(x > 70 && x < 226 && y > 183 && y < 334) {MODE = 2;//点击到视频图标break;}else if(x > 311 && x < 468 && y > 182 && y < 336) {MODE = 3;//点击到音乐图标break;}else if(x > 553 && x < 700 && y > 183 && y < 333) {MODE = 1;//点击到相册图标break;}break;case 1://切换到相册界面if(x > 0 && x < 100 && y > 100 && y < 480) {photo_count_now--;if(photo_count_now < 0) photo_count_now = file_num[0] - 1;}else if(x > 700 && x < 800 && y > 100 && y < 480){photo_count_now++;if(photo_count_now > file_num[0] - 1) photo_count_now = 0;}printf("打开的文件:%s, count = %d\n", file[photo_count_now], photo_count_now); show_bmp(file[photo_count_now]);if(x > 0 && x < 100 && y > 0 && y < 100) { //左上角返回printf("刷新主界面\n");show_bmp("/IOT/ocan/picture/main/main.bmp"); //刷新主界面MODE = 0;break;}break;case 2:show_bmp("/IOT/ocan/picture/main/music.bmp");do_music(x, y);if(x > 0 && x < 100 && y > 0 && y < 100) { //左上角返回show_bmp("/IOT/ocan/picture/main/main.bmp"); //刷新主界面MODE = 0;break;}break;case 3:show_bmp("/IOT/ocan/picture/main/video.bmp");do_video(x, y);if(x > 0 && x < 100 && y > 0 && y < 100) { //左上角返回show_bmp("/IOT/ocan/picture/main/main.bmp"); //刷新主界面MODE = 0;break;}break;}}return 0;}5实物测试5.1实物测试结果1、主界面2、图片模块3、音乐模块4、视频模块6设计心得总结6.1总结本课题是做一个基于GEC-6818开发平台的娱乐影音模块,利用定制的Linux 系统,通过C语言的编程,经过交叉编译环境,让编译的文件能够直接适用于ARM开发板。

相关文档
最新文档