ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc

ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc

ID:27528168

大小:235.50 KB

页数:12页

时间:2018-12-04

ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc_第1页
ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc_第2页
ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc_第3页
ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc_第4页
ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc_第5页
资源描述:

《ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、ZedBoard上的点灯签名实验(六)驱动开机自启动及OLED签名  写好了驱动,也就是留好了API的接口,接下来就可以在应用层面上调用API接口,从而实现对LED的操作了。为此我们要做一个准备工作,我们希望驱动开机自动加载,省去手动执行insmod命令,从而直接进入应用程序。开机自启动的方法,官方ZynqGeek和网友蓝兔子都有很好的介绍。基本思路就是,先解压文件系统ramdisk8M.image.gz,然后修改其中的/etc/init.d/rcs,加入挂载和加载命令mount/dev/mmcblk0p1/mntinsmod/mnt/myled.ko  然后再重新打包

2、,替换掉SD卡上原来的ramdis8M.image.gz文件。这样上电后,系统就可以自动运行以上2条命令了。具体的做法如下:把SD卡从Zedboard上拔下,插入PC上,SD卡自动加载到/media/ZED_BOOT,然后把ramdisk8.image.gz,拷到一个文件夹,比如/tmp,命令为cp/media/ZED_BOOT/ramdisk8M.image.gz/tmp,然后到/tmp下解压,gunzipramdisk8M.image.gz得到ramdisk8M.image,挂载ramdisk8M.image到目录/mnt,命令mout-oloopramdisk8M

3、.image/mnt,然后到/mnt目录下,找到etc/init.d/rcS,使用gedit打开rcS,命令为geditrcS,在文档最后加入上述2条命令。然后卸载,umount-l/mnt,回到/tmp目录,命令cd/tmp,重新打包,命令gzipramdisk8M.image,得到新的ramdisk8M.image.gz,把他拷到SD卡上,覆盖原来的ramdisk8M.image.gz.重新上电,效果如下图    可以看到2条命令已经自动执行了,驱动myled.ko已经自动加载了。当然,开机自启动也可以在编译内核的时候,通过修改内核Makefile达到目的,其实还是

4、这样方便些。再说一下,OLED签名,就是让OLED显示自定义的图案或者文字,要做到这个事情,当然第一步就是要研究一下OLED驱动(附件),oled_driver_gpio.txt,说实在的,这个驱动我没有仔细研究过,给Zedboard上电,一会后就会看到Digilent的logo了,这说明Digilent至少是设置好了开机自动加载驱动,那么我们打开ramdisk8M.image中的文件etc/init.d/rcS看看有什么内容是和OLED相关的,我们看到load_oled,rcS是一个shell脚本,那么load_oled应该是一个可执行文件,为了要找到他,我们先看环境

5、变量,命令gedit/etc/profile,我们看到exportPATH=/sbin:/usr/sbin:/bin:/usr/bin那就挨个找吧,在目录/usr/bin中,我们看到load_oled和unload_oled两个脚本,试着打开看看,geditload_oled,里边是一个shell脚本,#!/bin/shinsmod/lib/modules/`uname-r`/pmodoled-gpio.ko;  if[-c/dev/zed_oled];thencat/root/logo.bin>/dev/zed_oled;fi;这就很明白了,/dev/zed_oled

6、是驱动的API接口,把/root/logo.bin输入到接口,OLED就显示logo.bin,那么,接下来的关键就是制作二进制文件.bin或者怎么样把图片或者文字转化成二进制了,这个其实并不容易,网上说,很多软件可以做到,但是我试过不下5种软件,都行不通。最后,在官博()上看到网友发了这样一段程序,#include#include#defineWIDTH128#defineHEIGHT32#defineSHORT_LENGTH16#defineBYTE_LENGTH8//Nameofdefinedimage#defineNAMEline_bits//Filenameto

7、writeto#defineFILENAME“line_bits.bin”//Invertimage#defineINVERT0staTIcunsignedshortline_bits[]={0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0000,0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。