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

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

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

電子發(fā)燒友網(wǎng)>嵌入式技術(shù)>Linux設(shè)備驅(qū)動(dòng)中的devicetree

Linux設(shè)備驅(qū)動(dòng)中的devicetree

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

掃碼添加小助手

加入工程師交流群

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

評(píng)論

查看更多

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

關(guān)于Linux設(shè)備驅(qū)動(dòng)input子系統(tǒng)的介紹

對(duì)于輸入類(lèi)設(shè)備如鍵盤(pán)、鼠標(biāo)、觸摸屏之類(lèi)的Linux驅(qū)動(dòng),內(nèi)核提供input子系統(tǒng),使得這類(lèi)設(shè)備的處理變得非常便捷??傮w上來(lái)講,input子系統(tǒng)由三部分組成: 事件驅(qū)動(dòng)input核心設(shè)備驅(qū)動(dòng)。##對(duì)于
2014-01-09 16:06:592959

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)兩個(gè)重要思想

嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)之驅(qū)動(dòng)分層/分離思想 我們?cè)趯W(xué)習(xí)I2C、USB、SD驅(qū)動(dòng)時(shí),有沒(méi)有發(fā)現(xiàn)一個(gè)共性,
2018-04-21 08:35:176476

Linux驅(qū)動(dòng)開(kāi)發(fā):字符設(shè)備驅(qū)動(dòng)開(kāi)發(fā)理論

大部分學(xué)習(xí)者的最終目的就是學(xué)習(xí) Linux驅(qū)動(dòng)開(kāi)發(fā),Linux的外設(shè)驅(qū)動(dòng)可以分為:字符設(shè)備驅(qū)動(dòng)、塊設(shè)備驅(qū)動(dòng)和網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)
2022-10-26 09:53:361655

Linux字符設(shè)備驅(qū)動(dòng)開(kāi)發(fā)框架介紹

字符設(shè)備Linux驅(qū)動(dòng)中最基本的一類(lèi)設(shè)備驅(qū)動(dòng),字符設(shè)備就是一個(gè)一個(gè)字節(jié),按照字節(jié)流進(jìn)行讀寫(xiě)操作的設(shè)備,讀寫(xiě)數(shù)據(jù)是分先后順序的。比如常見(jiàn)的點(diǎn)燈、按鍵、IIC、SPI、LCD 等等都是字符設(shè)備,這些設(shè)備驅(qū)動(dòng)就叫做字符設(shè)備驅(qū)動(dòng)
2023-04-15 11:52:151984

Linux驅(qū)動(dòng)創(chuàng)建procfs接口的方法

上篇介紹了Linux驅(qū)動(dòng)sysfs接口的創(chuàng)建,今天介紹procfs接口的創(chuàng)建。
2023-05-31 16:48:471076

devicetree移植過(guò)程

dtc是用來(lái)編譯devicetree的工具,可以將dts文件編譯成被內(nèi)核識(shí)別解析的dtb文件,同時(shí)也可以反向?qū)tb文件編譯成dts文件
2023-06-28 16:25:22879

linux驅(qū)動(dòng)程序的主要流程和功能

驅(qū)動(dòng)程序是用于控制和管理硬件設(shè)備的軟件模塊,它主要負(fù)責(zé)與設(shè)備進(jìn)行交互,通過(guò)操作設(shè)備的寄存器和接口,實(shí)現(xiàn)對(duì)硬件的控制和訪問(wèn)。在Linux系統(tǒng),驅(qū)動(dòng)程序是實(shí)現(xiàn)與硬件設(shè)備交互的一個(gè)關(guān)鍵部分。本文將詳細(xì)
2023-12-08 14:56:023814

迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux通用SPI設(shè)備驅(qū)動(dòng)

迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux通用SPI設(shè)備驅(qū)動(dòng)
2025-01-23 11:02:243565

Linux總線(xiàn)、設(shè)備、驅(qū)動(dòng)是如何關(guān)聯(lián)的?

對(duì)于Linux驅(qū)動(dòng)開(kāi)發(fā)來(lái)說(shuō),設(shè)備模型的理解是根本,顧名思義設(shè)備模型是關(guān)于設(shè)備的模型,設(shè)備的概念就是總線(xiàn)和與其相連的各種設(shè)備了。電腦城的IT 工作者都會(huì)知道設(shè)備是通過(guò)總線(xiàn)連到計(jì)算機(jī)上的,而且還需要
2013-04-08 11:01:20

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)兩個(gè)重要思想解析

嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)思想進(jìn)階之驅(qū)動(dòng)分層與驅(qū)動(dòng)分離
2021-02-19 06:40:01

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解

本帖最后由 華清遠(yuǎn)見(jiàn) 于 2013-6-3 09:47 編輯 #華清遠(yuǎn)見(jiàn)《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》電子書(shū)連載#第1章 設(shè)備驅(qū)動(dòng)概述,本章將帶您走進(jìn)Linux設(shè)備驅(qū)動(dòng)的精彩世界。1.1節(jié)講解
2013-06-03 09:45:13

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解

