2.6核心以後,多數驅動都是以平台匯流排的方式編寫,因此對於這種型別的驅動,實際就是要分成兩個流程來分析
平台匯流排裝置的構造,平台匯流排驅動的構造。
1. arch/arm/mach-s5pv210/mach-x210.c
smdkc110_map_io()
s3c24xx_init_uarts(smdkc110_uartcfgs, array_size(smdkc110_uartcfgs))
2. arch/arm/mach-s5pv210/init.c
s5pv210_common_init_uarts(struct s3c2410_uartcfg *cfg, int no)
s3c24xx_init_uartdevs("s5pv210-uart", s5p_uart_resources, cfg, no)
3. arch\arm\plat-samsung\init.c
s3c24xx_init_uartdevs(char *name, struct s3c24xx_uart_resources *res, struct s3c2410_uartcfg *cfg, int no)
上面3部完成了 platform_device 的構造
其中:name = "s5pv210-uart"
resource = arch\arm\plat-s5p\dev-uart.c 檔案中定義s3c24xx_uart_resources結構體
dev.platform_data = arch\arm\mach-s5pv210\mach-x210.c 檔案中定義 s3c2410_uartcfg 結構體
下面分析平台匯流排驅動
1.drivers/serial/s5pv210.c
s5p_serial_init(void)
s3c24xx_serial_init(&s5p_serial_driver, *s5p_uart_inf)
2. drivers\serial\samsung.c
s3c24xx_serial_init(struct platform_driver *drv, struct s3c24xx_uart_info *info)
platform_driver_register(drv);
上面2部構造並註冊了platform_driver
因為uart驅動是字元裝置驅動,因此,下面分析uart的字元裝置驅動的初始化
1. drivers\serial\samsung.c
s3c24xx_serial_modinit()
uart_register_driver(&s3c24xx_uart_drv)
2. drivers\serial\serial_core.c
uart_register_driver(struct uart_driver *drv)
tty_register_driver(normal)
3. drivers\char\tty_io.c
tty_register_driver(struct tty_driver *driver)
register_chrdev_region(dev, driver->num, driver->name)
cdev_init(&driver->cdev, &tty_fops)
cdev_add(&driver->cdev, dev, driver->num)
從上面的關鍵步驟可以看出乙個標準的字元裝置驅動的初始化流程,但是沒有建立出裝置檔案。顯然,裝置檔案的
建立,應該是平台匯流排驅動的probe函式建立的。
下面分析裝置檔案的建立 1.
drivers/serial/s5pv210.c
s3c24xx_serial_probe(pdev, s5p_uart_inf[pdev->id])
2. drivers\serial\samsung.c
int s3c24xx_serial_probe(struct platform_device *dev, struct s3c24xx_uart_info *info)
device_create_file(&dev->dev, &dev_attr_clock_source)
可以看到裝置檔案的建立是在平台匯流排的驅動的probe函式中建立
LWIP v1 4 1和v2 1 0的對比
lwip從1.4.1到2.1.0不僅在協議棧上有了很大的改變,增加了許多功能,具體沒用過所以也沒去太了解,同時也還專門為freertos增加了相關函式 而且在檔案結構上也有了一些調整,這裡主要說下src資料夾下的調整 2.1.0的src資料夾目錄 api資料夾下的檔案沒有新增,還是那幾個,但是 有所...
phpFox社交程式 v2 1 0 網路社交程式
phpfox是一套很有特色的網路社交程式,她能提供給我們功能強大的社交解決方案。我們的目標是 通過phpfox讓您擁有類似人人喜歡的facebook和myspace社交 而且她的管理平台讓您全權管理您 上的所有功能!無加密 加入phpfox後你就會發現你擁有了乙個很廣的社交網,幾萬個使用phpfox...