Python 项目的组织结构 - 包 -- 模块 --- 类 ---- 函数.变量   Python是利用包和模块来组织一个项目的.   包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包,要想让个文件夹成为一个包,就必须在这个文件夹下增加个特定的文件 __init__.py __init__.py里面可以什么也不写,只是纯粹来标注这个文件夹是个包. 也可以在这个文件里编写代码. 对于模块的名字:包名.模块名 对于__init__.py模块的名字:直接是包名     导入有两种方式:…
查看Linux下*.a库文件中文件.函数.变量等情况在Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 中包 含哪些文件.函数.变量: 1. 查看文件:ar -t xxx.a 2. 查看函数.变里:nm xxx.a 引用来自 http://www.cnblogs.com/xiehy/archive/2011/03/15/1984878.html Linux下动态库查看方法:nm -D libavformat.so Linux下静态库查看方法:ar -t libavformat…
一.while循环与使用场景 CONDITION=1 while CONDITION <=5 : CONDITION +=1 print("hello") else: print("EOF") hello hello hello hello hello EOF 二.for与for-else循环 # 主要是用来遍历/循环 序列或者集合.字典 a=[["a","b","c","d"],…
一.前言                                  我们一起从3个小例子来体验一下linux内核编程.如下: 1.内核编程之hello world 2.模块参数传递 3.模块间函数调用 二.准备工作                           首先,在你的linux系统上面安装linux头文件,debian系列: $:sudo apt-get install linux-headers-`uname -r` 安装后,在你的/lib/modules/目录下有你刚刚安…
“平安的祝福 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 理解编译链接的过程和ELF可执行文件格式…
一   实验过程及效果 1.准备好相关的代码,分别是mymain.c,mypcb.h,myinterrupt.c ,如下图,make make成功: 在qemu创建的虚拟环境下的运行效果:(使用的命令如上图所示) 效果分析:可以看到进程在不断切换,分别有进程0,1,2,3,每隔一段时间就进行一次切换. 二  具体代码 mypcb.h #define MAX_TASK_NUM 4 //定义最大任务(进程数) #define KERNEL_STACK_SIZE 1024*8 //定义内核堆栈的大小…
PS.贺邦   原创作品转载请注明出处  <Linux内核分析>MOOC课程    http://mooc.study.163.com/course/USTC-1000029000 1.mykernel实验指导(操作系统是如何工作的) 使用实验楼虚拟机打开shell输入下列代码 1 cd LinuxKernel/linux-3.9.4 2 qemu -kernel arch/x86/boot/bzImage 可以看到初始的内核运行情况如下: 内核不停的执行my_start_kernel(),每…
① 驱动程序控制设备,主要是通过访问设备内的寄存器来达到控制目的.因此我们讨论如何访问硬件,就成了如何访问这些寄存器. ② 在Linux系统中,无论是内核程序还是应用程序,都只能使用虚拟地址,而芯片手册中给出的硬件寄存器地址或者Ram地址则是物理地址,无法直接使用.因此,我们读写寄存器的第一步就是将它的物理地址映射为虚拟地址. (1)动态映射:指在驱动程序中采用ioremap函数将物理地址映射为虚拟地址 void* ioremap(physaddr, size); phyaddr: 待映射的物理…
转自:http://blog.csdn.net/jasonchen_gbd/article/details/45585133 版权声明:本文为博主原创文章,转载请附上原博链接.   目录(?)[-] 简介 相关基本知识 关键寄存器介绍 内核中的函数栈 dump_stack函数   简介 当内核出现比较严重的错误时,例如发生Oops错误或者内核认为系统运行状态异常,内核就会打印出当前进程的栈回溯信息,其中包含当前执行代码的位置以及相邻的指令.产生错误的原因.关键寄存器的值以及函数调用关系等信息,这…
关键词:Android  linux hrtimer 蜂鸣器  等待队列 信号量 字符设备 平台信息:内核:linux3.4.39 系统:android/android5.1平台:S5P4418  作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 程序描述:本文控制的设备是无源蜂鸣器,由于无源蜂鸣器是需要产生一定的频率的PWM才能够控制蜂鸣器,不像有源蜂鸣器,只需要提供高低电平就可以控制蜂鸣器.linux内核普通的定时器,由于具有一定的局限性,不能达到纳秒级别的定时…