色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Milk-V Duo開發板免費體驗 GPIO分析

范成功 ? 來源:wakojosin ? 作者:wakojosin ? 2023-07-14 22:14 ? 次閱讀

設備樹

下面截取gpio0的設備樹,復制自:linux_5.10/arch/riscv/boot/dts/cvitek/cv180x_base.dtsi

gpio0: gpio@03020000 {
	compatible = "snps,dw-apb-gpio";
	reg = ;
	#address-cells = ;
	#size-cells = ;

	porta: gpio-controller@0 {
		compatible = "snps,dw-apb-gpio-port";
		bank-name = "porta";
		gpio-controller;
		#gpio-cells = ;
		snps,nr-gpios = ;
		reg = ;
	};
};

以下是復制自:linux_5.10/arch/riscv/boot/dts/cvitek/cv180x_base_riscv.dtsi

gpio0: gpio@03020000 {
		porta: gpio-controller@0 {
			interrupt-controller;
			interrupts = ;
			interrupt-parent = ;
		};
	};

驅動

cv180x的GPIO控制器用到是dw-apb-gpio控制器驅動,驅動代碼位于:linux_5.10/drivers/gpio/gpio-dwapb.c

#define DWAPB_DRIVER_NAME	"gpio-dwapb"

// 省略其他代碼

static struct platform_driver dwapb_gpio_driver = {
	.driver		= {
		.name	= DWAPB_DRIVER_NAME,
		.pm	= &dwapb_gpio_pm_ops,
		.of_match_table = dwapb_of_match,
		.acpi_match_table = dwapb_acpi_match,
	},
	.probe		= dwapb_gpio_probe,
};

module_platform_driver(dwapb_gpio_driver);

關鍵函數是probe函數

// drivers/gpio/gpio-dwapb.c
dwapb_gpio_probe:

	dwapb_gpio_get_pdata(dev)

		device_for_each_child_node(dev, fwnode)  { //遍歷設備樹節點

			fwnode_property_read_u32(fwnode, "snps,nr-gpios", &pp->ngpio)

			fwnode_property_read_u32(fwnode, "reg", &pp->idx)

		}

		dwapb_gpio_add_port

			devm_gpiochip_add_data

				devm_gpiochip_add_data_with_key

					gpiochip_add_data_with_key //注冊到gpiolib的gpio_devices中

gpio子系統

// drivers/gpio/gpiolib.c
struct gpio_desc *gpio_to_desc(unsigned gpio) //從gpio_devices獲取gpio_desc

// include/asm-generic/gpio.h
// drivers/gpio/gpiolib-sysfs.c
gpio_export:
	gpiod_export(gpio_to_desc(gpio), direction_may_change)
		device_create_with_groups
			device_create_groups_vargs
				device_add
					kobject_add //添加到相關的設備模型子系統
					device_create_file //創建/sys下的設備屬性文件
					... //其他相關設置

小結

通過上面的3塊,就實現了/sys/class/gpio/export導出gpio的過程即對gpio的操作。

關于gpio的相關操作函數就在gpiolib.c里面。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    5210

    瀏覽量

    99126
  • GPIO
    +關注

    關注

    16

    文章

    1223

    瀏覽量

    52745
  • Milk-V Duo
    +關注

    關注

    2

    文章

    28

    瀏覽量

    238