#《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》電子書(shū)連載#第5章 Linux文件系統(tǒng)與設(shè)備文件系統(tǒng),由于字符設(shè)備和塊設(shè)備都很好地體現(xiàn)了“一切都是文件”的設(shè)計(jì)思想,掌握Linux文件系統(tǒng)、設(shè)備文件系統(tǒng)的知識(shí)非常重要。首先,設(shè)備驅(qū)動(dòng)最終通過(guò)操作系統(tǒng)的文件系統(tǒng)調(diào)用或C庫(kù)函數(shù)被訪問(wèn)
2013-06-06 11:28:02

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解

#《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》電子書(shū)連載#第7章 Linux設(shè)備驅(qū)動(dòng)的并發(fā)控制,Linux設(shè)備驅(qū)動(dòng)必須解決的一個(gè)問(wèn)題是多個(gè)進(jìn)程對(duì)共享資源的并發(fā)訪問(wèn),并發(fā)訪問(wèn)會(huì)導(dǎo)致競(jìng)態(tài)。Linux提供了多種解決競(jìng)態(tài)問(wèn)題的方式,這些方式適合不同的應(yīng)用場(chǎng)景。詳情:http://t.cn/zHONW9I
2013-06-09 14:48:50

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解

#《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》電子書(shū)連載#第8章 Linux設(shè)備驅(qū)動(dòng)的阻塞與非阻塞IO,阻塞和非阻塞I/O是設(shè)備訪問(wèn)的兩種不同模式,驅(qū)動(dòng)程序可以靈活地支持用戶(hù)空間對(duì)設(shè)備的這兩種訪問(wèn)方式。8.1節(jié)
2013-06-25 15:14:03

Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā) - Linux設(shè)備驅(qū)動(dòng)類(lèi)型

驅(qū)動(dòng)程序在Linux的內(nèi)核源代碼占有很大的比例,源代碼的長(zhǎng)度日益增加,主要是驅(qū)動(dòng)程序的增加。在Linux內(nèi)核的不斷升級(jí)過(guò)程驅(qū)動(dòng)程序的結(jié)構(gòu)還是相對(duì)穩(wěn)定。Linux設(shè)備驅(qū)動(dòng)架構(gòu)的不斷發(fā)展始終堅(jiān)持
2016-04-16 14:31:57

Linux設(shè)備驅(qū)動(dòng)的主要類(lèi)型介紹

Linux設(shè)備驅(qū)動(dòng)的主要類(lèi)型
2020-12-29 06:23:46

linux驅(qū)動(dòng)設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解

1.《linux驅(qū)動(dòng)設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》 基于linux4.0 是目前主流的 嵌入式開(kāi)發(fā)用的系統(tǒng) 整個(gè)開(kāi)發(fā)流程很詳細(xì),是嵌入式開(kāi)發(fā)的入門(mén)之選,在2021年之前是沒(méi)有任何圖書(shū)有這么詳細(xì)的教程的,是國(guó)內(nèi)
2021-11-08 08:03:07

linux內(nèi)核驅(qū)動(dòng)增加STM32虛擬串口設(shè)備驅(qū)動(dòng)的方法

linux內(nèi)核驅(qū)動(dòng)增加STM32虛擬串口設(shè)備驅(qū)動(dòng)的方法
2021-12-07 07:13:34

linux平臺(tái)設(shè)備驅(qū)動(dòng)

區(qū))在設(shè)備驅(qū)動(dòng)程序中經(jīng)常會(huì)見(jiàn)到和platform相關(guān)的字段,分布在驅(qū)動(dòng)程序的多個(gè)角落,這也是2.6內(nèi)核中比較重要的一種機(jī)制,把它原理弄懂,對(duì)以后分析驅(qū)動(dòng)程序很有幫助:在linux2.6設(shè)備模型,關(guān)心
2017-09-01 14:40:51

Mini Linux

Mini Linux EMMC
2023-03-28 13:06:25

TISDK是否已完全支持omapL138用devicetree配置(DA8xx-DT)

的mach_type還是DA850EVM的值,而內(nèi)核devicetree版本的mach type卻是ffffffff,無(wú)法匹配,啟動(dòng)不了。 這個(gè)問(wèn)題可以如何解決呢? mach-davinci/da8xx-dt.c是否已經(jīng)完整的支持了omapL138了呢?
2018-06-21 14:50:05

[分享資料]linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解_宋寶華

、LCD設(shè)備、音頻設(shè)備、USB設(shè)備、網(wǎng)絡(luò)設(shè)備、PCI設(shè)備Linux設(shè)備驅(qū)動(dòng)的架構(gòu)和框架各個(gè)復(fù)雜數(shù)據(jù)架構(gòu)和函數(shù)的關(guān)系,并講解了Linux驅(qū)動(dòng)開(kāi)發(fā)的大量實(shí)例,使讀者能夠獨(dú)立開(kāi)發(fā)各類(lèi)Linux設(shè)備驅(qū)動(dòng)
2015-09-11 23:36:44

什么是linux設(shè)備驅(qū)動(dòng)看了就知道

想要深入理解linux設(shè)備驅(qū)動(dòng),你必須明確以下幾個(gè)問(wèn)題:· 應(yīng)用程序、庫(kù)、內(nèi)核、驅(qū)動(dòng)程序的關(guān)系· 設(shè)備類(lèi)型· 設(shè)備文件、主設(shè)備號(hào)與從設(shè)備號(hào)· 驅(qū)動(dòng)程序與應(yīng)用程序的區(qū)別· 用戶(hù)態(tài)與內(nèi)核態(tài)· Linux驅(qū)動(dòng)程序功能
2021-04-06 06:50:40

