收藏 分享(赏)

AM335X开发日记.doc

上传人:精品资料 文档编号:10084281 上传时间:2019-10-08 格式:DOC 页数:13 大小:576.54KB
下载 相关 举报
AM335X开发日记.doc_第1页
第1页 / 共13页
AM335X开发日记.doc_第2页
第2页 / 共13页
AM335X开发日记.doc_第3页
第3页 / 共13页
AM335X开发日记.doc_第4页
第4页 / 共13页
AM335X开发日记.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、AM335X 平台开发日记2014-11-24 至 2014-11-29 进行核心板原理图设计2014-12-1 至 2014-12-10进行 PCB 设计。2014-12-5开始学习 AM335X 软件部分的知识。安装了 vmware 虚拟机,10.0.1 版本的。安装了 ubunt12.04 版本。安装 vmware-tools,创建共享文件夹。在 root(需执行 sudo su)下执行 mount -t vmhgfs .host:/ /mnt/hgfs在 windows 共享文件夹存放 TI 安装包 ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Ins

2、tall.bin。在终端里面执行安装。安装目录为/usr/local/ti-sdk-am335x-evm#,一般会自动加入环境变量,如果没有,在/etc/environment 增加环境变量:(注意:6.0 的安装包不支持 ubunt14.04 版本,只支持 12.04 以下的版本)PATH=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ti-sdk-am335x-evm/linux-devkit/sysroots/i686-arago-linux/usr/bin:“输入命

3、令 arm-linux-gnueabihf-gcc v 即可查询版本执行 setup.sh 配置 linux 环境,例如安装包更新,NFS,TFTP,minicom 等。下载了 Uniflash V3,准备选择 USB 或者 ETH 接口进行 FLASH 编程。执行命令 make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x ARCH=arm am335x_evm 编译 u-boot,生成 MLO(spl)和 u-boot.imgNandflash 程序分区:1. 0-0x1ffff 为 SPL2. 0x20000-0x3ffff 为 SPL back

4、up13. 0x40000-0x5ffff 为 SPL backup24. 0x60000-0x7ffff 为 SPL backup35. 0x80000-0x25ffff 为 uboot6. 0x260000 -0x27ffff 为 env7. 0x280000-0x77ffff 为 linux kernel8. 0x780000- 为 file system9. 下载 uboot 软件并进行修改适应新设计的核心板,并把 uboot 下载到板子里调试运行。2014-12-8下载安装 TI 的 AM335X 开发板的 6.0 软件包,安装下载了用于 USB 下载烧录FLASH 的工具 UniF

5、lash,学习 UniFlash 的使用方法。2014-12-9今日编写部门年度计划和总结,未进行软件调试。2014-12-10编译 uboot,尝试用 USB 下载,下载安装了驱动程序 linux_am335x.inf,板子能识别 USB 接口并虚拟成网口, 但是程序下载过程中没反应。学习 uboot 的软件结构,编译选项和编译过程,分析 uboot 中 SPL 的运行过程,不同加载方式的区别等。SPL 加载执行过程:1 首先 Start.s 里面调用 cpu_init_crit,再运行 lowlevel_init,里面执行 s_init()2 然后运行_main,在 arch/arm/li

6、b 里面的 crt0.s 中3 运行 board_init_f,在 arch/arm/lib 里面的 spl.c 中,再运行 board_init_r()。4 执行 spl_board_init 到 am33xx_spl_board_init,进行主频设置(会根据不同板子进行) 。5 根据启动参数 boot_params.omap_bootdevice 来选择进行 uboot.img 的加载。6 跳转到 uboot 程序运行,这里也可以选择通过 SPL 直接加载 linux。尝试用 UART 口加载程序,采用 xmodem 可以下载,但是下载后没有反应。晚上采用 PSP 的软件包编译,放到 S

7、D 卡里面可以加载运行。但是仍然不理解为什么 UART 下载的程序不运行,是否内部 ROM 程序把软件加载位置和编译选项之间的关系不匹配?但查不到出问题的地方。2014-12-11把关于 EEPROM 的部分删除,编译 UBOOT,可以在周立功的板子上运行,并可以加载 ubot,进而引导内核。可能是 SD 卡文件系统有问题,就是加载文件系统失败。另外发现在运行 CPSW 时提示“wait_for_user_access Timeout”,这是对 PHY 操作的 MDIO 长时间处于忙状态导致,判断 GO 状态位,在寄存器MDIOUSERACCESS0 中有说明。下一步准备在 uboot 中调通

8、以太网和 NANDFLASH。2014-12-12Nand 调试说明:1. 首先修改 Mem.c 中的 gpmc_init()函数,相应修改 Mem.h 中的配置。查看gpmc_config = gpmc_m_nand;找到 gpmc_m_nand 的配置,也在 Mem.h 中。2. 外设引脚的配置在 SPL 中执行,在 s_init()函数中,enable_board_pin_mux(header 是从 EEPROM 中读出,如果没有EEPROM,需要自己重新定义。3. 重新编译 uboot 后,下载运行能识别 NAND 并可正常进行读写。4. 用 UART 或者 SD 卡启动后,可以在 u

9、boot 里面进行 nand 的操作,具体说明参考 sitara-linuxsdk-sdg-06.00.00.00.pdf。2014-12-13以太网调试:根据板子 PHY 的配置是 RMII,因此需要移植1. board.c 里面,首先进行 RMII 接口外设的 mux 配置。static struct module_pin_mux rmii1_pin_mux = OFFSET(mii1_txen), MODE(1), /* RMII1_TXEN */OFFSET(mii1_txd1), MODE(1), /* RMII1_TXD1 */OFFSET(mii1_txd0), MODE(1),

10、 /* RMII1_TXD1 */OFFSET(mii1_rxd1), MODE(1) | RXACTIVE, /* RMII1_RXD1 */OFFSET(mii1_rxd0), MODE(1) | RXACTIVE, /* RMII1_RXD1 */OFFSET(mdio_data), MODE(0) | RXACTIVE | PULLUP_EN,/* MDIO_DATA */OFFSET(mdio_clk), MODE(0) | PULLUP_EN, /* MDIO_CLK */OFFSET(mii1_crs), MODE(1) | RXACTIVE, /* RMII1_CRS_DV *

11、/OFFSET(rmii1_refclk), MODE(0) | RXACTIVE, /* RMII1_REFCLK */-1,;对于接收引脚,一定要使能 RXACTIVE,否则会出现异常。2. 以太网的初始化,是从执行 board_init_r(),进入 eth_initialize(),执行phy_init(),这里要选择和实际一样的配置,选择 CONFIG_PHY_MICREL(周立功的板子 KSZ8041)和 CONFIG_PHY_SMSC(现在自己做的板子 LAN8720),这里会 registerPHY,比较 PHYID 的一致性,提供相关驱动。3. 接着执行 board_eth_

12、init(),需增加接口的配置模式 #define RMII_MODE_ENABLE 0xc5,用于配置 GMII_SEL 寄存器(使能 RMIIrefclk input) 。cpsw_slaves0.phy_if 赋值为 PHY_INTERFACE_MODE_RMII。接着执行 cpsw_register() (在 cpsw.c 中) ,里面会对 PHY 进行初始化操作cpsw_phy_init。2014-12-15为方便进行在 windows 下编辑软件,使用 samba 服务进行文件共享。在虚拟机下的 network 配置要为 NAT, VMware Virtual Ethernet A

13、dapter for VMnet8 的 IP 配置和客户机里的 IP 一个网段。客户机的网关配置为虚拟机的IP。安装 samba,apt-get install samba建立共享目录,/home/jiao/share,并设置读写权限,chmod 777 share建立 samba 用户,smbpasswd a jiao (jiao 为当前用户 ),并输入密码。修改 smb.conf 文件,添加共享目录设置。sharecomment=share filespath=/home/jiao/shareavailable = yesbrowseable = yespublic = yeswritab

14、le = yeswrite list =jiaovalid users=jiaoguest ok = yes其他都不用改。启动 samba 服务,service smbd start 或者重启 /etc/init.d/smbd restart在 windows 下地址栏输入192.168.138.5(客户机 IP),第一次要输入用户名和密码,可保存密码,以后就可以直接进入。在里面可以看到共享的文件夹了。看到网上说,如果遇到访问权限,需要关闭防火墙和 seliunx,命令是Iptables FSetenforce 02014-12-16今天是个收获的日子,昨天偶然看到 MII_SEL 寄存器中有

15、 RMII_REFCLK 引脚方向配置,默认是输出,原来没有配置造成 RMII 不能正常工作在 windwos 下用 source insight 进行编辑软件还是很方便,效率提高不少,编译时写了脚本文件,也提高了效率。更改 NAND flash 的写保护和 MII_SEL 寄存器的配置,下载后,调试发现NANDflash 和以太网操作都正常了,可以实现 TFTP 的下载,并对成功对 NAND进行读写。另外在初始化网络时,可以先把 UBOOT 中的 IP 地址设置好,减少后面的输入操作。可以用如下方法:Ipaddrset=0x0501a8c0; /192.168.1.5ip_to_string

16、(Ipaddrset, tmp);setenv(“ipaddr“, tmp);先采用 UART 下载 u-boot-spl.bin 和 u-boot.img,启动后采用 TFTP 进行下载 MLO和 u-boot.img,并烧录 nandTftp 0x82000000 MLONand erase 0x0 0x80000Nand write 0x82000000 0x0 0x20000Nand write 0x82000000 0x20000 0x20000Nand write 0x82000000 0x40000 0x20000Nand write 0x82000000 0x60000 0x2

17、0000Tftp 0x82000000 u-boot.imgNand erase 0x80000 0x80000Nand write 0x82000000 0x80000 0x80000如果用 SD 或 USB 下载,命令如下Mmc rescanFatls mmc 0Fatload mmc 0 0x82000000 MLO下面开始进行 linux 系统的移植工作,主要应该有以下几个方面:1. 编译系统的配置,包括各种外设配置2. 文件系统的移植3. 6 个 UART 驱动和 CAN 驱动的移植4. 网络驱动(两个网口) 、USB 驱动、SD 卡驱动5. LCD 驱动的调试6. 音频驱动7. S

18、PI 驱动Linux 编译1. clean :make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mrproper2. 目标板默认配置make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- Device SDK config PSP configAM335x/Beaglebone tisdk_am335x-evm_defconfig am335x_evm_defconfigAM37x tisdk_am37x-evm_defconfig omap3_evm_defconfigAM3517 tisdk_am35

19、17-evm_defconfig am3517_evm_defconfigBeagleboard tisdk_beagleboard_defconfig omap3_beagle_defconfigAM180x tisdk_am180x-evm_defconfig da850_omapl138_defconfig编译 AM335X 的板子如下:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_defconfig自定义配置make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menu

20、config编译内核:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage通过 uboot 下载内核后,能启动内核,下一步进行文件系统的移植。2014-12-17利用周立功提供的文件系统,编译后下载,启动报错。UBI error: ubi_init: UBI error: cannot initialize UBI, error -19下午参加了技术中心年中总结汇总会议,没有进行调试。2014-12-18今天是郁闷的一天,文件系统一直挂载失败,利用自己编译的内核,和周立功的文件系统也不行,又试了周立功的内核和文件系统,利用自己的 ubo

21、t,也不能启动。后来从 UBI error: ubi_init: UBI error: cannot initialize UBI, error -19 这个报错,一直跟踪查找,找到了 open_mtd_device 返回出错,进一步查到 idr_find 函数返回出错,下面都是 linux 的链表数据,看不太懂,无法进行下去了。反复进行,折腾了一天,没有眉目。下午快下班时,想到原来 9260 平台的 linux 系统文件系统的分区信息在一个结构体mtd_partition 里可进行修改,找到 mtd_partition 这个结构体的定义am335x_nand_partitions。发现有 7

22、 个分区信息,但是就是没有看到打印信息,于是怀疑nand 就没有进行初始化操作。从分区初始化查找 evm_nand_init 没有执行,进而查到板子硬件初始化的结构体evm_dev_cfg,发现定义这个结构体的数组都是根据不同板子的信息进行的,由于我没有EEPROM 的信息,把根据这个信息进行的操作都屏蔽了,怪不得这些硬件初始化都没有执行。于是更改初始化信息的把,从 EEPROM 读出的 config 信息都进行手动配置,选择ind_auto_mtrl_evm_dev_cfg 这个板子进行硬件初始化。主要是修改 board-am335xevm.c 文件。从 am335x_evm_setup 函

23、数开始。修改程序后,运行发现文件系统能进行初始化操作了,也看到了分区信息,但是由于 UBI参数和编译文件系统是的参数不一致,没有文件系统没有挂载成功。下一步把 UBI 参数调整好再试试。总结 linux 下文件系统参数的传递过程:是从启动命令行 kernel command line 传递过来的,console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=7,2048 rootfstype=ubifs rootwait=1。从这个信息看到根文件系统的信息是 ubi0,挂载在 ubi.mtd 的第 7 个分区上。周立功的内核分区信息只有 5 个,所以用我

24、们的 uboot 传递过去的信息不对,导致不成功,原来没有进行 nand 初始化并得到分区信息,因此在进行 ubi 初始化时找不到分区信息而报错。因此uboot 的传递过去的根文件系统的挂载信息必须和 linux 系统下的分区信息相对应。一般在会在用 mtd_partition 定义的数组里,不同板子配置系统放的位置不太一样。2014-12-19调试发现文件系统的烧录和 ECC 的配置有很大关系,目前标准版 uboot 里面用的是HW_BCH8_ECC。从周立功的启动信息看,NAND: HW ECC Hamming Code selected,他们把 uboot 的的 ECC 更改了。为了内核

25、和 uboot 保持一致,暂时都选用 HW_BCH8_ECC,但是这样在做 UBI 文件系统时,参数的选择是否就不应该和周立功的一致。目前系统默认的是:UBI logical erase block size 0x1F000UBI minimum I/O size 0x800Maximum LEB count 2047 (一般小于或等于 block conut-1)UBI phyisical erase block size 0x20000UBI sub-page size 0x800 (不分页擦除和校验等于 min I/O size)制作根文件系统,参考 TI 的 FAE 编写的文档Ubif

26、s文 件 系 统 的 制作 和 启 动 .pdf从官网上下载 ftp:/ftp.infradead.org/pub/mtd-utils直接 make 编译。中间会报错,需要安装一些支持库,主要有 libacl1-dev、liblzo2-dev、uuid-dev、zlib1g-dev。编译完成后,进行 make install。执行命令进行生成镜像文件。mkfs.ubifs F -q -r /home/usr/fs -m 2048 -e 126976 -c 2047 -o ubifs.img 这个地方搞了很久,原来以为下载这个文件就行了,其实对于用uboot烧录nand的方式,必须还要用ubin

27、ize进行格式转换。ubinize -o ubi.img -m 2048 -p 128KiB ubinize.cfgubinize.cfg文件内容如下:ubifs mode=ubiimage=ubifs.img vol_id=0 vol_size=200MiB vol_type=dynamic vol_name=rootfs vol_flags=autoresize制作文件系统后,利用SD卡烧录到nand中,上电启动后系统运行和加载文件系统正常了。搞了两天终于把文件系统成功加载了。2015-1-2前一段时间由于工作的不确定性,把AM335X 的开发暂时停了一段时间,现在继续捡起来把这个平台完善

28、。时间过得好快,不经意已经跨年了,俗话说好事多磨,相信通过自己不懈的努力,应该能把这个平台的功能完善,做出一个稳定可靠并且容易使用的平台。前面已经把文件系统加载成功,下面需要调试系统的网口和串口驱动。没有修改的情况下,网口PING不成功。应该还要修改一些地方。修改am33xx_cpsw_init函数,把gmii_sel配置为0x49,MAC1设置为RMII, MAC2设置为GMII 。同时在setup_ind_auto_motor_ctrl_evm中执行am33xx_cpsw_init(AM33XX_CPSW_MODE_RMII, NULL, NULL);编译后在UBOOT中通过TFTP下载内

29、核,首先要执行NAND 的启动模式。run nandargstftp 0x82000000 uImagebootm 0x82000000系统启动后,PING主机成功。在ind_auto_mtrl_evm_dev_cfg数组中添加对MAC2 的初始化配置:rgmii2_init, DEV_ON_BASEBOARD, PROFILE_ALL,连接网口 2,能识别出千兆位口,但是当网口1使能时,网口2不能ping通,把网口1关闭后,网口2就能ping通,是不是linux 系统里识别到一个主机IP 后,会把主机IP 绑定到这个网口上。后来在百度上查询,有人说两个网口是不能在一个网段,验证设置成两个网段

30、后,两个网口能同时工作了。如果要配置在一个网段,必须采用策略路由方式,这个比较麻烦,就没有进行尝试。USB调试:插入U盘后,系统能检测到U 盘插入。利用命令cat /proc/bus/usb/devices可以查看U盘信息。挂载U盘mkdir /mnt/usbmount t vfat /dev/sda /mnt/usb另外通过free m 可查看内存情况,通过top命令可查看进程任务。Dmesg查看内核的打印信息,包括各种硬件初始化和启动信息。SD卡调试:插入SD卡,系统能检测到SD 卡。一般挂载到目录/media/mmcblk0p1 。可以对SD卡进行读操作,但是写操作失败,提示是只读系统,

31、好像是进行了写保护,分析代码,原系统里面有写保护设置,在下面数组里有定义,修改为GP0-19,修改后读写正常。static struct omap2_hsmmc_info am335x_mmc _initdata = .mmc = 1,.caps = MMC_CAP_4_BIT_DATA,.gpio_cd = GPIO_TO_PIN(0, 6),/.gpio_wp = GPIO_TO_PIN(3, 18),.gpio_wp = GPIO_TO_PIN(0, 19),.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34, /* 3V3 */,.mmc = 0, /*

32、 will be set at runtime */,.mmc = 0, /* will be set at runtime */, /* Terminator */;利用命令fdisk l能看到SD卡的挂载信息。利用df命令可以查看各个文件系统的信息,包括各种挂载的文件系统。液晶调试:首先要在ind_auto_mtrl_evm_dev_cfg里面增加LCD的配置项:lcdc_init, DEV_ON_BASEBOARD, PROFILE_ALL, /液晶初始化enable_ecap0, DEV_ON_BASEBOARD, PROFILE_ALL, /背光mfd_tscadc_init, DE

33、V_ON_BASEBOARD, PROFILE_ALL,/触摸屏在lcdc_init和backlight_init的函数里面增加对IND_AUT_MTR_EVM的支持。驱动文件是da8xx-fb.c ,可以配置像素,液晶选择 S9700RTWV35TR,像素是800*480系统启动时,能看到小企鹅和进度条在液晶上显示出来了。下一步对于显示,准备实现QT的操作。2015-1-3对于LCD显示,一直想做个测试程序,显示个图像,但是昨天一直没有找到,自己不想全部动手编程,网上说,通过cat xx.bmp /dev/fb0可以实现显示图像,测试了一下不行,因为bmp文件格式里面有一些文件信息,不是完整

34、图像数据信息,FrameBuffer设备只能识别图像数据信息,并且还必须满足一定的数据格式,比如bits_per_pixel(每个像素点占用的数据位)的大小,有些是16位(565格式) ,有些是24位(888格式) ,还有些32位(带有灰度的888格式,最高字节是透明度) ,因此直接把文件输入到设备缓存里面应该不行。今天在网上查找了一下,看到LonlyCorner博客的文章LCD 测试程序,并附有源代码,把他的源代码下载保存,他的程序bits_per_pixel是16位,通过ioctl(fbd-fd, FBIOGET_VSCREENINFO, 获取可变参数信息,看到AM335X系统带的驱动bi

35、ts_per_pixel 为32bit,根据这个修改了程序,首先是显示红、绿、蓝三个色带。每个像素连续4个字节设置颜色。*(int *)(fbd-pfb) + y*fbd-xres +x) = color;int型数据的代表了4个字节,原来16位用的是short型。下一步显示一个图像。修改下载的程序,把16bit模式更改为32bit ,主要是把bmp 文件格式中的像素点转换为FrameBuffer设备需要的数据,bmp 文件格式一般为:另外lcd在系统中会自动休眠,需要重新激活:Echo “0” /sys/class/graphics/fb0/blank编译了测试程序,并转换了几个24位bmp

36、 图片,经过调试,显示正常。2015-1-10上周4-9号上班基本在忙一些杂事,平台基本上没有进行,今天周末在家又开始调试一下。目前开始准备调试串口和CAN。串口在board-am335xevm.c中添加初始化uart1_init, DEV_ON_BASEBOARD, PROFILE_ALL,uart2_init, DEV_ON_BASEBOARD, PROFILE_ALL,uart3_init, DEV_ON_BASEBOARD, PROFILE_ALL,uart4_init, DEV_ON_BASEBOARD, PROFILE_ALL,uart5_init, DEV_ON_BASEBOAR

37、D, PROFILE_ALL,在初始化函数里面对引脚进行设置setup_pin_mux(uart1_pin_mux);编译下载后调试串口通信收发数据正常。CAN总线设置了两路,添加初始化选项d_can_init, DEV_ON_BASEBOARD, PROFILE_ALL,并对引脚进行配置。系统启动后,利用ifconfig a可以查看到can0 和can1的配置了,但是怎么进行数据收发,需要调试程序支撑,资料里面建议用canutils进行调试,canutils的编译过程也比较麻烦,首先要编译iproute2和libsocketcan,在编译时有好多支持软件没有,需要利用apt-get inst

38、all随时安装。在编译canutils时一直提示 libsocketcan找不到,实在不行,就利用周立功提供的测试程序,对can进行测试,能进行收发数据了。Can驱动文件:S.No Location Description1 drivers/net/can/d_can/d_can.c DCAN driver core file2 drivers/net/can/d_can/d_can_platform.c Platform DCAN bus driver3 arch/arm/mach-omap2/board-am335xevm.c DCAN board specific data additi

39、on4 arch/arm/mach-omap2/devices.c DCAN soc specific data addition对can操作过程,首先socket(int af, int type, int protocol), 地址描述为29,类型是SOCK_RAW,协议是CAN_RAW ,接着配置接口控制模式,选择 can0. s = socket(PF_CAN, SOCK_RAW, CAN_RAW);strcpy(ifr.ifr_name, “can0“);ret = ioctl(s, SIOCGIFINDEX, 接着配置模式和绑定地址:addr.can_family = PF_CAN

40、;addr.can_ifindex = ifr.ifr_ifindex;ret = bind(s, (struct sockaddr *)配置can通信id及屏蔽位,把设置写入socket选项里。filter0.can_id = 0x200 | CAN_EFF_FLAG;filter0.can_mask = 0xFFF;filter1.can_id = 0x20F | CAN_EFF_FLAG;filter1.can_mask = 0xFFF;ret = setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, 下面进行数据的读写:首先清空设备信息 FD_ZERO(

41、FD_SET(fd, 扫描接收缓冲区是否收到真实数据:ret = select(fd+1, 有数据后,读取数据:ret = read(fd, 打印收到的数据:print_frame(把收到的数据回写:ret = write(fd, 系统启动后,需要对can进行启动配置,如下:ip link set can0 type can bitrate 1000000 triple-sampling onip link set can0 up2015-1-11今天开始调试触摸屏。首先下载移植tslib1.4# tar -zxvf tslib-1.4.tar.gz# cd tslib3 配置# ./auto

42、gen.sh# echo “ac_cv_func_malloc_0_nonnull=yes“ arm-linux-gnueabihf.cache# ./configure -host=arm-linux-gnueabihf -cache-file=arm-linux-gnueabihf.cache -enable-inputapi=no -prefix=/usr/local/arm-linux/tslib1.4注意,prefix 选项更换为你的安装路径。4.编译# make5.安装# make install修改 ts.conf 内容打开 安装路径下的/etc/ts.conf 文件,修改其内容

43、。 # vi /usr/local/tslib/etc/ts.conf搜索定位至#module_raw input,把行首的注释符去掉,但要注意行首不要留有空格,即文字是顶格的, 不然之后会出现段错误(segmentational fault)。7.移植至开发板将安装路径下的整个 tslib 文件夹,下载至开发班的上,我存放的路径为/usr/local8. 设置开发板环境变量通过超级终端, 打开环境变量文件/etc/profile# vi /etc/profile添加如下内容:export TSLIB_ROOT=/usr/local/tslibexport TSLIB_TSDEVICE=/de

44、v/input/event1 export QWS_MOUSE_PROTO=tslib:/dev/input/event1export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_CONSOLEDEVICE=none export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib其中,TSLIB_ROOT更换为自己实际存放的路径;另外,TSLIB_TSDEVICE 和QWS_MOUSE_PROTO 这两项需要查看自己的板子的触摸屏设备对应 /dev/input/下那个文件9.执行测试命令重启开发板(使系统读取 profile 环境变量),进入 tslib/bin 目录,执行触摸屏校准程序# ./ts_calibrate如果出现tslib 的触摸屏 五点校准画面,至此,tslib 的安装移植成功完成。也可执行此目录下其他的程序来体验触摸屏!通过实际操作以上步骤,确实可以实现触摸屏的校准和测试,能够进行画线测试。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报