随笔分类 - 【嵌入式基础】
摘要:转自:http://blog.csdn.net/myarrow/article/details/72087771. 内存分配函数相关代码如下:#definealloc_pages(gfp_mask, order) alloc_pages_node(numa_node_id(), gfp_mask, ...
阅读全文
摘要:转自:http://blog.csdn.net/myarrow/article/details/86095641. 简介 内核提供了一个重要的结构体struct machine_desc ,这个结构体在内核移植中起到相当重要的作用,内核通过machine_desc结构体来控制系统体系架构相关部分的...
阅读全文
摘要:转自:http://blog.csdn.net/myarrow/article/details/86828191. First Fit分配器 First Fit分配器是最基本的内存分配器,它使用bitmap而不是空闲块列表来表示内存。在bitmap中,如果page对应位为1,则表示此page已经被分...
阅读全文
摘要:转自:http://blog.csdn.net/myarrow/article/details/86246871. Linux物理内存三级架构 对于内存管理,Linux采用了与具体体系架构不相关的设计模型,实现了良好的可伸缩性。它主要由内存节点node、内存区域zone和物理页框page三级架构组成...
阅读全文
摘要:转自:http://blog.csdn.net/myarrow/article/details/79301311. IE802.11简介标准号IEEE 802.11bIEEE 802.11aIEEE 802.11gIEEE 802.11n标准发布时间1999年9月1999年9月2003年6月2009...
阅读全文
摘要:arm-linux-gcc/ld/objcopy/objdump参数总结 转自:http://blog.csdn.net/muyuyuzhong/article/details/7755291 arm-linux-gcc -wall -O2 -c -o $@ $< -o 只激活预处理,编译,和汇编,
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-23228758-id-4355524.html随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调试系统集成之后的BUG,一个BUG花了几天甚至数...
阅读全文
摘要:转自:http://blog.csdn.net/fenzhi1988/article/details/44809779调试驱动之前,首先先看看驱动代码,了解代码大致工作流程,再根据硬件配置驱动,比如硬件上面没有中断脚,就不要在驱动里面配置中断方式。bcmdhd驱动代码分析:一. dhd_linux....
阅读全文
摘要:转自:http://blog.csdn.net/droidphone/article/details/9346981目录(?)[-]sysfs接口软件架构cpufreq_policycpufreq_governorcpufreq_drivercpufreq notifiers随着技术的发展,我们对C...
阅读全文
摘要:转自:http://www.cnblogs.com/sky-zhang/archive/2012/06/05/2536807.htmlPM notifier机制:应用场景:There are some operations that subsystems or drivers may want to...
阅读全文
摘要:写一个main.c gcc -c -g main.c objdump -S main.o > b.txt arm-none-linux-gnueabi-gcc -c -g a.c arm-none-linux-gnueabi-objdump -S a.o > c.txt 这样就可以查看到c和汇编同时
阅读全文
摘要:转自:http://www.360doc.com/content/12/1224/10/3478092_255969530.shtmlLinux内核中关于字符串的相关操作,首先包含头文件:[cpp]view plaincopyprint?#include可用函数包括如下:lib/string.c[c...
阅读全文
摘要:转自:http://blog.jobbole.com/88279/众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Bo...
阅读全文
摘要:转自:http://blog.csdn.net/hbhhww/article/details/7236695kmalloc vmalloc kzalloc get_free_page()是内核空间申请内存空间函数malloc是用户空间申请内存函数一 ,kmalloc()与 kfree() 和get_...
阅读全文
摘要:转自:http://blog.csdn.net/tommy_wxie/article/details/9427047一概述Linux内核中gpio是最简单,最常用的资源(和interrupt,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之...
阅读全文
摘要:转自:http://blog.csdn.net/tommy_wxie/article/details/9427081一:__init和__initdata ;__exit和__exitdata__init和__initdata :仅用于模块初始化,在初始化结束后会丢弃,__init用来描述函数__i...
阅读全文
摘要:转自:http://www.cnblogs.com/geneil/archive/2011/12/04/2275372.html 大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,u...
阅读全文
摘要:转自:http://decimal.blog.51cto.com/1484476/410673Title: jiffies溢出与时间先后比较编制: chinakapok@sina.com日期:2005-05-251. 概述在Linux内核中,TCP/IP协议栈在很多用到时间比较的地方都使用了jiff...
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-23228758-id-154820.html定时器与时间管理:1、节拍率——HZ:在alpha体系结构上1024,而在其它平台上,都为10数量级倍。在嵌入式ARM上为100(2.6内核)。这个值的意义是什么呢,也就是在ARM平台上时...
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-24219701-id-3288103.htmljiffies计数器定时器中断由系统定时硬件以规律地间隔产生;这个间隔在启动时由内核根据HZ值来编程, HZ是一个体系依赖的值,每次发生一个时钟中断,一个内核计数器的值递增.这个计数器在...
阅读全文