1. 程式人生 > >I.MX6開發板移植Linux4.1.15核心之TSC2007觸控式螢幕裝置樹資訊的新增

I.MX6開發板移植Linux4.1.15核心之TSC2007觸控式螢幕裝置樹資訊的新增

之前寫過一篇3.0.35核心移植關於TSC2007觸控式螢幕驅動移植的文章。裡面對TSC2007.c驅動程式的分析比較清晰,點選連結檢視:點選連結檢視

本篇文章,主要記錄在4.1.15核心移植的過程中,對於TSC2007裝置的新增,需要如何新增裝置樹資訊。

1、TSC2007硬體原理圖分析

先看相關原理圖:

tsc2007控制器晶片的原理圖。
在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

由tsc2007晶片原圖與核心板相關連線的引腳知:

  • 觸控式螢幕與CPU通過I2C匯流排進行資料傳輸,且為I2C3
  • I2C3有兩條線,SCL與SDA,分別於核心板的GPIO_3與GPIO_6連線
  • 中斷引腳為GPIO6_IO7,與核心板的連線為NAND_CLE系列引腳

2、TSC2007裝置樹的新增

本次主要修改imx6qdl-sabresd.dtsi檔案,該檔案是與具體外設相關的檔案

在i2c3節點下:

&i2c3 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";

		//新增
        [email protected]48 {
        compatible = "ti,tsc2007";
        reg = <
0x48>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_tsc2007_int>; interrupt-parent = <&gpio6>; interrupts = <0x7 0x8>; gpios = <&gpio6 7 0>; ti,x-plate-ohms = <180>; }; };

在iomuxc節點下的imx6qdl-sabresd節點下:

&iomuxc {
		pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_hog>;
		imx6qdl-sabresd {
				........
				........
				pinctrl_i2c3: i2c3grp {
                       fsl,pins = <
                         MX6QDL_PAD_GPIO_3__I2C3_SCL    0x4001b8b1
                         MX6QDL_PAD_GPIO_6__I2C3_SDA    0x4001b8b1
                        >;
               };
               pinctrl_i2c1_tsc2007_int: i2c1_tsc2007_int {
                       fsl,pins = <
                        MX6QDL_PAD_NANDF_CLE__GPIO6_IO07  0x80000000
                        >;
                };
                ........
                ........
		};
};

3、觸控式螢幕的校準

校準的目的:為了與顯示屏的座標一一對應。我們一般採用軟體校準,使用Tslib庫裡的校準軟體進行校準們首先需要移植Tslib庫。

  • 將Tslib庫編譯安裝到檔案系統中
編譯tslib(放到rootfs/tslib/tslib):
$ tar xzf tslib-1.4.tar.gz
$ cd tslib
$ ./autogen.sh 

$ mkdir tmp
$ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
$ ./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$(pwd)/tmp
$ make
$ make install

我的這一步驟是放到開發的環境中做的,其實可以直接在單板上搞,如果單板上是有編譯器的話。

  • 然後將系統燒寫到單板,在單板上操作:
$ cd /tslib/tslib/tmp
$ cp * / -rfd


