91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

驅(qū)動(dòng)開發(fā)時(shí)鐘API的使用

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-27 14:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時(shí)鐘API的使用

對(duì)于一般的驅(qū)動(dòng)開發(fā)(非clock驅(qū)動(dòng)),我們只需要在dts中配置時(shí)鐘,然后在驅(qū)動(dòng)調(diào)用通用的時(shí)鐘API接口即可。

1、設(shè)備樹中配置時(shí)鐘

mmc0:mmc0@0x12345678{
  compatible = "xx,xx-mmc0";
  ......
  clocks = < &peri PERI_MCI0 >;//指定mmc0的時(shí)鐘來自PERI_MCI0,PERI_MCI0的父時(shí)鐘是peri
  clocks-names = "mmc0"; //時(shí)鐘名,調(diào)用devm_clk_get獲取時(shí)鐘時(shí),可以傳入該名字
        ......
 };

以mmc的設(shè)備節(jié)點(diǎn)為例,上述mmc0指定了時(shí)鐘來自PERI_MCI0,PERI_MCI0的父時(shí)鐘是peri,并將所指定的時(shí)鐘給它命名為"mmc0"。

2、驅(qū)動(dòng)中使用API接口

簡(jiǎn)單的使用:

/* 1、獲取時(shí)鐘 */
host- >clk = devm_clk_get(&pdev- >dev, NULL); //或者devm_clk_get(&pdev- >dev, "mmc0")
 if (IS_ERR(host- >clk)) {
  dev_err(dev, "failed to find clock sourcen");
  ret = PTR_ERR(host- >clk);
  goto probe_out_free_dev;
 }

/* 2、使能時(shí)鐘 */
ret = clk_prepare_enable(host- >clk);
if (ret) {
 dev_err(dev, "failed to enable clock source.n");
 goto probe_out_free_dev;
}

probe_out_free_dev:
 kfree(host);

在驅(qū)動(dòng)中操作時(shí)鐘,第一步需要獲取struct clk指針句柄,后續(xù)都通過該指針進(jìn)行操作,例如:設(shè)置頻率:

ret = clk_set_rate(host- >clk, 300000);

獲得頻率:

ret = clk_get_rate(host- >clk);

注意:devm_clk_get()的兩個(gè)參數(shù)是二選一,可以都傳入,也可以只傳入一個(gè)參數(shù)。