關(guān)于Linux內(nèi)核設(shè)備驅(qū)動(dòng)設(shè)備管理

關(guān)于設(shè)備驅(qū)動(dòng)設(shè)備管理,四種內(nèi)核成分設(shè)備類(lèi)型:在所有unix系統(tǒng)為了統(tǒng)一普通設(shè)備的操作所采用的分類(lèi)模塊:Linux內(nèi)核中用于按需加載和卸載目標(biāo)代碼的機(jī)制內(nèi)核對(duì)象:內(nèi)核數(shù)據(jù)結(jié)構(gòu)中支持面向?qū)ο蟮暮?jiǎn)單
2022-11-04 14:59:00

基于Linux的USB設(shè)備驅(qū)動(dòng)方法有什么優(yōu)點(diǎn)?

嵌入式linux系統(tǒng)環(huán)境以其易于移植裁減、內(nèi)核小、效率高、完整、原代碼開(kāi)放及性能優(yōu)異等特點(diǎn),在嵌入式領(lǐng)域得到了非常廣泛的應(yīng)用。Linux的USB設(shè)備端的源代碼主要有USB device的海量存儲(chǔ)
2019-11-07 08:31:16

如何學(xué)習(xí)linux設(shè)備驅(qū)動(dòng)

編寫(xiě)出高質(zhì)量的驅(qū)動(dòng)?!?掌握linux內(nèi)核設(shè)備驅(qū)動(dòng)的編寫(xiě)接口如:字符設(shè)備的cdev、塊設(shè)備的gendisk、網(wǎng)絡(luò)設(shè)備的net_device,以及基于這些基本接口的framebuffer設(shè)備
2011-07-06 13:12:29

嵌入式Linux系統(tǒng)設(shè)備驅(qū)動(dòng)程序怎么編寫(xiě)?

件管理機(jī)制完善等優(yōu)良特性而正被作為研究熱點(diǎn),越來(lái)越多的研究人員采用Linux平臺(tái)來(lái)開(kāi)發(fā)自己的產(chǎn)品。Linux設(shè)備驅(qū)動(dòng)程序在Linux內(nèi)核源代碼占有很大比例,從2.0、2.2到 2.4版本的內(nèi)核,源代碼的長(zhǎng)度日益增加,其實(shí)主要是設(shè)備驅(qū)動(dòng)程序在增加。
2020-03-31 08:15:36

淺析嵌入式linuxARM板設(shè)備樹(shù)路徑設(shè)備樹(shù)的信息

嵌入式linuxARM板設(shè)備樹(shù)路徑設(shè)備樹(shù)的信息——根節(jié)點(diǎn)cd /sys/firmware/devicetree/base/。platform_device 的信息在設(shè)備樹(shù)的dts文件里,帶有
2021-12-14 06:19:10

由于Devicetree,無(wú)法啟動(dòng)內(nèi)核

,結(jié)束02a053b2啟動(dòng)內(nèi)核......解壓縮Linux ...完成,啟動(dòng)內(nèi)核。任何想法都會(huì)有幫助。我可以使用任何調(diào)試方法來(lái)調(diào)試此問(wèn)題。我有3.12.0-xilinx linux版本。 U-boot是2013.10。和使用vivado 2015.2生成的設(shè)備樹(shù)。謝謝圖莎爾
2020-04-16 09:44:03

詳解linux設(shè)備驅(qū)動(dòng)模型架構(gòu)

LDD3說(shuō):“Linux內(nèi)核需要一個(gè)對(duì)系統(tǒng)結(jié)構(gòu)的一般性描述?!边@個(gè)描述就是linux設(shè)備驅(qū)動(dòng)模型(下面簡(jiǎn)稱(chēng)為L(zhǎng)DDM)。LDDM不是獨(dú)立存在,其體系如下圖所示:
2019-07-25 07:25:33

linux設(shè)備驅(qū)動(dòng)程序pdf(第三版)

linux設(shè)備驅(qū)動(dòng)程序是經(jīng)典著作《Linux 設(shè)備驅(qū)動(dòng)程序》的第三版。該版本已針對(duì) Linux 內(nèi)核的 2.6.10
2008-09-10 11:42:150

嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)

嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā) Linux 設(shè)備驅(qū)動(dòng)的基本概念Linux 設(shè)備驅(qū)動(dòng)程序的基本功能Linux 設(shè)備驅(qū)動(dòng)的運(yùn)作過(guò)程常見(jiàn)設(shè)備驅(qū)動(dòng)接口函數(shù)掌握LCD 設(shè)備驅(qū)動(dòng)程序編寫(xiě)步驟
2008-09-10 13:10:2982

Linux基于EP7312的LCD驅(qū)動(dòng)程序設(shè)計(jì)

介紹在Linux操作系統(tǒng)基于EP7312的LCD設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)。其中包括LCD設(shè)備顯示原理,EP7312上與LCD 相關(guān)的寄存器, Linux 操作系統(tǒng)編寫(xiě)設(shè)備驅(qū)動(dòng)程序的方法以及驅(qū)動(dòng)程序如何添加到Linu
2009-04-15 11:46:1428

Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)

本文主要講述的是Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)。
2009-04-22 16:37:2941

Linux系統(tǒng)PCI設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)

