logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux ioremap详解

ioremap 写驱动最常用的函数之一,但是对它始终一知半解,看了内核关于这部分的代码,功力不够也是一头雾水。本文通过实验的方法,了解 ioremap 到底干了些啥,本文献给那些看不懂内核源代码,还想知道 ioremap 能干些什么,干了些什么的同学。    实验方法:        点灯实验,LED接在GPB5~8,因此需要使用 gpbcon 配置,gpbdat 输出高低。    

linux copy_from_user实现原理

linux4.9 aarch32linux fixup table说明: http://cache.baiducontent.com/cm=9d78d513d99d1af31fa7837e7c428c2c5e1697634d91834521838448e2374c41362cf7fc677c1f5e95833e2616ae3a41f7b57337200357eccb979f4aaaeacf7...

makefile j 并行编译

makefilelinux文件锁

linux time_t timeval timespec用法

time()提供了秒级的精确度 .1、头文件  2、函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒数 用time()函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当前系统时间或是标准时间。如果需要更高的时间精确度,就需要struct time

arm linux dma_map_single原理

linux 3.0  arm11因为需要验证spi dma(IP内部)驱动的原因,使用了linux 3.0的spi子系统,并且实操了dma驱动,详情如下:spi_master->transfer 的实现中foreach spi_message中每个spi_transfer,判断transfer 的长度超过spi fifo buf的最大支持长度32byte的话就选用dma模式传送数据.

linux内存管理信息buddyinfo和slabinfo和zoneinfo

/proc/buddyinfo是linuxbuddy系统管理物理内存的debug信息。在linux中使用buddy算法解决物理内存的外碎片问题,其把所有空闲的内存,以2的幂次方的形式,分成11个块链表,分别对应为1、2、4、8、16、32、64、128、256、512、1024个页块。而Linux支持NUMA技术,对于NUMA设备,NUMA系统的结点通常是由一组CPU和本地内存

linux irq_domain机制说明

IRQ-domain.txt坚决不翻译!!!irq_domain interrupt number mapping libraryThe current design of the Linux kernel uses a single large numberspace where each separate IRQ source is assigned a diff

make 参数详解

下面列举了所有GNU make 3.80版的参数定义。其它Linux版本和产商的make大同小异,不过其它产商的make的具体参数还是请参考各自的产品文档。“-b”“-m”这两个参数的作用是忽略和其它版本make的兼容性。“-B”“–always-make”认为所有的目标都需要更新(重编译)。“-C”“–directory=”指定读取make

arm hardware breakpoint 与 watchpoint 原理

aarch32 linux4.9kernel 有breakpoint的编码实例data_breakpoint.c相关函数:register_wide_hw_breakpoint //kernel space 地址register_user_hw_breakpoint //user space 地址breakpoint 与watchpoint的原理需要查阅armv7_arch...

zephyr 多线程与调度

环境: qemu_cortex_m3 zephyr 1.14.1zephyr 支持抢占调度,deadline调度k_thread_create 创建线程优先级列表---------COOP-------PREMPTmax:-16 min:14max:0 min:14----------max:-17min:0error...

    共 11 条
  • 1
  • 2
  • 请选择