![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
嘉明--
这个作者很懒,什么都没留下…
展开
-
ubuntu命令行下无线上网
1、启动wifi模ifconfig -aifconfig wlan0 upifconfig2、扫描热点iwlist wlan0 scanning3、建立wpa_supplicant.conf $ vim /etc/wpa_supplicant.conf 1 ctrl_interface=/var/run/wpa_supplicant 2 update_config=1...原创 2019-03-08 11:18:04 · 1087 阅读 · 0 评论 -
Linux vfs流程分析 阶段二:安装实际根文件系统
1 安装实际根文件系统整体流程Linux版本:linux4.14上篇文章说道:vfs 在初始化阶段安装了一个基于 ramfs 的rootfs,该文件系统仅提供一个作为初始安装点的空目录。这里有个疑问?为什么内核不怕麻烦,要在安装实际根文件系统之前安装 rootfs 文件系统呢?我们知道, rootfs 文件系统允许内核容易地改变实际根文件系统。事实上,在某些情况下,内核逐个地安装和卸载几个根...原创 2019-08-26 10:29:36 · 441 阅读 · 0 评论 -
Linux vfs流程分析 阶段一:安装 rootfs 文件系统
1 vfs整体流程Linux版本:linux4.14vfs函数调用流程start_kernel()|----vfs_caches_init_early()|----vfs_caches_init() |----dcache_init() |----inode_init() |----files_init() |----files_maxfiles_init() |--...原创 2019-08-23 22:10:33 · 570 阅读 · 0 评论 -
Linux read系统调用之 submit_bio()
1 submit_bio()接上一篇文章,mpage_bio_submit() 函数最终调用 submit_bio(),将 bio 请求提交到 generic block layer。void submit_bio(int rw, struct bio *bio){ bio->bi_rw |= rw; /* * If it's a regular read/write or ...原创 2019-08-07 13:11:18 · 3757 阅读 · 0 评论 -
Linux read系统调用
1 read系统调用流程本文内核版本:4.1.15文件系统:ext3read() vfs_read() rw_verify_area() __vfs_read() new_sync_read() generic_file_read_iter() do_generic_file_read()2 调用函数分析2.1 read()系统调用 read() ...原创 2019-07-27 15:02:14 · 3859 阅读 · 2 评论 -
Linux read系统调用之 page_cache_sync_readahead()
1 page_cache_sync_readahead()上篇文章说道在 do_generic_file_read() 函数中 label find_page 中调用 page_cache_sync_readahead() 启动同步预读。void page_cache_sync_readahead(struct address_space *mapping, struct ...原创 2019-07-31 10:41:40 · 1759 阅读 · 0 评论 -
Linux read系统调用之 do_generic_file_read()
1 do_generic_file_read()上篇文章讲到 do_generic_file_read() 函数,现在我们来具体分析以下这个函数。static ssize_t do_generic_file_read(struct file *filp, loff_t *ppos, struct iov_iter *iter, ssize_t written){ struct addr...原创 2019-07-29 19:33:48 · 1665 阅读 · 0 评论 -
IMX6DL 串口篇
1 设备树文件1.1 引脚配置硬件上采用了 CSI0_DAT10、CSI0_DAT11 做为串口 1 的 TX,RX,在设备树文件中,需要按照如下配置: pinctrl_uart1: uart1grp { fsl,pins = < MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 MX6QDL_PAD_CSI0_DAT11...原创 2019-07-17 11:10:54 · 1367 阅读 · 0 评论 -
Linux 串口篇
1 终端 I/O在 Linux 系统中,串口属于终端 I/O 操作。终端 I/O 有两种不同的工作模式:规范模式(canonical mode)。在这种模式中,对终端输入以行为单位进行处理。对于每个读请求,终端驱动程序最多返回一行。非规范模式(noncanonical mode)。输入字符不装配成行。每个终端设备都有一个输入队列和输出队列,如下图所示:...原创 2019-07-16 16:52:47 · 2485 阅读 · 1 评论 -
IMX6DL 串口 open 操作过程分析
1 open 操作过程分析代码平台:IMX6DL代码入口:tty_open()1.1 函数调用关系总览tty_open(struct inode *inode, struct file *filp) tty_alloc_file(flip) // alloc tty_file_private *priv, link it to file->private_data tty...原创 2019-07-11 14:17:50 · 384 阅读 · 0 评论 -
IMX6DL 串口驱动分析
1、驱动注册过程代码平台:IMX6DL代码入口:./drivers/tty/serial/imx.c/module_init(imx_serial_init)static int __init imx_serial_init(void){ int ret = uart_register_driver(&imx_reg); //drivers/tty/serial/serial_...原创 2019-07-08 16:11:04 · 1713 阅读 · 0 评论 -
Linux 内存管理(1)--物理内存初始化
1 内存初始化总体流程内核版本:Linux 4.14硬件平台:IMX6DL-SABRESDstart_kernel()|----page_address_init()|----setup_arch() |----setup_machine_fdt() | |----early_init_dt_scan_nodes() | |----of_scan_flat_dt(early_in...原创 2019-09-09 20:49:52 · 856 阅读 · 0 评论