)摘自【正點原子】領航者 ZYNQ 之linux驅動開發指南
2)實驗平臺:正點原子領航者ZYNQ開發板
3)平臺購買地址:https://item.taobao.com/item.htm?&id=606160108761
4)全套實驗源碼+手冊+視頻下載:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html
5)對正點原子FPGA感興趣的同學可以加群討論:876744900
6)關注正點原子公眾號,獲取最新資料
第二十四章Linux設備樹
前面章節中我們多次提到“設備樹”這個概念,因為時機未到,所以當時并沒有詳細的講解什么是“設備樹”,本章我們就來詳細的談一談設備樹。掌握設備樹是Linux驅動開發人員必備的技能!因為在新版本的Linux內核中,設備驅動基本全部采用了設備樹(也有支持老式驅動的,比較少)的方式,最新出的CPU其驅動開發也基本都是基于設備樹的,我們所使用的Linux版本為4.14.0,肯定是支持設備樹的,所以正點原子領航者開發板的所有Linux驅動都是基于設備樹的。本章我們就來了解一下設備樹的起源、重點學習一下設備樹語法。
24.1什么是設備樹?
在舊版本(大概是3.x以前的版本)的linux內核當中,ARM架構的板級硬件設備信息被硬編碼在arch/arm/plat-xxx和arch/arm/mach-xxx目錄下的文件當中,例如板子上的platform設備信息、設備I/O資源resource、板子上的i2c設備的描述信息信息i2c_board_info、板子上spi設備的描述信息spi_board_info以及各種硬件設備的platform_data等,所以就導致在Linux內核源碼中大量的arch/arm/mach-xxx和arch/arm/plat-xxx文件夾,這些文件夾里面的文件就描述了對應平臺下的板級硬件設備信息。比如在arch/arm/mach-s3c24xx/mach-smdk2440.c文件中有如下內容(有縮減):
示例代碼24.1.1 mach-smdk2440.c文件代碼片段
復制代碼
1)摘自【正點原子】領航者 ZYNQ 之linux驅動開發指南
2)實驗平臺:正點原子領航者ZYNQ開發板
3)平臺購買地址:https://item.taobao.com/item.htm?&id=606160108761
4)全套實驗源碼+手冊+視頻下載:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html
5)對正點原子FPGA感興趣的同學可以加群討論:876744900
6)關注正點原子公眾號,獲取最新資料
第二十四章Linux設備樹
前面章節中我們多次提到“設備樹”這個概念,因為時機未到,所以當時并沒有詳細的講解什么是“設備樹”,本章我們就來詳細的談一談設備樹。掌握設備樹是Linux驅動開發人員必備的技能!因為在新版本的Linux內核中,設備驅動基本全部采用了設備樹(也有支持老式驅動的,比較少)的方式,最新出的CPU其驅動開發也基本都是基于設備樹的,我們所使用的Linux版本為4.14.0,肯定是支持設備樹的,所以正點原子領航者開發板的所有Linux驅動都是基于設備樹的。本章我們就來了解一下設備樹的起源、重點學習一下設備樹語法。
24.1什么是設備樹?
在舊版本(大概是3.x以前的版本)的linux內核當中,ARM架構的板級硬件設備信息被硬編碼在arch/arm/plat-xxx和arch/arm/mach-xxx目錄下的文件當中,例如板子上的platform設備信息、設備I/O資源resource、板子上的i2c設備的描述信息信息i2c_board_info、板子上spi設備的描述信息spi_board_info以及各種硬件設備的platform_data等,所以就導致在Linux內核源碼中大量的arch/arm/mach-xxx和arch/arm/plat-xxx文件夾,這些文件夾里面的文件就描述了對應平臺下的板級硬件設備信息。比如在arch/arm/mach-s3c24xx/mach-smdk2440.c文件中有如下內容(有縮減):
示例代碼24.1.1 mach-smdk2440.c文件代碼片段
復制代碼