教案ti am335x linux下lcd测试例程_第1页
教案ti am335x linux下lcd测试例程_第2页
教案ti am335x linux下lcd测试例程_第3页
教案ti am335x linux下lcd测试例程_第4页
教案ti am335x linux下lcd测试例程_第5页
已阅读5页,还剩28页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LinuxLCD免本文档是作者对GOEMBED产品进行实际操作和测试后,作总结由于作者水平有限,建议读者具备的计算机基础和基本软件操作能力加 群 )交流和建议,或发厂商技术支持邮箱进行咨询:s硬详细介绍SBC3358-B2A单板串口调试器:软详细介绍Ubuntu版本:12.04SBC3358- 单板机软件特性1、BootLoader版本:u-boot-2013.01.01LCDLCDIICSPIDMARTCUSBOTGDEBUGTFCAN3、交叉工具链:arm-linux-gnueabihf-SBC3358- 单板机资源分配特性1、eMMC空间FAT32格式分EXT3格式分一、准备工作1、参考《TIAM335x搭建Linux发环境v1.0.docx》和《TIAM335x系统编译v1.0.docx》把开发环境搭建好2、为了方便阅读和修改代码,在这里我使用的是SourceInsight(一个代码编辑工具)对代码进行修改。用户可以直接在终端VI编辑代注:1、应用程序编译要采用arm-2009q1交叉编译。(后续补上2、以下使用的是4.3寸TFT屏进二、准备代码1、找到lcd_test的源代码压缩包,名为“lcd_test.tar.gz用以下命令进行解压命令tar–zxvf这时在当前文件夹下会生成lcd_test文件夹,里面的代码就是测试的源码三、分析代码1、framebuffer构中的接口,控制和操作LCD内部的控制器。驱动程序需要将显存的起始地址和长度传递给LCD控制器的寄存器2、Makefile最重要的几个参数如下“NAME:lcd_test_out”:指的是生成的可执试文件“CROSS=/usr/local/toolchain/arm-2009q1/bin/arm-none-linux-gnueabiarm-2009ql“SRCDIRSlcd_test”指的是要编译的文件夹,这里指的就是源码包解压出来的lcd_test文件夹,也是最重要的文件夹。3、分析“lcd_test文件夹中找到它在main函数中打开的是“/dev/fb0”,由于我们只有一块LCD屏,默认为fb0。当们打开f0动个framebufer驱动,完成内存映射,该应用对应的用户空间与内核空间使用的是同一块内存,在此时该内存已映射为LCD显存,应用程序可以直接读写该内存,而在LCD上上到示如将张写内,则LCD上显示该。也即是说,只要该内存写入数据,该数据就会立即在LCD屏上显示出来。根据这个原理,我们的应用程序就容易很多了。我们可以看到,在main这几个函数的作用测试就是分别在LCD调色板测试,这个我后面进行介绍。我们先来看一下测试程序中有哪些可调用函数比较重要:在文件开头我定义了以下函数我们第一个是voiddraw_dot(PFBDEVpFbdev,POINTp,void*color);,这个函数的作用是在LCDfmc函数的作用是将某一个点的像素信息直接写到显存里,通过这个步骤可以在LCD第二个voiddraw_line(PFBDEVpFbdevPOINTp1POINTp2,void*LCDfor语句中调用的是draw_dot(pFbdev,p,colr);也就是说,voiddraw_polygon(PFBDEVpFdev,uint32_tnum,PPOINTarray,void*color),如下:LCDfordraw_linedraw_linedraw_dotvoiddraw_triangle(PFBDEVpbdev,POINTp1,POINTp2,POINTp3,void*color),如下:这个函数的作用是LCD上画一个三角形,我们可以看到,该函数就只调用了一个画多边形函数draw_polygon(pFbdev3,p,color),里面num参数直接传入3,这个不用说,三角形边数固定为3。然后draw_polygon()函数又调用画线函数draw_line(),draw_line()又调用画点函数draw_d第五个是voiddraw_circle(PFBDEVpFbdev,POINTcenter,uint32_tradius,void*color),如下:第六个voiddraw_parabola_x(PFBDEVpFbdev,POINTcenter,inta,void*color),如下:这个LCD屏幕上画一条关x轴对称的抛物线第七个voiddraw_parabola_y(PFBDEVpFbdev,POINTcenter,inta,void*color),如下:这个LCD屏幕上画一条关y轴对称的抛物线数,如下:这个函数的作用是根据传递的矩形的坐标和颜色参数在该矩形中以填充线条的方式填充颜色,说到底还是调用画点函数,这个用点填充的过程非常快,由于人眼存在“视觉残留”的现象,高速运动的画面在人脑中会形成短暂的印象,因此,我们是感受不到填充点的过程的。接下来我写了几个测试函数供用户调用,有:rgb_test()、gray_test()palette_test()第一个是voidrgb_test(PFBDEVpFbdev),如下第二个是voidgray_test(PFBDEVpFbdev),如下:第三个是voidpalette_test(PFBDEVpFbdev);如下这个函数进行调色板测试,过程是这样的,我先获取LCD个forLCD改颜色画一条竖线,直到画满整个屏幕。最终我们会在屏幕上看到一幅调色板画面。我们来看一main函数main数中,首先打开/dev/fb0文件,如果打开失败则打印"openframebuffererror\n",接下来依次调用三原色测D以尝试写一下更高级的程序。下面我们把应用程序编译后生成的可执行文件到板子上测试一下。四、编译测试程序注:应用程序编译要采用arm-2009q1交叉编工具、库、输入文件夹、输出文件名等都设置好了,我们直接在当前下(前提已经安装arm-2009ql交叉编译工具)输入make即可。先导出交叉编译工具,如下图进入到测试文件执行make(若有残留旧文件可先执行“makeclean:生成可执行文件五、测试测试程序上电开机后输入root登入SBC3358-启动系统后找到该文件(该文件的位置根据用户启动系统的实际情况决定,在这里不赘述命令:测试结束后程序自动安全退出到这里,LCD屏幕测试已成功完成SBC335x–SBC335x–SBC335x–ThesingleboardcomputerSBC335x-B1A/B2AwhichhasanexpansionboardtocarrytheCM335Xisoneofourdesignofthebaseplate.Theflexibledesignallowsthefastandeasywayofrealizingandupgradingthecontroller’scapabilities.InadditionaltothosefeaturesofferedbyCM335X.TheB1Afeatures4serialports(including2RS232and2TTL),4USBHostand1USBOTG,1Ethernetports,CAN,RS485,Wiegand,VGA,LCD,Touchscreen,Audio,ADCandmoreotherperipherals.TheB2Afeatures4USBHostand1USBOTG,1Ethernetports,LCD,Touchscreen,RTC,andmoreotherTheSBCboardtargetsawiderangeofapplications,including:HMIs,DigitalSignage,POS,DataTerminal,MedicalDevices,Navigation,IndustrialAutomation,Entertainmentsystem,ThinClients,Robotics,GameConsoleandmuchmore.TheSBC335x-B1A/B2Aareready-to-runplatformtosupportLinux3.x,Android4.xandWinCE7.0/6.0operatingsystems.SBC335x-B1AboardsDescriptionofpart PartSBC3352ACW-SBC3352BCW-SBC3358ACW- SBC3358BCW-Order-- CM3352CM3352CM3358CM3358CoreCPUCPUCPURAMMicroneMMCTISupplyDC9-OptimalDC146x1020°to70°SupportInOutofContactInOutofContactSBC335x-B1ABlockFigure1B1BlockSBC335x-B2AboardsDescriptionofpart PartSBC3352ACW-SBC3352BCW-SBC3358ACW- SBC3358BCW-Order-- CM3352CM3352CM3358CM3358CoreCPUCPUCPURAMMicroneMMCTISupplyDC9-OptimalDC130x103.50°to70°SupportInOutofContactInOutofContactSBC335x-B2ABlockFigure1B2ABlockABOUTGOEMBEDteamwithexperiencedembeddedengineerswhohavebeenengagedinARMhardwareandsoftwaredesignfor10+years.OurproductsincludesingleboardcomputersandCPUcoremodulesbasedonTI®SitaraandFreescale®i.MXApplicationsProcessorsbasedonARM®Cores.SupportedbyLinux/Android/Debian/Ubuntu/QT/Angstrom/WinCE7.0&6.0/uCOS.WecanredesigncarrierboardsandSBCasyourideaquickly.GOEMBEDfocusonEmbeddedBoardSolutions,provideacompletenewboardforyourspecifiedrequirement

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论