TIMER 使用
前言
RK3399有12 個(gè)Timers (timer0-timer11),有12 個(gè)Secure Timers(stimer0~stimer11) 和 2 個(gè)Timers(pmutimer0~pmutimer1), 我們主要用到的是Timers(timer0-timer11)時(shí)鐘頻率為24MHZ ,工作模式有 free-running 和 user-defined count 模式
框架圖
工作模式
user-defined count:Timer 先載入初始值到 TIMERn_LOAD_COUNT3 和 TIMER_LOADn_COUNT2寄存器, 當(dāng)時(shí)間累加的值在寄存器TIMERn_LOAD_COUNT1和TIMERn_LOAD_COUNT0時(shí),將不會自動載入到計(jì)數(shù)寄存器。 用戶需要重新關(guān)閉計(jì)數(shù)器和然后重新設(shè)置計(jì)數(shù)器相關(guān)才能繼續(xù)工作。
free-running:Timer先載入初始值到TIMER_LOAD_COUNT3 和 TIMER_LOAD_COUNT2寄存器, 當(dāng)時(shí)間累加的值在寄存器TIMERn_LOAD_COUNT1和TIMERn_LOAD_COUNT0時(shí),Timer將一直自動加載計(jì)數(shù)寄存器。
軟件配置
1.在 dts 文件中定義 Timer 的相關(guān)配置 kernel/arch/arm64/boot/dts/rockchip/rk3399.dtsi
rktimer: rktimer@ff850000 { compatible = “rockchip,rk3399-timer”; reg = 《0x0 0xff850000 0x0 0x1000》; interrupts = 《GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH 0》; clocks = 《&cru PCLK_TIMER0》, 《&cru SCLK_TIMER00》; clock-names = “pclk”, “timer”; };
其中定義的Timer0 的寄存器和中斷號和時(shí)鐘等
其他Timer 對應(yīng)的中斷號可看如下圖片
2.對應(yīng)的驅(qū)動文件Kernel/drivers/clocksource/rockchip_timer.c
對應(yīng)寄存器和使用
1.寄存器如下圖片
2.使用方式 查看對應(yīng)寄存器
root@rk3399_firefly_box:/ # io -4 0xff85001c //查看當(dāng)前控制寄存器的狀態(tài) ff85001c: 00000007 root@rk3399_firefly_box:/ # io -4 0xff850000 //查看寄存器時(shí)時(shí)的值 ff850000: 0001639f
控制對應(yīng)寄存器
root@rk3399_firefly_box:/ # io -4 -w 0xff85001c 0x06 //關(guān)閉時(shí)間計(jì)數(shù)功能
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
AIO-3399C 提供了豐富的接口,主要包括:電源接口, Type-C(OTG),1 x USB3.0,4 x USB2.0(接口×2,座子×2),HDMI,以太網(wǎng),雙LVDS屏幕接口,eDP屏
發(fā)表于 12-04 10:26
?2759次閱讀
AIO-3399C默認(rèn)出廠固件是支持LVDS+HDMI 1080P的雙屏顯示,HDMI分辨率最高只能到1080P。
發(fā)表于 12-04 10:23
?1142次閱讀
散熱套件
鋁制散熱片
產(chǎn)品參數(shù)
適配:AIO-3399C
尺寸:43mm (L)* 39.5mm(W)*11mm(H)
發(fā)表于 12-09 15:56
?1186次閱讀
紅外遙控器
產(chǎn)品參數(shù)
產(chǎn)品:12鍵紅外遙控器
版本:Firefly定制版
電源:兩節(jié)7號電池
適配:AIO-3399C
描述:支持AIO-3399C開發(fā)板的遙控開機(jī)功能
發(fā)表于 12-09 15:59
?1605次閱讀
屏幕模組
7.85寸MIPI液晶屏模組
注意:默認(rèn)的AIO-3399C主板不帶mipi_dsi接口,如需要此功能需修改硬件。 詳細(xì)請參考LCD驅(qū)動章節(jié)
發(fā)表于 12-09 16:08
?1877次閱讀
AIO-3399C 支持SPI橋接/擴(kuò)展4個(gè)增強(qiáng)功能串口(UART)的功能,分別為UART1,UART2,RS232,RS485。每個(gè)UART都擁有256字節(jié)的FIFO緩沖區(qū),用于數(shù)據(jù)接收和發(fā)送。
發(fā)表于 12-09 16:12
?1847次閱讀
AIO-3399C開發(fā)板上有 一個(gè)集成于RK808上的RTC(Real Time Clock),主要功能有時(shí)鐘,日歷,鬧鐘,周期性中斷,雙通道32KHz時(shí)鐘輸出。
發(fā)表于 12-09 16:19
?1520次閱讀
AIO-3399C開發(fā)板上引出有 3 路 PWM 輸出,
發(fā)表于 12-09 16:20
?1486次閱讀
LED 使用
AIO-3399C 開發(fā)板上有 2 個(gè) LED 燈
發(fā)表于 12-09 16:25
?1856次閱讀
AIO-3399C開發(fā)板默認(rèn)外置支持了兩個(gè)LCD屏接口,一個(gè)是LVDS,一個(gè)是EDP,接口對應(yīng)板子上的位置
發(fā)表于 12-13 10:09
?3299次閱讀
AIO-3399C 開發(fā)板上使用紅外收發(fā)傳感器 IR (耳機(jī)接口和recovery之間)實(shí)現(xiàn)遙控功能,在IR接口處接上紅外接收器。本文主要描述在開發(fā)板上如何配置紅外遙控器。
發(fā)表于 12-13 10:12
?1546次閱讀
AIO-3399C 開發(fā)板上的 AD 接口有兩種,分別為:溫度傳感器 (Temperature Sensor)、逐次逼近ADC (Successive Approximation Register)。
發(fā)表于 12-13 10:14
?1457次閱讀
Android7.1 的SDK分為 tvbox版本以及industry版本(主要維護(hù)),用戶可根據(jù)需求,自行下載所需的SDK來進(jìn)行編譯和開發(fā),兩版SDK均兼容AIO-3399C與AIO-3399C(AI)板型。
發(fā)表于 12-13 10:36
?1608次閱讀
本文介紹了如何將主機(jī)上的固件文件,通過Type-C數(shù)據(jù)線,燒錄到開發(fā)板的閃存中。升級時(shí),需要根據(jù)主機(jī)操作系統(tǒng)和固件類型來選擇合適的升級方式。
發(fā)表于 12-13 10:46
?2045次閱讀
RK3399有12 個(gè)Timers (timer0-timer11),有12 個(gè)Secure Timers(stimer0~stimer11) 和 2 個(gè)Timers(pmutimer0
發(fā)表于 12-24 10:25
?1495次閱讀
評論