為了促進(jìn)“Linux+PCI”技術(shù)在工控領(lǐng)域中的應(yīng)用,通過(guò)對(duì)Linux系統(tǒng)PCI局部總線(xiàn)規(guī)范實(shí)現(xiàn)機(jī)制和Linux設(shè)備驅(qū)動(dòng)模塊的分析,給出了PCI設(shè)備驅(qū)動(dòng)程序的基本結(jié)構(gòu)、內(nèi)容及開(kāi)發(fā)方法;最后用
2009-07-16 09:55:2217

基于Linux操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)

本文介紹了Linux 系統(tǒng)的特點(diǎn),闡述了在Linux 操作系統(tǒng)下,對(duì)系統(tǒng)硬件的訪問(wèn)和開(kāi)發(fā)驅(qū)動(dòng)程序的方法,說(shuō)明了設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu)和編寫(xiě)過(guò)程。
2009-09-02 17:11:5120

linux 中斷和設(shè)備驅(qū)動(dòng)

linux 中斷和設(shè)備驅(qū)動(dòng) 本章介紹L i n u x內(nèi)核是如何維護(hù)它支持的文件系統(tǒng)的文件的,我們先介紹 V F S ( Vi r t u a lFile System,虛擬文件系統(tǒng)),再解釋一下L i n u x
2010-02-09 14:13:2824

嵌入式Linux字符設(shè)備驅(qū)動(dòng)的設(shè)計(jì)與應(yīng)用

描述了基于嵌入式Linux的字符設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)方法和實(shí)現(xiàn)過(guò)程。以電機(jī)、數(shù)碼管、串口和mini鍵盤(pán)的驅(qū)動(dòng)設(shè)計(jì)為例,詳細(xì)闡述了嵌入式linux下字符設(shè)備驅(qū)動(dòng)設(shè)計(jì)的關(guān)鍵技術(shù),包括設(shè)
2010-02-23 15:45:4724

嵌入式Linux字符設(shè)備驅(qū)動(dòng)的設(shè)計(jì)與應(yīng)用

描述了基于嵌入式Linux的字符設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)方法和實(shí)現(xiàn)過(guò)程。以電機(jī)、數(shù)碼管、串口和mini鍵盤(pán)的驅(qū)動(dòng)設(shè)計(jì)為例,詳細(xì)闡述了嵌入式linux下字符設(shè)備驅(qū)動(dòng)設(shè)計(jì)的關(guān)鍵技術(shù),包括設(shè)
2010-07-14 17:31:2331

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)入門(mén)

本文以快捷而簡(jiǎn)單的方式講解如何像一個(gè)內(nèi)核開(kāi)發(fā)者那樣開(kāi)發(fā)linux設(shè)備驅(qū)動(dòng). 要開(kāi)發(fā)Linux設(shè)備驅(qū)動(dòng),需要掌握以下知識(shí): C編程 需要掌握深入一些的C語(yǔ)言知識(shí),比如,指針的使用,位處理
2011-03-19 14:57:57600

Linux設(shè)備驅(qū)動(dòng)程序的編寫(xiě)

本站提供的Linux設(shè)備驅(qū)動(dòng)程序的編寫(xiě)資料,希望對(duì)你的學(xué)習(xí)有幫助。 世界各地都有人在鉆研Linux內(nèi)核,大多是在寫(xiě)設(shè)備驅(qū)動(dòng)程序。盡管每個(gè)驅(qū)動(dòng)程序都不一樣,而且你還要知道自己設(shè)備
2011-05-25 16:24:39108

嵌入式Linux的USB驅(qū)動(dòng)設(shè)計(jì)

本文主要介紹了 Linux 平臺(tái)的USB設(shè)備驅(qū)動(dòng)開(kāi)發(fā)的一般步驟方法和技巧,通過(guò)詳細(xì)介紹USB的相關(guān)概念和LinuxUSB設(shè)備驅(qū)動(dòng)程序的數(shù)據(jù)結(jié)構(gòu),框架和步驟,并通過(guò)設(shè)計(jì)和實(shí)現(xiàn)一個(gè)驅(qū)動(dòng)的實(shí)例,
2011-06-08 17:15:4849

Linux設(shè)備驅(qū)動(dòng)模型摘抄

Linux2.6 內(nèi)核提供了新的設(shè)備模型,目的是為了對(duì)計(jì)算機(jī)上的所有設(shè)備進(jìn)行統(tǒng)一地表示和操作,包括設(shè)備本身和設(shè)備之間的連接關(guān)系。這個(gè)模型是在 分析了 PCI 和 USB 的總線(xiàn)驅(qū)動(dòng)過(guò)程中得到
2012-03-19 15:15:5239

LINUX設(shè)備驅(qū)動(dòng)程序

LINUX設(shè)備驅(qū)動(dòng)程序又名LDD,不想再?gòu)?qiáng)調(diào)這本書(shū)的重要性了,因?yàn)樾袠I(yè)內(nèi)的人都知道!2000年版次
2015-11-03 17:32:150

Zynq平臺(tái)下linux的I2C驅(qū)動(dòng)(RTC+EEPROM)

現(xiàn)在ARM下對(duì)SoC開(kāi)發(fā)板的硬件描述都是采用devicetree文件,使用linux自帶的dtc程序?qū)ts編譯成dtb之后,由u-boot將dtb導(dǎo)入給linux內(nèi)核,linux內(nèi)核讀取dtb
2017-02-08 15:18:123748

