国产毛片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://www.qingdxww.cn/thread-566375-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品无 | 99久热国产精品视频尤物不卡 | 日本中文字幕第一页 | 欧美第一区 | 国产产一区二区三区久久毛片国语 | 岛国在线免费 | 欧美色偷偷 | 242sao.cam| 青青久久精品 | 久久精品免费观看视频 | 久久99热精品免费观看k影院 | 最新在线精品国自拍视频 | 丁香婷婷久久大综合 | 国产福利写真视频在线观看 | 久久久久久久国产 | 久久99国产一区二区三区 | 免费视频一区 | 日韩视频在线观看免费 | 久久综合网址 | 日韩视频亚洲 | 欧美日韩中文在线观看 | 黄片毛片视频 | 四虎影院的网址 | 欧美亚洲国产一区 | 亚洲综合国产 | 日韩精品欧美视频 | 欧美97色伦影院在线观看 | 一级片在线观看视频 | 91精品综合久久久久久五月天 | 日本精品视频四虎在线观看 | 最新日本免费一区二区三区中文 | 国产国产成人精品久久 | 久久国产综合精品欧美 | 日韩资源在线 | 好吊色青青青国产在线观看 | 日本高清视频免费在线观看 | 性生交大片免费一级 | 黄色在线观看视频免费 | 国产欧美日韩在线观看 | 日本色区| 国产女同一区二区三区五区 |