自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

转载 ARM9 2410移植之Nand flash 驱动的编写与移植

1 Nand flash 工作原理     S3C2410 板的Nand Flash 支持由两部分组成:Nand Flash 控制器(集成在S3C2410 CPU)和Nand Flash 存储 芯片(K9F1208U0B)两大部分组成。当要访问Nand Flash中的数据时,必须通过Nand Flash控制器发送命 令才能完成。所以, Nand Flash相当于S3C241

2013-08-13 10:38:38 874

转载 uboot之nand flash相关(3)

然后我们分析一下nand flash的读写等函数。既然是命令那自然要看到U_BOOT_CMD宏,这个宏分析的很多就不分析了。在cmd_nand.c文件中。nand的命令执行函数是do_nand。当然我们没有定义CFG_NAND_LEGACY,要看这个分支。do_nand函数也没有什么好分析的,摘取几个命令的处理分析下。1。nand bad命令列出函数调用次序先,do_nan

2013-08-13 10:03:47 1175

转载 uboot之nand flash相关(2)

下面分析nand_scan函数(在文件driver/mtd/nand/nand_base.c中,此文件提供一些默认的nand flash操作函数) ,这个函数主要 用默认函数填充一些未初始化的函数指针,读取flash id 使用默认数据填充mtd,chip相关结构体(如果板级文件没有提供相关支持)。此函数的分析直接写在代码注释中。/*** nand_scan - [NAND Int

2013-08-13 10:03:11 815

转载 uboot之nand flash相关(1)

这几天在做和nandflash相关的东西,之前uboot中nandflash部分搞得模模糊糊。这次就将uboot中nand flash相关部分分析清楚。本文uboot版本1.3.3按照uboot的执行流程,在lib_arm/board.c文件中的start_armboot函数中会调用到nand初始化。初始化的调用流程大致为:start_armboot

2013-08-13 10:02:35 872

转载 常用u-boot命令详解(全)

U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号,命令就是“ version”,但是在所有的命令中没有其他任何一个的命令是由“v”开头的,所以只需要输入“v”即可。[u-

2013-07-26 09:36:09 1053

转载 linux下socket通信,server和client简单例子(三)

3. [代码]open等,fopen等说明    01某些注释部分,open,read,write被 fopen,fread,fwrite替换。02 03说明一下:04fopen, fclose, fread

2013-06-04 09:41:08 1319

转载 linux下socket通信,server和client简单例子(二)

2. [代码c代码 client部分     001client.c002 003#include     // for sockaddr_in004#include     // for socket

2013-06-04 09:39:50 2441

转载 linux下socket通信,server和client简单例子(一)

1. [代码]c代码 server部分     001server.c002 003====================================================================00

2013-06-04 09:31:37 6979

转载 Linux驱动的platform机制

最近研究了一下Linux驱动的platform机制。 从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进行注册。 Linux platform driver机制和传统的device_d

2013-04-12 08:46:11 698

转载 Linux 设备和驱动加载的先后顺序

Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢。Linux系统使用两种方式去加载系统中的模块:动态和静态。静态加载:将所有模块的程序编译到Linux内核中,由do_initcall函数加载核心进程(/init/main.c)kernel_initàdo_basic_setup()àdo_initcalls()该函数中会将在

2013-04-12 08:45:02 682

转载 MPC8314 (e300核) uboot 调试 一

历经2个多月,完成了MPC8314最小系统(uboot)及Linux内核和根文件系统的调试。这是我第一次从头开始做小系统和内核的移植工作,虽然调试的比较辛苦,但是收获还是很多的。下面就介绍一下调试的过程和一些原理性的东西。 1 MPC8314上电流程        系统上电后,经过若干个时钟后,MPC8314会检测复位配置输入信号CFG_RESET_SOURCE[0:3]来确定

2013-04-12 08:44:17 1394

转载 千兆网口 Freescale ETSEC + Marvell 88E1111 uboot Linux 驱动分析 五

8 of_platform总线上gianfar设备驱动添加,并绑定设备e0024000.ethernet和e0025000.ethernet:/driver/net/gianfar.cmodule_init(gfar_init);gfar_init à of_register_platform_driver(&gfar_driver)à of_register_driver

2013-04-12 08:42:44 2976

转载 千兆网口 Freescale ETSEC + Marvell 88E1111 uboot Linux 驱动分析 四

1 dtb文件解析,生成资源单项列表。 start_kernel à setup_arch à unflatten_device_tree该函数可以解析dtb文件,构建一个由device_node结构连接而成的单项链表。如下在此函数执行过后,在内存中会存在一个如下的链表: 后面所有的函数,如果需要从of tree结构上读取设备资料的,都将从这个链表中遍历并读取。

2013-04-12 08:40:21 1322

转载 千兆网口 Freescale ETSEC + Marvell 88E1111 uboot Linux 驱动分析 三

在uboot阶段,没有挂载中断,接收通过轮询来实现的,所以发送和接收这两个过程跟Linux内核中有区别。在发送阶段,网口将被启动,发送函数首先找到一个可用的Buffer Descriptor,将上层软件组好的包的地址赋给该BD的指针,置相应的标志位和长度,然后通知DMA来搬运。搬运结束后,发送函数会清除相应的BD标识位。DMA将数据从内存搬运到Tx FIFO后,   MAC会给其加上数

2013-04-12 08:39:39 1569

转载 Linux内核PHY中断调试

今天解决了一个PHY中断的问题,现在越来越觉得我以前的想法是错误的。以前总是认为解决问题最好的办法就是看代码,从代码出发。现在发现,其实脱离代码的分析问题能力是非常重要的,代码不熟可以通过短时间的强化变熟,而分析问题的能力却需要长期的锻炼。以后再遇到困难要多想想,分析好了再去做。问题是这样的,平台还是前几篇博客里写的:Freescale的ETSEC加Marvell的88E1111,前段时间

2013-04-12 08:38:09 2324

转载 千兆网口 Freescale ETSEC + Marvell 88E1111 uboot Linux 驱动分析 二

这节分析uboot中的网口驱动代码。 1 网口驱动函数列表 函数名函数用途tsec_initialize()网口初始化函数tsec_init()网口启动函数tsec_local_mdio_write()MDIO口写函数tsec_local_

2013-04-12 08:36:54 1788

转载 千兆网口 Freescale ETSEC + Marvell 88E1111 uboot Linux 驱动分析 一

在连续两个平台的uboot和Linux系统移植过程中,在千兆网口调试这块都遇到了很大的麻烦。由于寄存器数量庞大,千兆网口MAC和PHY内部结构复杂,MAC和PHY接口种类多,千兆以太网驱动的调试成了系统移植过程中最让人烦心的一个环节。就像火箭队,每次都让球迷无比揪心,不是输的窝囊,就是伤兵满营,现在新赛季又两连败了,打的比勇士还勇士,后场两个比我还瘦的家伙,怎么防守。算了,不扯这么多了,今天要说的

2013-04-12 08:35:01 1626

ST16C2550串口程序

里面有两个代码是根据不同的硬件地址决定的,差别不多 此代码在CodeWarrior下面测试通过 环境:CPU为Freescale 经过修改可以作为UBOOT下的串口芯片驱动动程序

2013-08-12

嵌入式第一次作业

此部分为报告,实验操作步骤等,源码以贴图的形式综合在报告里面

2012-12-14

智能车走迷宫

智能车走迷宫,利用红外避障,简单算法:顺时针寻找路径 通过测试可以跑通,但是没有优化

2012-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除