国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

使用TIMER計算外部脈沖個數方法

發布時間:2019-7-25 16:30    發布者:Tronlong818
1        前言
本例程介紹使用TIMER的寄存器實現最基本的定時功能,輸入捕獲,輸入捕獲模式可以用來測量脈沖寬度或者測量頻率。AM335x開發板有832位通用定時器,DMTIMER1是用于操作系統(OS)毫秒定時器,用于操作系統時鐘,DMTIMER4-DMTIMER7作為輸出引腳。
1
例程源碼位于光盤資料”Demo\pps-dmtimer\src”
本次編譯生成的設備樹文件以及pps-dmtimer.ko驅動模塊和腳本文件gpio.sh位于光盤資料”Demo\pps-dmtimer\bin”下。
1 編譯pps-dmtimer.ko驅動模塊2.1        修改Makefile文件
工程源碼位于光盤”Demo\pps-dmtimer\src”下,將pps-dmtimer工程源碼拷貝Ubuntu任意目錄進入pps-dmtimer工程源碼目錄,修改Makefile配置文件。
Host#                vi Makefile
2
KDIR修改為kernel源碼所在目錄(kernel必須已經編譯過,如果沒編譯,可以參照用戶手冊Linux內核編譯方法》來編譯內核)。
3
2.2        修改pps-gmtimer.c文件
pps-gmtimer.c文件添加頭文件#include "dmtimer.h"
Host#                vi pps-gmtimer.c
4
5
如下圖,timespec修改為timespec64,修改完成后保存退出。
6
內核源碼下的”arch/arm/plat-omap/include/plat/dmtimer.h”文件拷貝到pps-dmtimer工程源碼根目錄
Host#                cp /home/tronlong/AM335x/kernel/Linux-4.4.12/arch/arm/plat-omap/include/plat/dmtimer.h ./
7
2.3        編譯pps-dmtimer.ko驅動
執行如下指令進行編譯編譯完成后在源碼根目錄下生成pps-dmtimer.ko驅動模塊
Host#                cp /home/tronlong/AM335x/kernel/Linux-4.4.12/arch/arm/plat-omap/include/plat/dmtimer.h ./
8
生成的pps-dmtimer.ko拷貝SD系統啟動卡的boot分區
3        修改設備樹
(1) 修改內核源碼下的設備樹文件am335x-icev2.dts,添加以下Timer4節點
Host#                vi arch/arm/boot/dts/am335x-icev2.dts
9
添加節點
&pps_gmtimer {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&gps_pps_pins>;
};
10
添加PINMUX開發板上的”GPIO/eHRPWM/eQEP/I2C”接口引出GPMC_ADVN_ALE配置TIMER4功能(GPMC_ADVN_ALETIMER4復用),將開發板引出的XDMA_EVENT_INTR1配置為TCLKIN,接口以及詳細配置請查閱光盤資料”Datasheet\核心板芯片\CPU的數據手冊以及開發板底板原理圖。配置如下
gps_pps_pins: gps_pps_pins {
                pinctrl-single,pins = <
                        AM33XX_IOPAD(0x9b4, PIN_INPUT | MUX_MODE2)   //TCLKIN
                        AM33XX_IOPAD(0x890, PIN_INPUT | MUX_MODE2)   //TIMER4
              >;
};
11
(2) 修改內核源碼下設備樹文件am33xx.dtsi
Host#                vi arch/arm/boot/dts/am33xx.dtsi
12
增加Timer4結點
pps_gmtimer:pps_gmtimer {
               compatible = "pps-gmtimer";
                timer = <&timer4>;
                 use-tclkin = <1>;
                 status = "okay";
                 };
13
(3) 修改am335x-icev2.dts文件加入PINMUX
Host#                vi arch/arm/boot/dts/am335x-icev2.dts
14
將開發板上的”GPIO/eHRPWM/eQEP/I2C”接口引出IO作為脈沖輸出,這里是選取GPIO1[15]作為外部脈沖輸出。
gpio_pins: gpio_pins {
                pinctrl-single,pins = <
                        AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE7) /* (U13) GPIO1[15] */
                >;
        };
15
gpio_keys節點下加上PINMUX的說明
pinctrl-0 = <&user_keys_default>;
修改pinctrl-0 = <&user_keys_default &gpio_pins>;
16
如果eMMC核心板,按照如上修改完成后保存退出,編譯設備樹將編譯生成的設備樹拷貝到SD系統啟動卡的”rootfs/boot”目錄。
如果是NAND FLASH核心板,除了做如上修改,還需要修改am335x-icev2-nand.dts文件因為am335x-icev2-nand.dts中已經GPMC_ADVN_ALE配置為gpmc_advn_ale功能,將配置注釋如下圖
17
修改完成后,保存退出編譯生成am335x-icev2-nand.dtb文件,將am335x-icev2-nand.dtb命名為am335x-icev2.dtb拷貝至SD系統啟動卡的”rootfs/boot”目錄

本文地址:http://m.qingdxww.cn/thread-566375-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
Tronlong818 發表于 2019-7-25 16:31:31
更多幫助
銷售郵箱:[email protected]       
技術郵箱:[email protected]
創龍總機:020-8998-6280
技術熱線:020-3893-9734
創龍官網:www.tronlong.com
技術論壇:www.51ele.net
線上商城:https://tronlong.taobao.com
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 無線充電基礎知識及應用培訓教程2
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲三级网 | 国产精品永久免费10000 | 好色999| 99精品国产成人一区二区 | 欧美日本一区二区三区生 | 在线看va| 日日做日日摸夜夜爽 | 亚洲欧美成人综合 | 亚洲一二三四 | 久久综合精品不卡一区二区 | aaa在线观看免费完整版 | 久久99蜜桃精品久久久久小说 | 色婷五月综激情亚洲综合 | 一区二区视频网 | 五月婷婷丁香在线观看 | 亚洲精品人成网在线播放蜜芽 | 四虎影院2022 | 极品国产一区二区三区 | 欧美亚洲国产一区二区 | 天天夜夜狠狠一区二区三区 | 在线xx| 日日夜夜精品视频 | 久青草香蕉精品视频在线 | 欧美成人国产一区二区 | 国内精品视频在线播放一区 | 国产一区二区三区高清 | 青青视频免费在线 | 国产极品白嫩美女在线观看看 | 日本不卡中文字幕一区二区 | 国产免费福利体检区久久 | 伊是香蕉大人 | 国产永久福利 | 久久久亚洲精品蜜桃臀 | 极品美女在线 | 国产精品久久国产精品99 | 国产欧美日韩高清专区手机版 | 日韩在线观看免费 | 国产日产亚洲欧美综合另类 | 日本污视频网站 | 两个人高清在线观看www韩剧 | 四虎精品在线视频 |