收藏 人收藏

    評論

    相關推薦

    Milk-V Duo 開發板免費體驗】小身板大能力RISC-V開發板

    Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能夠運行基于LINUX和RTOS的操作系統。Milk-V Duo為專業人士、工業OEM企業、物聯網愛好者、業余愛好者、D
    的頭像 發表于 06-30 10:25 ?5115次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> <b class='flag-5'>開發板</b><b class='flag-5'>免費</b>體驗】小身板大能力RISC-<b class='flag-5'>V</b><b class='flag-5'>開發板</b>

    Milk-V Duo 開發板免費體驗】+ 1、開箱

    Milk-V Duo是一個基于CV1800B芯片的超緊湊嵌入式開發平臺。它可以運行Linux和RTOS,為專業人士、工業ODM、AIoT愛好者、DIY愛好者和創作者提供了一個可靠、低成本和高性能的平臺。
    的頭像 發表于 07-13 09:24 ?1578次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> <b class='flag-5'>開發板</b><b class='flag-5'>免費</b>體驗】+ 1、開箱

    Milk-V Duo】1、入門篇

    入門milk-V Duo開發板
    的頭像 發表于 07-07 11:21 ?1805次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b>】1、入門篇

    Milk-V Duo開發板免費體驗】Milk-V初次使用

    Milk-V Duo開發板免費體驗】Milk-V初次使用
    的頭像 發表于 08-08 09:03 ?2633次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b><b class='flag-5'>開發板</b><b class='flag-5'>免費</b>體驗】<b class='flag-5'>Milk-V</b>初次使用

    Milk-V Duo 開發板免費體驗】 + 系統鏡像燒錄以及登錄

    Milk-V Duo 開發板免費體驗】+系統鏡像燒錄以及登錄 一.Milk-V Duo
    發表于 07-11 11:43

    Milk-V Duo 開發板免費體驗】Milk-V Duo之開箱初體驗

    一,第一印象 外觀設計方面,Milk-V Duo以簡約而精致的風格為主,采用沉金工藝,給人一種高端大氣的感覺。開發板的尺寸小巧,便于攜帶和使用,在我拿到的所有的開發板中,也只有
    發表于 07-16 01:15

    Milk-V Duo 開發板免費體驗】Milk-V Duo 開發板學習初體驗

    第一次申請成功,心情很是喜悅,經過幾天的等待收到了我心心念念的Milk-V Duo 開發小板。 迫不及待的開始了學習初體驗,先犧牲下愛車的行車記錄儀SD卡貢獻下 1、直接下載鏡像
    發表于 07-28 15:58

    Milk-V Duo 開發板免費體驗】開發板使用3

    接上文 【Milk-V Duo 開發板免費體驗】開發板使用1 |和接上文 【Milk-V
    發表于 07-29 08:17

    Milk-V Duo 開發板免費體驗】milkv-duo 申請成功體驗

    。 引腳圖 總結 Milk-V Duo開發板的小巧精致設計和強悍的性能確實為創客和開發者提供了一個優秀的平臺。它的緊湊設計使得它適用于各種空間有限的場景,同時強大的性能可以支持復雜
    發表于 07-29 14:31

    Milk-V Duo 開發板免費體驗】初體驗(一)---- 初識GPIO外掛點燈

    1、初識milk-v duo GPIO milk-v duoGPIO分為了五組,每組32個端口
    發表于 08-16 08:04

    Milk-V Duo 開發板免費體驗】Milk-V Duo 開發板初體驗

    今天收到 ,打開快遞的第一感覺就是非常精致小巧,一個黑色的小盒子及一塊非常小巧但功能非常完善的開發板Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能夠運行基于LINUX
    發表于 08-18 00:26

    Milk-V Duo 開發板免費體驗】3-Linux控制小車方向

    接上兩篇:【Milk-V Duo 開發板免費體驗】2控制螺旋槳電路https://bbs.elecfans.com/jishu_2371054_1_1.html 【
    發表于 08-20 23:57

    Milk-V Duo 開發板免費體驗】4-Linux控制小車動作(原創)首發

    接上三篇: [接上兩篇:【Milk-V Duo 開發板免費體驗】3-Linux控制小車方向https://bbs.elecfans.com/jishu_2371135_1_1.html
    發表于 08-21 02:11

    Milk-V Duo 開發板免費體驗】初體驗及開箱視頻

    剛剛收到開發板,給大家做個視頻來初步了解以下Milk-V Duo 開發板Milk-V Duo
    發表于 08-22 23:59

    Milk-V Duo 開發板免費體驗】②、ssh連接Milk-V Duo開發板

    承接上期的開箱貼,此次將Milk-V Duo開發板運行linux系統。在此之前需要手頭準備一張8GB以上的TF卡,并使用讀卡器將TF燒錄Linux鏡像文件。這里需要借助燒寫工具rufus,這款工具
    發表于 08-29 00:53
    主站蜘蛛池模板: 日本美女搞基视频 | 草草久久久无码国产专区全集观看 | 樱花之恋动漫免费观看 | 在线观看国产人视频免费中国 | 开心色99xxxx开心色 | 两个吃奶一个添下面视频 | 国产高清在线观看视频 | 日韩久久影院 | 久久综合老色鬼网站 | 欧美片第1页 综合 | 日本粉嫩学生毛绒绒 | 福利啪啪吧 | 亚洲偷偷自拍免费视频在线 | 黄色免费网址在线观看 | 色青青草原桃花久久综合 | 亚洲精品无码不卡在线播HE | 午夜性爽视频男人的天堂在线 | 在线 无码 中文 强 乱 | 国产成人a v在线影院 | 亲胸吻胸添奶头GIF动态图免费 | 国产在线观看www鲁啊鲁免费 | 喜马拉雅听书免费版 | 久久99精品AV99果冻 | 粗好大用力好深快点漫画 | 国产一在线精品一区在线观看 | 秋霞电影院兔费理论84MB | 午夜亚洲动漫精品AV网站 | 久久中文字幕无码A片不卡 久久中文字幕人妻熟AV女蜜柚M | 亚洲精品第五页中文字幕 | 久久久久久久尹人综合网亚洲 | 第一福利视频网站在线 | 真实国产乱子伦精品一区二区三区 | 在线亚洲免费 | 91久久综合精品国产丝袜长腿 | 99久久久免费精品免费 | 国产精品亚洲高清一区二区 | 高跟丝袜岳第一次 | 国产午夜精品AV一区二区麻豆 | 亚洲国产精品一区二区久久第 | 妖精视频免费看 | 成人在线视频在线观看 |