Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60839
  • 博文数量: 19
  • 博客积分: 35
  • 博客等级: 民兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-19 12:29
文章分类
文章存档

2013年(1)

2012年(18)

发布时间:2012-12-16 20:42:05

CPU要访问内存最简单的办法是用一个立即数表示数据地址,然后用立即数发起访问,但由于ARM CPU的架构方式,ARM CPU没有提供这样的指令。arm cpu采用寄存器间接寻址方式,将数据的地址放在寄存器中,然后用寄存器中的值发起访问: ldr Rd,[Rn] 它的扩展形式是: ldr Rd,[Rn,op2] ldr R1,[R2,#4] ldr R1,[R2,R3,lsl  #2]   另外一种方式是使用PC相对地址,假设你有某一个变量中memory中,你不能使用该变量地址时,你可以将该变量地址存储在代码执行附近,然后采用PC加上......【阅读全文】

阅读(730) | 评论(0) | 转发(0)

发布时间:2012-12-16 20:40:44

MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱 动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。我将CFI接口的MTD设备分为四层 (从设备节点直到底层硬件驱动),这四层从上到下依次是:设备节点、MTD设备层、MTD原始设备层和硬件驱动层。MTD字符驱动程序允许直接访问flash器件,通常用来在flash上创建文件系统,也可以用来直接访问不频繁修改的数据。MTD块设备驱动程序可以让fl......【阅读全文】

阅读(657) | 评论(0) | 转发(0)

发布时间:2012-12-16 20:40:13

使用Uboot201106,使用mini6410开发板,使用mini6410自带内核文件。 用tftp服务,下载至内存成功: 图1: 但出现了如图的错误: 图2: 说是Image Format for bootm command、、、、   于是,花了一两天的研究时间得到的结论是,bootm无论如何都通不过。也就是do_bootm()函数死了,返回了错误。同时我证明,那个自带的内核确实可用,前提是使用FriendlyARM提供的Uboot。   无意中想到mkimage工具是制作内核镜像的。它是把内核......【阅读全文】

阅读(706) | 评论(0) | 转发(0)

发布时间:2012-12-16 20:37:48

    我按照以前实验笔记《使用JLink烧写bin文件到Mini2440》所示的方法去烧录u-boot到NandFlash。结果烧是烧进去了,但是启动不成功。这个问题稍后再研究。       昨天我们查看了Flash写入失败的相关代码。我在怀疑自己是不是在配置的时候选错了芯片型号。从电路原理图上看,我们的NorFlash芯片型号是:AM29LV160DB/SST39VF1601。     经过一番查找,终于搞明白了。       在 u-boo......【阅读全文】

阅读(572) | 评论(0) | 转发(0)

发布时间:2012-12-16 20:37:31

    昨天,我们修改了u-boot中的部分代并成功地用AXD把我们的u-boot跑起来了。这是一个很大的成就!我们不能自满,今天将再接再厉,进一步探索。     我们今天的目标是:使将u-boot烧录到NandFlash与NorFlash,并使之正常启动。     接着昨天的试验,我们的程序能够通过AXD运行起来,那么我们把程序用JLink命令加载到Mini2440上也应该可以正常运行。我们来试一下……     打开J-Link Commander程序。还是老步骤,先......【阅读全文】

阅读(693) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册