- 博客(18)
- 资源 (2)
- 问答 (3)
- 收藏
- 关注
原创 mini2440_dm9000网卡驱动
本文初始化的流程参考了UBoot的dm9000驱动源码,需要的朋友可以到http://download.csdn.net/detail/u011412588/9707129下载,网卡驱动源码的路径为uboot \drivers\net\dm9000x.c首先交代下初始化的流程 ①片选(uboot的dm9000里没做这件事,因为它在内存初始化的时候就做了,具体的流程可以参考uboot\arch\ar
2016-12-10 03:35:07 707
原创 mini2440_arp协议移植
arp.h在这里定义了以太网帧头,arp协议头与ip帧头。 先是一些类型的定义:typedef unsigned short u16; typedef unsigned char u8;以太网头的结构体typedef struct eth_hdr { /*目的MAC地址*/ u8 d_mac[6]; /*源MAC地址*/ u8 s_mac[6]; /*上层协
2016-12-09 22:27:34 475
转载 arm mmu
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成
2016-11-03 15:33:53 281
转载 对链接地址的理解
当我们写链接器脚本的时候,我们会设置代码段的起始链接地址为0x30008000(S3C2440)。如果对链接地址理解错误的话,可能会出现像我这样的问题。 Q:gboot的链接器脚本里写的其实链接地址是内存中的0x30008000,再用交叉工具反汇编得到的start.S前几行代码地址都变成了0x30008000+,不太对啊。ARM启动流程里面讲处理器将NAND中的代码复制了4K到垫脚石中,垫脚
2016-11-02 21:41:17 616
转载 6410内存初始化
【说明】 前面我们介绍了地址相关的一些概念以及地址无关码的概念,我们知道了,当程序超过了8KB的时候,我们得把程序复制到DDR中运行,但是,DDR要使用是要先初始化的。6410带有DRAM控制器,它在初始化之后可以让我们对DDR的访问变得十分方便。。。这里我们要初始化2个东西,也就是DRAM控制器,以及DDR本身。在这之前,大家如果对于DDR参数不太熟悉,可以
2016-11-01 20:20:48 319
转载 libevent学习资料
The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbac
2016-10-29 19:09:57 367
原创 s3c2440核心初始化
.text .global _start _start: b reset ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ldr pc, _not_used ldr pc, _irq
2016-10-29 18:55:14 373
转载 start.S学习
可以参考 : http://blog.csdn.net/bluesummerg/article/details/5940452 (强大的反汇编) http://www.cnblogs.com/yanhc/archive/2011/09/13/2175280.html // 本文学习目标: 微观上,对此start.S的每一行,都有了基本的了解宏观上,对基于ARM核的S3C24X0
2016-10-29 14:29:07 423
原创 arm汇编
①mov r1,#0b0110 pic r1,#0b0100 此时r1的值为0b0010 pic执行掩码操作 ②tst 按位与 若为0置cpsr的zero位为1 ③cmp r1,r2 r1-r2(cpsr)若小于0置n,等于0置zero ④bl用于保存当前函数入口地址到lr mov r1,#2 cmp r1,#1 bl func1 .... func1: mov r
2016-10-27 12:28:26 303
原创 arm在线调试配置
①先安装7.5版本的arm-linux-gdb文件,解压然后$执行./build-all,需要在/root/.bashrc脚本文件配置 export PATH=$PATH:/opt/arm-linux-gdb/bin/(注意需要在arm-linux-gcc环境变量前面配置,因为其中包含一个6.3版本的gdb) ②配置jlink,解压后通过cp -d libjinkarm.so* /us
2016-10-26 20:54:15 649
原创 gcc编译选项
-O 开启优化 -o 指定输出文件 -i 预处理 -s 编译 -c 汇编 -l 链接 -g 加入调试信息 -I 把后面的路径作为寻找头文件的标准路径 -w 不显示警告信息 -Wall 打印所有警告信息 -D…宏定义
2016-10-09 16:00:03 260
原创 linux 管理
使用root管理员 vim /etc/sudoers加入一行 用户名 主机名=(运行用户名) 可运行的命令例1. smb ALL=(ALL) /usr/sbin/useradd 例2. smb ALL=(ALL) NOPASSWD: /usr/sbin/useradd:wq!保存退出
2016-10-09 15:44:19 242
原创 Linux NFS与TFTP服务器配置
①tftp服务器 1、安装tftp服务器 注意依赖关系xinetd2、配置tftp服务器 vim /etc/xinetd.d/tftp 将disable改为no user 改为自己的账号 server_args 指定工作目录3、重启tftp服务 /etc/init.d/xinetd restart4、配置完成,测试功能②NFS服务器 1、配置NFS服务器 vim /etc/e
2016-10-09 15:33:04 291
原创 windows与linux文件共享
关键:关闭防火墙 cmd:/etc/init.d/iptables stop用于共享的软件WinScp、Samba服务器Samba服务器的配置: 1、安装samba服务器添加win用户 2、useradd win为win用户设置密码 3、passwd win为给用户设置登录smb的密码 4、smbpasswd -a win配置samba服务 5、vim /etc/samba/smb.co
2016-10-09 15:14:16 261
原创 linux远程登录
①登录前提 1、从Windows能ping通Linux 2、关闭了Linux防火墙cmd:/etc/init.d/iptables stop(每次重启自动打开)②登录工具: 命令行:putty-ssh、xshell等 图形化:vnc 登录方法: 1、安装vncserver 2、启动 vncserver& 3、windows 端运行vncclient
2016-10-09 15:03:23 306
原创 vim编辑器
yy: 复制当前行[n]yy: n为数字,复制当前光标开始的n行p:粘贴dd: 删除当前行[n]dd:n为数字,删除当前光标开始的n行/name:查找当前光标之后名为“name”的字符串G:光标移动到末尾(注意为大写)u: 撤销set nu 显示行号set nonu 隐藏行号:/待查字符串
2016-10-09 14:54:26 234
原创 linux常用命令
useradd david -添加名字为david的用户,当用户创建成 功后,会在/home/ 目录下生成与用户名 同名的目录。userdel –r david -删除名字为smb的用户,“-r”选项会使 /home目录下的该用户目录也被删除。groupadd group1 添加组名为“group1”的用户组groupdel group1 删除组名为“group1”的用户组mkdir
2016-10-09 14:47:34 288
原创 linux网络环境配置
ifconfig 查看网卡信息/etc/init.d/network restart 重启网卡,这步会引发错误 解决方法: service NetworkMager stop再次/etc/init.d/network restart 发现eth0这块网卡消失了 解决办法: 修改/etc/sysconfig/network-scripts/ifcfg-eth0,将ONBOOT =”no
2016-10-09 14:45:35 382
TA创建的收藏夹 TA关注的收藏夹
TA关注的人