基于linux系統(tǒng)的字符設(shè)備驅(qū)動(dòng)研究與設(shè)計(jì)_王森

基于linux系統(tǒng)的字符設(shè)備驅(qū)動(dòng)研究與設(shè)計(jì)_王森
2017-03-18 09:23:021

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)之設(shè)備驅(qū)動(dòng)簡(jiǎn)述

是操作系統(tǒng)最基本的功能,并且提供統(tǒng)一的操作方式。設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分,硬件驅(qū)動(dòng)程序是操作系統(tǒng)最基本的組成部分,在Linux內(nèi)核源程序也占有60%以上。因此,熟悉驅(qū)動(dòng)的編寫(xiě)是很重要的。 在第2章已經(jīng)提到過(guò),Linux內(nèi)核采用可加載的模塊化設(shè)計(jì)(
2017-10-18 16:44:160

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第23章、Linux設(shè)備驅(qū)動(dòng)的移植

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第23章、Linux設(shè)備驅(qū)動(dòng)的移植
2017-10-27 10:58:139

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第20章、USB主機(jī)與設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第20章、USB主機(jī)與設(shè)備驅(qū)動(dòng)
2017-10-27 11:04:088

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第18章、LCD設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第18章、LCD設(shè)備驅(qū)動(dòng)
2017-10-27 11:11:5113

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第17章、Linux音頻設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第17章、Linux音頻設(shè)備驅(qū)動(dòng)
2017-10-27 11:14:2617

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第16章、Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第16章、Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)
2017-10-27 11:17:065

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第15章、Linux的I2C核心、總線(xiàn)與設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第15章、Linux的I2C核心、總線(xiàn)與設(shè)備驅(qū)動(dòng)
2017-10-27 11:19:258

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第14章、Linux終端設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第14章、Linux終端設(shè)備驅(qū)動(dòng)
2017-10-27 11:22:008

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第13章、Linux設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第13章、Linux設(shè)備驅(qū)動(dòng)
2017-10-27 11:24:3918

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第9章、Linux設(shè)備驅(qū)動(dòng)的異步通知與異步IO

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第9章、Linux設(shè)備驅(qū)動(dòng)的異步通知與異步IO
2017-10-27 11:33:150

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第8章、Linux設(shè)備驅(qū)動(dòng)的阻塞與非阻塞IO

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第8章、Linux設(shè)備驅(qū)動(dòng)的阻塞與非阻塞IO
2017-10-27 11:35:129

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第7章、Linux設(shè)備驅(qū)動(dòng)的并發(fā)控制

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第7章、Linux設(shè)備驅(qū)動(dòng)的并發(fā)控制
2017-10-27 11:37:4510

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第6章、字符設(shè)備驅(qū)動(dòng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第6章、字符設(shè)備驅(qū)動(dòng)
2017-10-27 11:46:4423

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng)

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng)
2017-10-27 14:13:310

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第4章、Linux內(nèi)核模塊

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第4章、Linux內(nèi)核模塊
2017-10-27 14:15:510

基于嵌入式Linux LCD設(shè)備驅(qū)動(dòng)分析

基于嵌入式Linux LCD設(shè)備驅(qū)動(dòng)分析
2017-10-30 16:20:3514

Linux設(shè)備驅(qū)動(dòng)的模型摘抄

Linux設(shè)備驅(qū)動(dòng)的模型摘抄
2017-10-31 09:00:248

Linux總線(xiàn)、設(shè)備、驅(qū)動(dòng)是如何關(guān)聯(lián)的?

對(duì)于 Linux 驅(qū)動(dòng)開(kāi)發(fā)來(lái)說(shuō),設(shè)備模型的理解是根本,顧名思義設(shè)備模型是關(guān)于設(shè)備的模型,設(shè)備的概念就是總線(xiàn)和與其相連的各種設(shè)備了。 電腦城的 IT 工作者都會(huì)知道設(shè)備是通過(guò)總線(xiàn)連到計(jì)算機(jī)上的,而且還需要對(duì)應(yīng)的驅(qū)動(dòng)才能用,可是總線(xiàn)是如何發(fā)現(xiàn)設(shè)備的,設(shè)備又是如何和驅(qū)動(dòng)對(duì)應(yīng)起來(lái)的?
2017-11-27 01:21:573617

想要駕馭Linux驅(qū)動(dòng)開(kāi)發(fā),必須深刻理解Linux總線(xiàn)設(shè)備驅(qū)動(dòng)框架

想要駕馭Linux驅(qū)動(dòng)開(kāi)發(fā),必須深刻理解Linux總線(xiàn)設(shè)備驅(qū)動(dòng)框架。之所以會(huì)形成這樣的框架,主要是為了代碼的可重用性,因?yàn)?b class="flag-6" style="color: red">驅(qū)動(dòng)和設(shè)備的關(guān)系是一對(duì)多的。正如主設(shè)備號(hào)和次設(shè)備號(hào)之分,主設(shè)備號(hào)表示驅(qū)動(dòng)程序,次設(shè)備號(hào)表示具體的設(shè)備。   
2018-03-22 11:08:5711028

基于PXA255開(kāi)發(fā)板外圍字符設(shè)備的嵌入式Linux字符設(shè)備驅(qū)動(dòng)設(shè)計(jì)與應(yīng)用

