01 2013 档案

I2C
摘要:推挽输出:可输出高、低电平,连接数字器件:开漏输出:输出端相当于三级管的集电极,得到高电平状态需要上拉电阻才行,适合于电流型驱动(优点:输出灵活,缺点:上升沿延迟较大)0C门:完成线与,需要上拉一般来说,开漏用来连接不同电平的器件,匹配电平用的(由上拉电阻决定),与外部进行与操作。 阅读全文

posted @ 2013-01-31 18:57 阿加 阅读(200) 评论(0) 推荐(0)

读些笔记
摘要:make -n 得到makefile的整个过程make -p 得到makefile中的变量611A的DDR问题,总线、转接头每个进程有一个mm_struct,是进程整个用户空间的抽象,mm_struct和vm_area_struct是页面的需求,而page、zone_struct是对页面的供应系统初始化时,根据物理内存大小,建立mem_map,每个page代表系统中的物理页面。物理页面分为zone_dma、zone_normal、zone_highmem,DMA不经MMU,当DMA所需的缓冲区大于一个页面时,要求物理页面连续.PHYS_OFFSET定义在arch/unicore/mach-se 阅读全文

posted @ 2013-01-31 15:46 阿加 阅读(218) 评论(0) 推荐(0)

mem 预留内存
摘要:Linux内核中可以有一个相对简单的方法预先分配缓冲区,就是同步”mem=“参数预留内存。例如,对于内存为64MB的系统,通过给其简单传递mem=62MB命令行参数可以使得顶部的2MB内存被预留出来为I/O内存使用,这2MB内存可以被静态映射,也可以被执行ioremap()。 阅读全文

posted @ 2013-01-27 15:19 阿加 阅读(357) 评论(0) 推荐(0)

关于内核反汇编,同时显示源文件
摘要:写了个platform架构的UART测试驱动,在卸载的时候出了问题,驱动卸载不掉,感觉很奇怪,用户空间使用的rmmod最终会调用kernel/module.c 中的 SYSCALL_DEFINE2(delete_module, const char __user*, name_user, unsigned int, flags)1、按找lsmod显示的模块名查找模块 mod = find_module(name); if (!mod) { ret = -ENOENT; printk("lccdandeion we cant find mod\n"); goto out;}2 阅读全文

posted @ 2013-01-26 17:57 阿加 阅读(1121) 评论(0) 推荐(0)

platform设备驱动
摘要:kernel/arch/unicore/mach-sep0611/io.c: map_desc 数组描述了开始有内核自动建立的虚拟空间到物理地址空间的映射(静态映射)kernel/arch/unicore/mach-sep0611/devices.c: 描述了板级支持包,描述了各种资源的物理空间,以及各种platform_device实例的部分内容取值kernel/arch/unicore/mach-sep0611/mach-tiger-test.c: static struct platform_device *devices[] __initdata写明了支持platform架构的设备驱动 阅读全文

posted @ 2013-01-22 16:53 阿加 阅读(274) 评论(0) 推荐(0)

I/0访问
摘要: 阅读全文

posted @ 2013-01-20 22:06 阿加 阅读(164) 评论(0) 推荐(0)

-/bin/sh not found
摘要:1 #! /bin/bash 2 LIB_CUR_REL= 3 LIB_CUR_ABS= 4 5 get_binary_dependency() 6 { 7 readelf -d $1 | grep NEEDED | sed -n 's,.*\[\(.*\)\],\1,p' 8 } 9 10 expand_path() 11 { 12 LIB_CUR_ABS= 13 for i in /lib /usr/lib ${LD_LIBRARY_PATH} 14 do 15 for j in $@ 16 do 17 if [ -f ${i}/${j} ] 18 then 19 LIB_ 阅读全文

posted @ 2013-01-19 20:07 阿加 阅读(537) 评论(0) 推荐(0)

nfs
摘要:记个事,nfs系统作为根文件系统启动参数没有使用u-boot中传入的参数,内核中自己指定。ubuntu中安装nfs服务端开发板: General setup--->取消Initial RAM filesystem and RAM disk (initramfs/initrd) support设置 Boot options--->取消Passing CMDLINE from u-boot,并设置启动内核指定启动参数root=/dev/nfs rw nfsroot=192.168.0.1:/nfs,v3 ip=192.168.0.2:192.168.0.1:192.168.0.1:25 阅读全文

posted @ 2013-01-18 09:26 阿加 阅读(228) 评论(0) 推荐(0)

kbuild
摘要:1 kbuild.txt 2 3 KBUILD_VERBOSE 4 -------------------------------------------------- 5 Set the kbuild verbosity. Can be assigned same values as "V=...". 6 See make help for the full list. 7 Setting "V=..." takes precedence over KBUILD_VERBOSE. 8 9 KBUILD_EXTMOD 10 --------------- 阅读全文

posted @ 2013-01-16 19:28 阿加 阅读(304) 评论(0) 推荐(0)

git & tsocks
摘要:sudo apt-get install git-all获取简短帮助:.e.ggit init -h获取帮助git help git --helpman git-git configgit config --list 列出所有的配置信息git config --global user.name '... 阅读全文

posted @ 2013-01-16 19:27 阿加

collect2
摘要:collect2在链接时它代替ld成了最终的链接器,一般情况下就可以简单的将它看成ld。实际上collect2时ld的一个包装,它最终还是调用ld完成所有的链接工作,那么collect2这个程序的作用时什么呢? 在有些系统上,汇编器和连接器并不支持".init" ".ctor"这些机制,于是为了实现在main函数前执行代码,必须在链接时进行特殊处理。collect2这个程序就是用来实现这个功能的,它会“收集”(collect)所有输入目标文件中那些命名特殊的符号,这些特殊符号表明它们是全局构造函数或在main前执行,collect2会生成一个临时的.c文 阅读全文

posted @ 2013-01-16 14:15 阿加 阅读(518) 评论(0) 推荐(0)

3和b
摘要:记个事: 611在开了dcache情况下,对IO空间地址3和b开头的部分访问结果不同,3开头的被cache住了,而b开头的没有被cache住,3和b还是有区别的. 611BP的FPGA镜像就存在这样的问题,搞了半天才明白 阅读全文

posted @ 2013-01-15 22:28 阿加 阅读(177) 评论(0) 推荐(0)

malloc 堆实现——空闲链表
摘要://程序员的自我修养,p_417 阅读全文

posted @ 2013-01-12 22:36 阿加 阅读(231) 评论(0) 推荐(0)

终端技艺
摘要:将sh的链接属性改为bash遇到个情况:打开了好多终端,结果使用vim打开文件的时候将会出现重复打开的现象,结果不知道在哪个终端中打开了,方法:根据vim报出的进程号,使用ps aux | grep 进程号 获取pts编号1、tty 命令获取终端号2、在几个终端下运行 who am i 可以查看相应终端的终端号3、直接: write username /dev/pts/3 CR xxxxxxxxxxxxx 查看哪个终端下出现了消息:xxxxxxxxxxx附:禁止别人把信息显示在我的终端mesg n允许别人把信息显示在我的终端mesg ywall 向所有人发送命令:echo "hell 阅读全文

posted @ 2013-01-12 16:40 阿加 阅读(253) 评论(0) 推荐(0)

导航