V210 UART 整體流程

2021-07-09 08:27:38 字數 2108 閱讀 4520

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...