隨著嵌入式系統(tǒng)的發(fā)展,嵌入式 Linux以其穩(wěn)定性和開(kāi)放源代碼的優(yōu)點(diǎn)在嵌入式系統(tǒng)的開(kāi)發(fā)得到廣泛應(yīng)用。越來(lái)越多的軟硬件廠商使用嵌入式 Linux來(lái)開(kāi)發(fā)自己的產(chǎn)品,對(duì)基于嵌入式 Linux平臺(tái)開(kāi)發(fā)設(shè)備
2018-08-21 10:19:301499

嵌入式Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)基礎(chǔ)知識(shí)總結(jié)免費(fèi)下載

本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)基礎(chǔ)知識(shí)總結(jié)免費(fèi)下載 嵌入式Linux設(shè)備驅(qū)動(dòng)程序分類(lèi)靜態(tài)加載的驅(qū)動(dòng)程序動(dòng)態(tài)加載的驅(qū)動(dòng)程序 Linux設(shè)備按照功能特性劃分為三種類(lèi)型:字符設(shè)備,塊設(shè)備和網(wǎng)絡(luò)設(shè)備。
2018-10-23 16:10:5613

如何為Linux編寫(xiě)用戶(hù)空間設(shè)備驅(qū)動(dòng)程序

了解如何為Linux編寫(xiě)用戶(hù)空間設(shè)備驅(qū)動(dòng)程序。 用戶(hù)空間驅(qū)動(dòng)程序?yàn)槟承?b class="flag-6" style="color: red">設(shè)備提供內(nèi)核空間驅(qū)動(dòng)程序的替代方案
2018-11-22 07:04:004321

Linux教程之Linux設(shè)備驅(qū)動(dòng)編程引言資料說(shuō)明

應(yīng)用軟件的編寫(xiě); (2)Linux 固件工程師(Firmware Engineer):主要進(jìn)行 Bootloader、Linux 的移植及 Linux 設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)。
2019-02-22 08:00:006

Linux設(shè)備驅(qū)動(dòng)的并發(fā)控制

訪問(wèn)共享內(nèi)存資源的代碼區(qū)稱(chēng)為“臨界區(qū)”,臨界區(qū)需要被以某種互斥機(jī)制加以保護(hù),中斷屏蔽、原子操作、自旋鎖和信號(hào)量等 是linux設(shè)備驅(qū)動(dòng)可采用的互斥途徑。
2019-04-26 13:56:52908

嵌入式Linux設(shè)備驅(qū)動(dòng)原理原來(lái)是這樣編寫(xiě)的!

系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核和應(yīng)用程序之間的接口,設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口。Linux設(shè)備驅(qū)動(dòng)程序?yàn)閼?yīng)用程序屏蔽了硬件細(xì)節(jié),在應(yīng)用程序看來(lái),Linux硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作。
2019-04-28 15:15:372337

你對(duì)Linux總線(xiàn)設(shè)備驅(qū)動(dòng)框架是否了解

Linux設(shè)備驅(qū)動(dòng)模型,或者說(shuō),Linux設(shè)備驅(qū)動(dòng)框架,都是同一個(gè)意思。應(yīng)該這樣理解,(Linux設(shè)備驅(qū)動(dòng)框架,即某類(lèi)設(shè)備對(duì)應(yīng)的驅(qū)動(dòng)的框架。
2019-05-05 15:13:441285

Linux設(shè)備驅(qū)動(dòng)之platform

根據(jù)Linux設(shè)備模型可知,一個(gè)現(xiàn)實(shí)的Linux設(shè)備驅(qū)動(dòng)通常都需要掛接在一種總線(xiàn)上,對(duì)于本身依附于PCI、USB等的設(shè)備而言,這自然不是問(wèn)題,但是在嵌入式系統(tǒng)里面,SoC系統(tǒng)中集成的獨(dú)立的外設(shè)控制器、掛接在 SoC 內(nèi)存空間的外設(shè)等卻不依附于此類(lèi)總線(xiàn)。
2019-05-13 11:43:121375

Embeded linux的MMC驅(qū)動(dòng)

Embeded linux的MMC驅(qū)動(dòng)
2019-05-14 16:08:521471

Linux設(shè)備驅(qū)動(dòng)的并發(fā)控制

Linux 設(shè)備驅(qū)動(dòng)必須解決的一個(gè)問(wèn)題是多個(gè)進(jìn)程對(duì)共享資源的并發(fā)訪問(wèn),并發(fā)的訪問(wèn)會(huì)導(dǎo)致競(jìng)態(tài)。
2019-05-15 10:24:48968

Linux下的硬件驅(qū)動(dòng)—USB設(shè)備(下)

RESERVED FOR FUTURE USE INCLUDE FILES--> 前言在上篇《 Linux下的硬件驅(qū)動(dòng)--USB設(shè)備(上)(驅(qū)動(dòng)配制部分)》,我們知道了在Linux下如何去使用一些最常
2019-04-02 14:37:35727

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解PDF電子書(shū)免費(fèi)下載

、內(nèi)存和I/O映射以及異步通知、阻塞I/O、非阻塞I/O等Linux設(shè)備驅(qū)動(dòng)理論;字符設(shè)備、塊設(shè)備、TTY設(shè)備、I2C設(shè)備、LCD設(shè)備、音頻設(shè)備、USB設(shè)備、網(wǎng)絡(luò)設(shè)備、PCI設(shè)備Linux設(shè)備驅(qū)動(dòng)的架構(gòu)和框架各個(gè)復(fù)雜數(shù)據(jù)架構(gòu)和函數(shù)的關(guān)系,并講解了Linux驅(qū)動(dòng)開(kāi)發(fā)的大量實(shí)例,使讀者能夠獨(dú)
2019-04-28 08:00:0037

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解PDF電子書(shū)免費(fèi)下載的

/底半部、定時(shí)器、內(nèi)存和I/O映射以及異步通知、阻塞I/O、非阻塞I/O等Linux設(shè)備驅(qū)動(dòng)理論;字符設(shè)備、塊設(shè)備、TTY設(shè)備、I2C設(shè)備、LCD設(shè)備、音頻設(shè)備、USB設(shè)備、網(wǎng)絡(luò)設(shè)備、PCI設(shè)備Linux設(shè)備驅(qū)動(dòng)的架構(gòu)和框架各個(gè)復(fù)雜數(shù)據(jù)架構(gòu)和函數(shù)的關(guān)系,并講解了Linux驅(qū)動(dòng)開(kāi)發(fā)的大量實(shí)例,
2019-07-24 08:00:0039

米爾科技LINUX設(shè)備驅(qū)動(dòng)程序教程

本書(shū)是經(jīng)典著作《Linux設(shè)備驅(qū)動(dòng)程序》的第三版。
2019-11-25 09:10:072729

米爾科技Linux設(shè)備驅(qū)動(dòng)研究淺談

、usb設(shè)備、網(wǎng)絡(luò)設(shè)備、pci設(shè)備linux設(shè)備驅(qū)動(dòng)的架構(gòu)和框架各個(gè)復(fù)雜數(shù)據(jù)架構(gòu)和函數(shù)的關(guān)系,并講解了linux驅(qū)動(dòng)開(kāi)發(fā)的大量實(shí)例,使讀者能夠獨(dú)立開(kāi)發(fā)各類(lèi)linux設(shè)備驅(qū)動(dòng)。
2019-11-25 09:32:412460

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)的基本知識(shí)