1.
修改 /etc/ts.conf第1行(去掉#號和第一個空格):
# module_raw input
改為:
module_raw input

2.新增環境變數
$ export TSLIB_TSDEVICE=/dev/input/event1
$ export TSLIB_CALIBFILE=/etc/pointercal
$ export TSLIB_CONFFILE=/etc/ts.conf
$ export TSLIB_PLUGINDIR=/lib/ts
$ export TSLIB_CONSOLEDEVICE=none
$ export TSLIB_FBDEVICE=/dev/fb0

  • 測試
$ ts_calibrate
$ ts_test 

備註:如果出現段錯誤,解決辦法如下:
1、ts.conf檔案中的各個設定選項之前不能有空格,否則會出現: Segmentation fault 錯誤

2、不要在pointercal對應的目錄下,建立一個空的pointercal檔案,否則在執行ts_calibrate時,
也可能會出現Segmentation fault

4、總結

不要放棄,下一次就會成功!!!

學習探討加:
qq:1126137994
微信:liu1126137994

相關推薦

I.MX6開發移植Linux4.1.15核心TSC2007觸控式螢幕裝置資訊新增

之前寫過一篇3.0.35核心移植關於TSC2007觸控式螢幕驅動移植的文章。裡面對TSC2007.c驅動程式的分析比較清晰,點選連結檢視:點選連結檢視 本篇文章,主要記錄在4.1.15核心移植的過程中,對於TSC2007裝置的新增,需要如何新增裝置樹資訊。 1、

fl2440開發移植tslib-1.4

        在移植這個tslib時出現了好多問題,因為是新手出現,所以出現的更多的是低階錯誤         如果你要執行tslib的話,首先你要確定你之前移植的lcd,,觸控式螢幕驅動都是好好的否則的話出了錯,那就是比了xxx了。。。。。        下面就進入正題:

I.MX6開發 啟動流程分享 -迅為嵌入式

本篇文章是Nxp官方參考手冊IMX6DQRM中Chapter 8System Boot的翻譯,翻譯中如有理解偏差和用詞不當之處,請網友多多指教。 8.1 總攬  boot處理過程開始於處理器的上電覆位,這時,硬體復位邏輯強制ARM核心執行晶片內建的ROM Boot程式。

linux4.1.15核心GPOP_KEY按鍵原理和使用

本文將以imx6q的板子(核心版本4.1.15)和相應BSP程式碼來詳細描述在linux下, 使用GPIO當做按鍵的實現原理及使用方法。Linux 核心下的 drivers/input/keyboard/gpio_keys.c實現了一個體繫結構無關的GPIO按鍵驅動,使用此按

hfrk2410_a1.1開發移植linux-2.6.32.27--網絡卡篇(cs8900)

硬體:恆豐銳科開發板hfrk2410_A1.1 軟體:linux-2.6.32.27 cs8900網絡卡移植: 將cs8900驅動原始碼檔案拷貝至drivers/net/,修改drivers/net/Kconfig檔案 config ARM_CS8900

mt7601在linux4.1.15上的移植

在b-link拿到一份程式碼,他們在linux4.4的核心上正常編譯執行,程式碼在如下連結用到儀表Linux4.1.15時就編譯不通過了修復和移植步驟如下1 在mt7601_JEDI_v1.9/Makefile修改編譯選項#PLATFORM = PCPLATFORM = IM

如何在i.mx6dl開發移植udev並實現移動裝置的自動掛載

在整個移植過程中,我所使用的操作平臺: host:Ubuntu14.04 LTS board:MCIMX6DL-SDP udev版本:udev100 一、移植udev。 下載udev的原始碼並進行解

產品研發ARM開發如何選擇?飛思卡爾I.MX6Q開發

pow 清分 工作 images logs 時鐘 網通 https 處理器 處理器:迅為-i.MX6開發板恩智浦Cortex-A9 四核i.MX6Q處理器,主頻1GHz,內存2G,存儲16GB。 系統支持:i.MX6開發板系統支持LINUX,Android,Ubuntu系統

電子醫療設備創新研發應該用i.MX6Q開發嗎?為醫療設備提供解決方案

政府 pan sat 9.png get 數據 tope ddr3 技術 伴隨醫療信息化、移動化、智能化的不斷發展,居民對自身健康的關註度持續加強,全球醫療電子產業近年來持續保持快速增長態勢。同時,源於龐大的人口基數以及迅速增長的老齡化人口帶來持續增長的醫療服務需求,加之全

樹莓派開發使用記錄1:[轉]資料收集及樹莓派系統在Ubuntu安裝

參考教程(微雪課堂):http://www.waveshare.net/study/portal.php 樹莓派實驗室: http://shumeipai.nxez.com/2014/12/21/use-raspberry-pi-with-qemu-virtual-machine-simulation.ht

20181206 IMX6Q開發移植螢幕小小心得和參考文件

作為一個嵌入式開發的初學者,花了倆星期時間,終於讓跑Linux系統的IMX6開發板換上了新的螢幕。 這裡,移植螢幕的主要思路就是: 確保連線正確; 學習LCD液晶屏的時序(在修改引數時需要); 看懂螢幕的資料手冊(各種資料手冊對同一個現象的寫法不一樣); 修改uboot和(核心驅動部分的

開發移植MT7601網絡卡

grep “***” * -nR 掛載nfsmount -t nfs -o nolock 192.168.1.141:/home/aston/x210rootfs /opt wifi專案移植 1 開發環境搭建, 1)ubuntu14.04 2)核心原始碼樹 3)

