linux
文章平均质量分 86
surquer
这个作者很懒,什么都没留下…
展开
-
嵌入式软件开发之------浅析 linux select/poll(十三)
linux代码版本:linux4.4导读:之前在学习 linux 驱动的时候,有涉及到 file->poll 成员,由用户态 select/poll 最终调用到,而 select 和 poll 又是用户态编程常用接口,当要对大量文件进行读写时,尤其是 socket ,只用read和write函数显然不是一个好的选择,但 select 和 poll 也有一些局限性,而 epoll 相比确实存在一些优势。下面就分析 select 和 poll 。一、poll 函数由于看着部分代码的时候,先..原创 2021-02-15 21:32:22 · 250 阅读 · 1 评论 -
嵌入式软件开发之------浅析 linux do_page_fault(十一)
Linux代码版本:linux4.4导读:玩linux编程终究都是绕不开内存管理部分内容。从开始接触 linux,都看到 copy on write 机制,当时也很好奇是如何实现的。在接触 dpdk 时,使用 hugepage 减少 tlb miss 以提升性能,以及用户态 malloc 时先返回地址,实际并未分配物理内存。随着工作时间的增加,这些知识不能再只停留在概念和会调接口的水平,需要深入linux 内核代码一窥究竟。下面就从 arm64 的代码开始学习。一、MMU相关知识从接触 linu原创 2021-02-14 11:26:59 · 1731 阅读 · 0 评论 -
嵌入式软件开发之------浅析制作ARMv8 native gcc 编译器(十)
导读:在学习嵌入式的时候,需要搭建 交叉编译 环境,也就是说在PC/服务器上编译嵌入式产品用的软件。或者具体点说,很多人开发的产品是基于ARM、MIPS的嵌入式设备,在自己的电脑上或服务器(通常是X86机器)使用交叉编译工具(gcc),来编译产品软件。网上也有很多交叉编译工具链的制作,甚至还有 crosstool-ng 用来制作 交叉编译用的gcc,如果不想自己制作,还可以下载别人制作好的工具链...原创 2019-12-22 22:56:59 · 1556 阅读 · 0 评论 -
嵌入式软件开发之------浅析linux根文件系统挂载(九)
Linux代码版本:linux4.4导读:前些天拿到供应商的一块arm64开发板,需要对其新CPU进行测试评估。需要将公司自己的系统移植上去测试一些参数。在挂载公司的cpio包的时候,出现解压失败。之前对于根文件系统的挂载都是一些零零散散的学习,按部就班也没出过啥问题,所以突然遇到问题不知道从哪下手,也刚好趁此机会系统的整理一次。最好的老师还是源代码,只有对源代码熟悉,才能知道该如何定位。由于...原创 2019-09-15 20:17:04 · 888 阅读 · 0 评论