i2c、mmc等這些外設(shè)驅(qū)動(dòng),通常只需要使能門控即可,因?yàn)檫@些外設(shè)并不是時(shí)鐘源,它們只有開關(guān)。如果直接調(diào)用clk_ser_rate函數(shù)設(shè)置頻率,clk_set_rate會(huì)向上傳遞,即設(shè)置它的父時(shí)鐘頻率。例如在該例子中直接調(diào)用clk_set_rate函數(shù),最終設(shè)置的是時(shí)鐘源peri的頻率。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11759

    瀏覽量

    219013
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2370

    瀏覽量

    66758
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    378

    瀏覽量

    42144
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1971

    瀏覽量

    134988
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙開發(fā)API9 到 API12,有哪些不同

    ? ##HarmonyOS 應(yīng)用開發(fā)## 雖然API9已經(jīng)屬于過時(shí)了,但是現(xiàn)在很多學(xué)校里教的還是基于API9的鴻蒙開發(fā),當(dāng)學(xué)生需要在畢業(yè)設(shè)計(jì)中使用A
    發(fā)表于 06-29 22:47

    OpenHarmony 應(yīng)用開發(fā)SDK、API 與基礎(chǔ)工具

    一、整體說明 ArkTS 語言是鴻蒙系統(tǒng)主推的應(yīng)用開發(fā)語言。因此鴻蒙系統(tǒng)提供給開發(fā)者的 API 絕大部分也是 ArkTS 語言的。 鴻蒙系統(tǒng)提供的 API 范圍非常全面,包括應(yīng)用服務(wù)、
    發(fā)表于 09-19 15:45

    分析API都有哪些特點(diǎn)

    。因此,理解好的API特性是至關(guān)重要的。那么什么是好的API呢? API一詞似乎是對(duì)軟件開發(fā)人員的一種Rorschach Test。Web開發(fā)
    發(fā)表于 09-28 17:38 ?11次下載

    Android開發(fā)手冊(cè)—API函數(shù)詳解

    Android開發(fā)手冊(cè)—API函數(shù)詳解
    發(fā)表于 10-17 09:01 ?13次下載
    Android<b class='flag-5'>開發(fā)</b>手冊(cè)—<b class='flag-5'>API</b>函數(shù)詳解

    基于Android開發(fā)手冊(cè)—API函數(shù)詳解

    基于Android開發(fā)手冊(cè)—API函數(shù)詳解
    發(fā)表于 10-24 09:06 ?18次下載
    基于Android<b class='flag-5'>開發(fā)</b>手冊(cè)—<b class='flag-5'>API</b>函數(shù)詳解

    《Linux設(shè)備驅(qū)動(dòng)開發(fā)詳解》第10章、中斷與時(shí)鐘PDF免費(fèi)下載

    《Linux設(shè)備驅(qū)動(dòng)開發(fā)詳解》第10章、中斷與時(shí)鐘
    發(fā)表于 10-27 11:29 ?0次下載
    《Linux設(shè)備<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>詳解》第10章、中斷與<b class='flag-5'>時(shí)鐘</b>PDF免費(fèi)下載

    TI網(wǎng)絡(luò)開發(fā)套件v2.21 API 參考指南

    本參考指南NDK主要編程API參考指南。它旨在幫助開發(fā)網(wǎng)絡(luò)應(yīng)用程序,并描述由堆棧庫(kù)提供的各種API函數(shù)。
    發(fā)表于 04-13 16:35 ?3次下載
    TI網(wǎng)絡(luò)<b class='flag-5'>開發(fā)</b>套件v2.21 <b class='flag-5'>API</b> 參考指南

    用于 Linux 管理 API 手冊(cè)的 PTP 時(shí)鐘管理器

    用于 Linux 管理 API 手冊(cè)的 PTP 時(shí)鐘管理器
    發(fā)表于 02-02 18:44 ?1次下載
    用于 Linux 管理 <b class='flag-5'>API</b> 手冊(cè)的 PTP <b class='flag-5'>時(shí)鐘</b>管理器

    API+DevOps:華為云API Arts一體化平臺(tái),端到端呵護(hù)您的API

    、API托管、API運(yùn)維、API變現(xiàn),助力企業(yè)數(shù)字化轉(zhuǎn)型。 API和微服務(wù)已經(jīng)成為核心的數(shù)字化變革驅(qū)動(dòng)引擎,數(shù)字企業(yè)RD始終圍繞著
    的頭像 發(fā)表于 02-17 19:05 ?1795次閱讀

    用于 Linux 管理 API 手冊(cè)的 PTP 時(shí)鐘管理器

    用于 Linux 管理 API 手冊(cè)的 PTP 時(shí)鐘管理器
    發(fā)表于 07-04 18:31 ?1次下載
    用于 Linux 管理 <b class='flag-5'>API</b> 手冊(cè)的 PTP <b class='flag-5'>時(shí)鐘</b>管理器

    華納云:使用 WireMock 在開發(fā)和測(cè)試中模擬 API 服務(wù)

    在本地開發(fā)和測(cè)試期間,經(jīng)常會(huì)遇到您的應(yīng)用依賴于遠(yuǎn)程 API 的情況。網(wǎng)絡(luò)問題、速率限制,甚至 API 提供商的停機(jī)都可能阻礙您的進(jìn)度。這會(huì)嚴(yán)重影響您的工作效率并使測(cè)試更具挑戰(zhàn)性。這就
    的頭像 發(fā)表于 10-25 16:46 ?1534次閱讀

    api驅(qū)動(dòng)的云服務(wù)是什么意思?

    API驅(qū)動(dòng)的云服務(wù)是指利用API技術(shù)來驅(qū)動(dòng)和提供云服務(wù)的模式。在這種模式下,云服務(wù)提供商會(huì)公開一系列的API接口,允許
    的頭像 發(fā)表于 11-14 10:06 ?1049次閱讀

    迅為RK3568開發(fā)驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開發(fā)驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?1016次閱讀
    迅為RK3568<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>驅(qū)動(dòng)</b>指南GPIO子系統(tǒng)GPIO子系統(tǒng)<b class='flag-5'>API</b>函數(shù)的引入

    設(shè)計(jì)優(yōu)先方法論實(shí)踐:SmartBear API Hub +ReadyAPI組合使用,構(gòu)建高效的API開發(fā)

    設(shè)計(jì)優(yōu)先是一種在編寫代碼和執(zhí)行測(cè)試之前,優(yōu)先設(shè)計(jì)API接口的開發(fā)方式,能夠幫助提升團(tuán)隊(duì)協(xié)作效率、加快開發(fā)進(jìn)度、減少Bug和返工,并改善用戶體驗(yàn)。如何實(shí)現(xiàn)?——將該與SmartBear API
    的頭像 發(fā)表于 06-05 16:03 ?577次閱讀
    設(shè)計(jì)優(yōu)先方法論實(shí)踐:SmartBear <b class='flag-5'>API</b> Hub +ReadyAPI組合使用,構(gòu)建高效的<b class='flag-5'>API</b><b class='flag-5'>開發(fā)</b>流

    拼多多API應(yīng)用:社交分享驅(qū)動(dòng)銷量飆升!

    將詳細(xì)介紹拼多多API的應(yīng)用方法,結(jié)合技術(shù)實(shí)現(xiàn)步驟和代碼示例,幫助開發(fā)者利用社交分享驅(qū)動(dòng)銷量飆升。 拼多多API簡(jiǎn)介 拼多多開放平臺(tái)提供了一系列AP
    的頭像 發(fā)表于 12-24 15:43 ?275次閱讀
    拼多多<b class='flag-5'>API</b>應(yīng)用:社交分享<b class='flag-5'>驅(qū)動(dòng)</b>銷量飆升!