marven
码龄18年
求更新 关注
提问 私信
  • 博客:186,891
    社区:909
    187,800
    总访问量
  • 27
    原创
  • 88
    粉丝
  • 68
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
加入CSDN时间: 2007-09-29

个人简介:热爱ARM,热爱linux,热爱oracle 热爱嵌入式,热爱C/C ,热爱csdn。

博客简介:

阿发的博客

博客描述:
——————Welcome to my blog!——————
查看详细资料
个人成就
  • 获得47次点赞
  • 内容获得15次评论
  • 获得176次收藏
  • 博客总排名1,967,897名
创作历程
  • 20篇
    2011年
  • 49篇
    2010年
  • 9篇
    2009年
TA的专栏
  • arm-linux
    21篇
  • C/C++
    21篇
  • linux内核
    23篇
  • 其他
    7篇
  • 思考
    1篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 5

TA参与的活动 0

创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Domino自动停机FTP备份

发布资源 2018.02.09 ·
bat

关于hello world驱动的解析


obj-m+=hello.o
all:
        make -C /opt/EmbedSky/linux-2.6.30.4 M=$(pwd) modules
clean:
        make -C /opt/EmbedSky/linux-2.6.30.4 M=$(pwd) clean
 
 
--------------------------------------------------------------
原创
发布博客 2011.05.09 ·
781 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

送给IT工程师实用的东西


    一般来说我们做IT的文采都欠佳,特别是不太会赞美女孩子,所以女人缘都不是太好。见天在网上看到这些华丽的词汇觉得应该有用,就发上来给大家分享。愿我们IT一族都能早日修成正果。。。。
 
天生丽质 慧质兰心 秀外慧中 暗香盈袖 闭月羞花 沉鱼落雁 倾国倾城 温婉娴淑 千娇百媚 仪态万千 美艳绝世 国色天香 花容月貌 明目皓齿 淡扫峨眉 清艳脱 俗香肌玉肤 清丽绝俗 仪态万端 婉风流转 美撼凡尘 聘婷秀雅 娥娜翩跹 俏丽多姿 如花似月 风姿卓越 顾盼流转 清丝纠缠 举步轻摇
原创
发布博客 2011.03.11 ·
1024 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

S3C2440的存储器管理

以前不知道S3C2440的每个BANK都要设置位宽,也不知道为什么要设置,今天弄懂了。在使用BANK之前要设置每个BANK所接的外设时多少位的?由BWSCON寄存器设置,默认情况为8位。由于BANK0位启动区,所以有硬件指示,通过读OM[1:0]引脚来设置。 当宽度为8位的时候,"Memory Controller"硬件是这样做的:(不错位连接)(1)CPU想进行8位操作时,直接根据软件所给出的地址读取8位数据返回给CPU。(2)CPU想进行16位操作时,进行两次8位的操作,并组成一个16位的数据返回给CP
原创
发布博客 2011.03.04 ·
1427 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

外网访问局域网内主机的实现方法

发布资源 2011.03.01 ·
application/pdf

路由器、二层/三层交换机、集线器的详细工作原理