明遠智睿i.MX8M開發在智慧網聯汽車系統的應用

9月4日,恩智浦半導體與中國汽車電子行業的領軍企業深圳市航盛電子股份有限公司(以下簡稱“航盛”)在“2018恩智浦未來科技峰會”上籤署戰略合作協議,雙方將在既往產品與技術合作的基礎上展開長期深度的聯合研發,共同潛心深耕智慧出行、互聯汽車等創新領域。基於此協議,恩智浦和航盛

米爾i.MX6UL開發Linux應用開發(三)

硬體:米爾i.MX6UL開發板MYD-Y6ULX 簡介:MYD-Y6ULX開發板(i.MX6UL開發板)由MYC-Y6ULX核心板和底板組成,基於NXP i.MX6UL處理器或i.MX6ULL處理器可選,MYD-Y6ULX開發板(i.MX6ULL開發板)提供豐富

imx6ul linux4.1.15 LED驅動配置及heartbeat原始碼分析【轉】

本文轉載自:https://blog.csdn.net/u010444107/article/details/78328807 1)檢視核心配置[email protected]:~/freescale/linux-imx$ cat arch/arm/configs/imx_v7_defconfi

i.MX6UL -- PWM配置方法,並在使用者空間使用---基於4.1.15核心

博主使用的是天嵌的板子imx6ul_corb。核心版本為4.1.15。這裡會談到如何修改相關裝置樹使其pwm可用。現在以PWM4為例。增加GPIO1_IO05複用為PWM4。 天嵌的PWM 驅動預設已經載入,驅動路徑為drivers/pwm/pwm-imx.c。一,核心層修改

Android原始碼編譯——RK3128開發基於Android5.1原始碼編譯小記

前言: 本次小記主要分為三段。前兩段相當於對原始碼編譯的一個回顧。本次小記主要第三段,記下了編譯中出現的幾個問題,以便日後需要。 1、編譯時編譯執行緒過多。導致編譯失敗。 2、編譯image沒問題打包OTA時出現錯誤。 一、編譯環境 1、硬體環境:(以

信盈達stm32f103zet6開發移植ucosii系統

身為一個電子資訊工程的學生, 臨近畢業了才開始走進嵌入式的大門, 是不是有點晚了, 這次要用rtos主要是因為想用在物聯網家居專案上.廢話少說, 開始我的ucosii的移植之路吧, 參照正點原子的移植教程, 其實挺簡單的. 實驗開發板:信盈達stm32f103zet6(其實發現市面上的開發板

迅為I.MX6Q開發Ubuntu系統的燒寫方法

Ubuntu 需要燒寫三個檔案,uboot,核心映象以及檔案系統。uboot:使用“iTOP-IMX6 開發板光碟資料\03-映象_Android4.4 檔案系統”目錄下的“u-boot.bin”檔案,iMX6 開發板的 uboot 原始碼和映象都是通用的。核心映象:使用“i

飛思卡爾的i.mx6dl開發上實現nfs網路檔案系統掛載操作指南

問題描述:在MCIMX6DL_SDP上實現網路檔案掛載,要求從emmc中啟動uboot和kernel,從網路上掛載根檔案系統。 操作平臺: host :Ubuntu14.04LTS board: