- 博客(15)
- 资源 (4)
- 收藏
- 关注
转载 Linux内核高端内存
Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。段页式机制如下图。 Linux内核地址空间划分通常32位Linux内核地址空间划分0~3G为用户空间,3~4G为内核空间。注意这里是32位内核地址空间划分,64位内核地址空间划分是不同的。
2013-01-29 17:36:27
478
原创 s5pv210 audio dma分配
s5pv210 audio dma分配1. 音频播放 这里我们使用内部DMA,就是将CPU内部SRAM地址0xc0000000(MP3_SRAM output buffer),通过ioremap映射到内核地址空间上进行操作。[ 0.000000] Virtual kernel memory layout:[ 0.000000] vector : 0x
2013-01-29 17:00:54
2111
1
转载 ioremap返回的地址
ioremap和vmalloc一样,都会返回vmalloc区的虚拟地址,但是ioremap并不会分配任何物理内存,ioremap也需要建立新的页表来访问物理页面。ioremap获取的虚拟地址空间需要使用iounmap来释放。ioremap主要用来映射设备的物理内存到内核的虚拟地址空间,这样,内核就可以通过这些虚拟地址空间访问设备内存。使用ioremap需
2013-01-29 16:16:51
763
原创 s5pv210 内核内存分布问题
如下是linux正常系统启动时的log:[ 0.000000] Memory: 256MB 256MB = 512MB total[ 0.000000] Memory: 391676k/391676k available, 132612k reserved, 0K highmem[ 0.000000] Virtual kernel memory layout:[
2013-01-29 14:53:25
1512
原创 error: stray ‘\302’ in program
error: stray ‘\302’ in program> *.c:3: error: stray ‘\302’ in program> *.c:3: error: stray ‘\240’ in program> *.c: In function ‘main’:> *.c:5: error: stray ‘\302’ in program> *.c:5: erro
2013-01-28 17:25:49
18157
2
转载 C字符串处理函数
void *memccpy (void *dest, const void *src, int c, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。void *memcpy (void *dest, const void *src, size_t n);从s
2013-01-28 17:23:08
399
转载 linux串口编程
在嵌入式Linux中,串口是一个字设备,访问具体的串行端口的编程与读/写文件的操作类似,只需打开相应的设备文件即可操作。串口编程特殊在于串口通信时相关参数与属性的设置。嵌入式Linux的串口编程时应注意,若在根文件中没有串口设备文件,应使用mknod命令创建,这这里假设串口设备是/dev/ttyS0,介绍一下串口的编程过程。#mknod /dev/ttyS0 c 4 641、打开串口
2013-01-28 17:16:34
532
原创 gps调试
调试注意:gps和debug对应同一个串口s3c2410_serial2,两者同一时间只能选择一种功能1.默认使用debug功能,gps连线不宜理会。2.使用gps功能时,必须把debug口硬件断开,不然rs232芯片会对其信号造成分压,导致串口数据输入有问题。然后软件上linux内核必须禁止debug打印信息输入到串口上,这样gps数据才能正常接收。***********
2013-01-28 17:12:59
1159
转载 android 2.3 调试wm8960注意事项
以下是本人调试wm8960的一些总结,是为以后调试类似的东西做参考:1、首先请检查硬件问题,确保连接良好,有供电。2、确定I2C能正常通信,设置正常的通信速率。3、配置slave模式或master模式,注意配置0x7寄存器bit6(MS)4、注意配置寄存器0x19寄存器bit6(VREF),此位必须置1,否者其他所有功能都不能正常工作5、其他寄存器的配置参考adc和dac的通道
2013-01-28 17:10:53
3008
1
原创 mount --bind 绑定挂载
mount --bind 是将一个目录(或文件)中的内容挂载到另一个目录(或文件)上,用法是# mount --bind olddir newdir或者 #mount -B olddir newdir这样在一个挂载点上可以访问其它挂载点的文件或目录卸载命令:#umount newdir例:文件的绑定挂载#cat minicom.log
2013-01-28 17:02:23
6989
转载 S5PV210 内存配置(地址空间和片选)
被内存的事折腾了几天了,昨天在优快云发了个提问贴,然后顺着一点一点的往下试,既然试出来了。在提问贴里有实验的过程。这就讲一下最终的设置吧。S5PV210有两个独立的内存控制器:DMC0和DMC1,每个控制器又有两个片选:CS0和CS1。它可以支持16bits和32bits的内存。两个控制器对应的地址空间是DMC0 0x2000_0000 ~ 0x3FFF_FFFFDMC1 0
2013-01-28 16:47:53
969
原创 u-boot中uart调试口初始化代码
uboot-samsung/board/samsung/smdkc110/lowlevel_init.S/* * uart_asm_init: Initialize UART in asm mode, 115200bps fixed. * void uart_asm_init(void) */uart_asm_init: /* set GPIO(GPA) to enable UART
2012-11-21 16:43:16
1188
转载 android wifi 移植记录
http://blog.youkuaiyun.com/pottichu/article/details/5691896 我用的是 Ralink 的网卡,所以 wifi 网卡的名字是 ra0, 在网上看了一些文章,要改很多地方。不就是个网卡名字问题吗? 我有 驱动源码, 就直接在源码里把名字改成 mlan0 就得了。在源码中找到注册网卡的 register_netdev 或
2012-05-16 15:11:13
634
转载 基于linux-2.6.38.8内核的wifi驱动分析
http://blog.youkuaiyun.com/libinqi86/article/details/7007685//参考给一些前辈们的文章1、sdio接口层解析SDIO总线 SDIO总线和USB总线类似,SDIO也有两端,其中一端是HOST端,另一端是device端。所有的通信都是由HOST端发送命令开始的,Device端只要能解析命令,就可以相
2012-05-16 14:45:52
448
转载 Linux PPP 数据收发流程
http://www.cnblogs.com/wangchenxicool/articles/2167885.html PPP(Point-to-Point)提供了一种标准的方法在点对点的连接上传输多种协议数据包,它最常见的用途可能是传统的拨号上网了(据说现在的宽带接入也有采用PPOE方式的)。在Linux Mobile Phone上,网络应用程序使用PPP作为与GSM
2012-05-16 11:08:06
373
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人