本篇文章將介紹Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)的基本知識(shí),帶你快速撥開(kāi)Linux驅(qū)動(dòng)這團(tuán)迷霧。文章分為如下3個(gè)小節(jié)進(jìn)行講解:
2020-02-24 15:03:464944

如何寫(xiě)一個(gè)Linux設(shè)備驅(qū)動(dòng)程序

首先說(shuō)明:寫(xiě)這個(gè)第一個(gè)Linux設(shè)備驅(qū)動(dòng)程序的目的是熟悉Linux驅(qū)動(dòng)的框架以及編程流程,所以是通過(guò)打印的信息來(lái)觀察程序運(yùn)行的情況,并不是真正的實(shí)現(xiàn)了某一個(gè)具體設(shè)備驅(qū)動(dòng),可以類(lèi)比于C語(yǔ)言編程的“Hello World”。
2020-04-12 10:13:445528

ADIS1613x Linux設(shè)備驅(qū)動(dòng)程序

ADIS1613x Linux設(shè)備驅(qū)動(dòng)程序
2021-03-22 14:37:267

深入淺出Linux設(shè)備驅(qū)動(dòng)編程之引言

(Firmware Engineer):主要進(jìn)行 Bootloader、Linux 的移植及 Linux 設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)。
2021-03-26 10:03:455

Linux設(shè)備驅(qū)動(dòng)思想在STM32編程的應(yīng)用

這幾天看了一下Linux設(shè)備驅(qū)動(dòng),發(fā)現(xiàn)這套思想其實(shí)也可以用在普通的單片機(jī)編程上。這種思想較好的分割了驅(qū)動(dòng)層和應(yīng)用層的任務(wù),方便分層開(kāi)發(fā)。以前,我們開(kāi)發(fā)STM32驅(qū)動(dòng)的時(shí)候,會(huì)給設(shè)備寫(xiě)一套函數(shù)來(lái)控制它
2021-12-31 18:56:514

Linux總線(xiàn)、設(shè)備、驅(qū)動(dòng)模型的探究

Linux總線(xiàn)、設(shè)備、驅(qū)動(dòng)模型的探究
2022-02-14 12:01:227

LINUX設(shè)備驅(qū)動(dòng)程序

技能的人來(lái)檢查, 理解以及修改. Linux 已經(jīng)幫助使操作系統(tǒng)民主化. Linux 內(nèi)核保留有大量的復(fù)雜的代碼, 但是, 那 些想要成為內(nèi)核 hacker 的人需要一個(gè)入口點(diǎn), 這樣他們可以進(jìn)入代碼, 不 會(huì)被代碼的復(fù)雜性壓倒. 通常, 設(shè)備驅(qū)動(dòng)提供了這樣的門(mén)路.
2022-07-31 11:02:452

關(guān)于Linux驅(qū)動(dòng)開(kāi)發(fā)的IIC設(shè)備驅(qū)動(dòng)的投機(jī)取巧