层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:
(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
原创
发布博客 2011.02.22 ·
1881 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

C语言测试是招聘嵌入式系统程序员

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。
        从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机
转载
发布博客 2011.02.22 ·
1074 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

嵌入式工程师笔试题目汇总

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。
        从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机
转载
发布博客 2011.01.14 ·
1728 阅读 ·
0 点赞 ·
0 评论 ·
12 收藏

create_mapping如何创建内存映射表

1 ARM920T的MMU工作原理
下图显示了MMU地址转化关系

一级表项的地址(pmd) = ( (TLB) & (0xFFFFC000) ) + ( (Table Index)<<2 );
注1:TLB(Translate table base),即转换表基地址
注2:由于每个表项占32位(4Bytes),因此(Table Index)<<2
一级表项的内容(*pmd) = ( (pte) & (0xFFFFFC00) ) + prot_l
转载
发布博客 2011.01.13 ·
2728 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

Linux如何映射物理内存到内核空间

在setup_arch()中: 1. parse_cmdline(): 根据uboot传递的mem信息,调用early_mem()通过arm_add_memory()把物理内存信息添加到meminfo结构体中。 2. paging_init(): 这个就是关键的初始化页表的函数,在里面会调用bootmem_init()->bootmem_init_node()->map_memory_bank(),在这里会根据meminfo的信息调用create_mapping()来为物理内存建立内核空间的映射,一般是从0
转载
发布博客 2011.01.13 ·
2376 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

基于S3C2410-ARM-Linux静态映射分析

在华清远见上课过程中,发现静态映射方面初学者比较难于掌握和理解,下面分析一下静态映射机制的原理并通过GPIO和USB、LCD等的静态映射作为例子来说明如何通过这种静态映射的方式访问外设资源。  内核提供了一个重要的结构体struct machine_desc ,这个结构体在内核移植中起到相当重要的作用,内核通过machine_desc结构体来控制系统体系架构相关部分的初始化。machine_desc结构体的成员包含了体系架构相关部分的几个最重要的初始化函数,包括map_io,init_irq, in
转载
发布博客 2011.01.13 ·
1113 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

U-boot 传递 RAM 和 Linux kernel 读取 RAM 参数


U-boot 会给 Linux Kernel 传递很多参数,如:串口, RAM , videofb 等。而 Linux kernel 也会读取和处理这些参数。两者之间通过 struct tag 来传递参数。 U-boot 把要传递给 kernel 的东西保存在 struct tag 数据结构中,启动 kernel 时,把这个结构体的物理地址传给 kernel ; Linux kernel 通过这个地址,用 parse_tags 分析出传递过来的参数。
本文主要以 U-boot 传递
原创
发布博客 2011.01.13 ·
1429 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux中的物理和虚拟存储空间布局


在支持MMU的32位处理器平台上,Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚拟存储空间布局完全不同。Linux运行在虚拟存储空间,并负责把系统中实际存在的远小于4GB的物理内存根据不同需求映射到整个4GB的虚拟存储空间中。n物理存储空间布局
Linux的物理存储空间布局与处理器相关,详细情况可以从处理器用户手册的存储空间分布表(memory map)相关章节中查到,我们这里只列出嵌入式处理器平
转载
发布博客 2011.01.13 ·
1223 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

U_BOOT_CMD命令的实现

在UBOOT当中,各个命令是通过U_BOOT_CMD这个宏来定义出来的,其本质其实理解起来也很简单,不过今天也从中学到了一点东西先来看UBOOT当中关于U_BOOT_CMD这个宏的定义:/* 这是定义一个结构的属性,将其放在.u_boot_cmd这个段当中,相当于.data/.bss这些段 */#define Struct_Section  __attribute__ ((unused,section (".u_boot_cmd"))) /* 宏定义,用于定义一个命令 */#define U_BOOT_CM
原创
发布博客 2011.01.13 ·
5904 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

关于嵌入式系统的启动

嵌入式Linux启动分为两个部分,系统引导与Linux启动。系统引导将完成Linux装入内存前,初始化CPU和相关IO设备,并将Linux调入内存的工作。系统引导主要由BootLoader实现。在BootLoader将Linux内核调入内存之后,将权力交给LinuxKernel,进入Linux的启动部分。以下详细分析启动的过程与使用的文件。

一、系统引导与BootLoader
        BootLoader因嵌入式系统的不同与PC机有很大不同,这里将以Hyper250(
转载
发布博客 2011.01.12 ·
715 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MACHINE_START宏

MACHINE_START宏 linux2.6.18内核,在Mach-s3c2410.c文件中,有如下的宏定义: 
MACHINE_START(SMDK2410,"SMDK2410")/* @TODO: request a new identifier and switch to SMDK2410 */
 /* Maintainer: Jonas Dietsche */
 .phys_io = S3C2410_PA_UART,
 .io_pg_offst =(((u3
转载
发布博客 2011.01.12 ·
888 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux内核访问外设I/O资源的方式


我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。
 
Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。
 
一、动态映射(ioremap)方式
 
动态映射方式是大家使用了比较多的,也比较简单。即直接通过内核提供的ioremap函数动态创建一段外设I
转载
发布博客 2011.01.12 ·
1004 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Linux 下 stdin stdout stderr 的由来


现在就从linux kernel的源代码的角度来分析该。
二:fork()与execve()中stderr,stdio.stdout的继承关系
其实用继承这个词好像不太准确,要准确一点,可能复制更适合.
首先有二点:
1:父进程fork出子进程后,是共享所有文件描述符的(实际上也包括socket)
2:进程在execve后,除了用O_CLOEXEC标志打开的文件外,其它的文件描述符都是会复制到下个执行序列(注意这里不会产生一个新进程,只是
原创
发布博客 2011.01.09 ·
2525 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Beautiful English Sentences


记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的
Remember what should be remembered, and forget what should be forgotten.Alter what is changeable, and accept what is mutable.

能冲刷一切的除了眼泪,就是时间,以时间来推移感情,时间越长,冲突越淡,仿佛不断稀释的茶
Apart from tears, only time c
原创
发布博客 2011.01.05 ·
3152 阅读 ·
0 点赞 ·
2 评论 ·
3 收藏

linux虚拟地址与物理地址的关系


以前花了很长时间才弄懂的东西,今天看到一本书上面一幅图就搞定了。哎,还是应该踩在前人的肩膀上容易点。自己重新画了一遍。
原创
发布博客 2011.01.05 ·
1385 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多