前言 Linux的IIC驅(qū)動(dòng)想必大家都耳熟能詳,網(wǎng)上也有很多相關(guān)的教程。 網(wǎng)上的教程總結(jié),比如: 方法 問(wèn)題描述 Linux 3.X.X版本之后,設(shè)備樹(shù)+驅(qū)動(dòng) 此方法是比較符合linux驅(qū)動(dòng)的寫(xiě)法
2022-08-09 11:18:001935

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解

Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解
2022-10-28 11:03:0656

Linux設(shè)備驅(qū)動(dòng)之間的聯(lián)系描述

linux設(shè)備驅(qū)動(dòng)模型,總線(xiàn)是一個(gè)抽象的概念,是一類(lèi)特殊的設(shè)備。在設(shè)備模型的實(shí)現(xiàn),內(nèi)核規(guī)定了系統(tǒng)的每個(gè)設(shè)備都需要連接到一個(gè)總線(xiàn)上,這個(gè)總線(xiàn)可以是一個(gè)內(nèi)部的Bus、虛擬的Bus或者Platform 總線(xiàn)。
2023-01-16 09:23:263028

Linux字符設(shè)備的創(chuàng)建過(guò)程

Linux很多設(shè)備都是字符設(shè)備,使用ls -l查看/dev下的設(shè)備,前面帶c的都是字符設(shè)備。
2023-03-24 11:29:112931

Linux新字符設(shè)備驅(qū)動(dòng)開(kāi)發(fā)方式

Linux字符設(shè)備驅(qū)動(dòng)開(kāi)發(fā)模板中介紹了舊版本的驅(qū)動(dòng)開(kāi)發(fā)模板,其需要手動(dòng)分配設(shè)備號(hào)后,再進(jìn)行注冊(cè),驅(qū)動(dòng)加載成功后還需要手動(dòng)創(chuàng)建設(shè)備節(jié)點(diǎn),比較麻煩。目前Linux內(nèi)核推薦的新字符設(shè)備驅(qū)動(dòng)API函數(shù),可以自動(dòng)分配設(shè)備號(hào)、創(chuàng)建設(shè)備節(jié)點(diǎn),使得驅(qū)動(dòng)的使用更加方便
2023-04-14 12:02:501506

萬(wàn)千設(shè)備,linux內(nèi)核如何知道?

linux內(nèi)核設(shè)備的注冊(cè)由device_register()函數(shù)完成,這個(gè)函數(shù)是linux設(shè)備驅(qū)動(dòng)模型的核心函數(shù)
2023-07-12 08:52:151639

一文總結(jié)linux的platform驅(qū)動(dòng)

linux設(shè)備驅(qū)動(dòng),有許多沒(méi)有特定總線(xiàn)的外設(shè)驅(qū)動(dòng),在實(shí)際開(kāi)發(fā),又需要使用到總線(xiàn)、驅(qū)動(dòng)設(shè)備模型這三個(gè)概念,故而linux提供了platform這個(gè)虛擬總線(xiàn),掛接在platform總線(xiàn)上的驅(qū)動(dòng)稱(chēng)為platform驅(qū)動(dòng)
2023-10-16 16:45:402182

linux安裝網(wǎng)卡驅(qū)動(dòng)教程

Linux系統(tǒng)安裝網(wǎng)卡驅(qū)動(dòng)是一個(gè)比較基礎(chǔ)的操作,下面我將為你詳細(xì)講解如何安裝網(wǎng)卡驅(qū)動(dòng)。 第一步,檢查網(wǎng)卡型號(hào)和驅(qū)動(dòng)支持情況:首先,你需要確定你的網(wǎng)卡型號(hào),并查看該網(wǎng)卡型號(hào)在Linux系統(tǒng)驅(qū)動(dòng)
2023-11-17 11:11:115607

linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核

Linux系統(tǒng),驅(qū)動(dòng)程序是內(nèi)核與硬件設(shè)備之間的橋梁。它們?cè)试S內(nèi)核與硬件設(shè)備進(jìn)行通信,從而實(shí)現(xiàn)對(duì)硬件設(shè)備的控制和管理。 驅(qū)動(dòng)程序的編寫(xiě) 驅(qū)動(dòng)程序的編寫(xiě)是Linux驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)。在編寫(xiě)驅(qū)動(dòng)程序之前
2024-08-30 15:02:191661

Linux設(shè)備驅(qū)動(dòng)程序分類(lèi)有哪些

Linux設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)與硬件設(shè)備之間的橋梁,負(fù)責(zé)實(shí)現(xiàn)硬件設(shè)備與操作系統(tǒng)之間的通信和控制。Linux設(shè)備驅(qū)動(dòng)程序的分類(lèi)繁多,可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行分類(lèi)。 按硬件類(lèi)型分類(lèi) Linux設(shè)備
2024-08-30 15:11:561865

linux系統(tǒng)的設(shè)備驅(qū)動(dòng)一般分幾類(lèi)

Linux系統(tǒng)的設(shè)備驅(qū)動(dòng)是操作系統(tǒng)與硬件設(shè)備之間的橋梁,負(fù)責(zé)實(shí)現(xiàn)操作系統(tǒng)與硬件設(shè)備之間的通信和控制。Linux系統(tǒng)的設(shè)備驅(qū)動(dòng)可以分為以下幾類(lèi): 字符設(shè)備驅(qū)動(dòng)設(shè)備驅(qū)動(dòng) 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng) 音頻設(shè)備驅(qū)動(dòng)
2024-08-30 15:13:381407

已全部加載完成