Chinaunix首页 | 论坛 | 博客
  • 博客访问: 392804
  • 博文数量: 69
  • 博客积分: 1992
  • 博客等级: 上尉
  • 技术积分: 1162
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-03 19:50
文章分类
文章存档

2015年(1)

2011年(55)

2010年(13)

分类: LINUX

2011-03-22 18:36:37

硬件平台:
开发板:mini2440,2M norflash SST39VF1601 128M nandflash k9F1G08
主机:台式机,带有并口
连接线:JTAG小板,买开发板送的那个
软件平台:
H-JTAG1.1版本,这个版本可以烧写norflash也可以烧写nandflash,哈哈
ubuntu10.10
交叉编译链:自己利用crosstllo-ng做的arm-lwm-linux-gnueabi-xxx

首先,是H-JTAG1.1的设置:settings-》usb/LPT selections 选择LPT 因为我们用的是并口
其次,选择LPT JTAG SETTINGS
为什么这么选择是根据JTAG小板的原理图定的,附件中有,设置的引脚与JTAG小板接到并口上的引脚一一对应。

然后就是点击init 添加脚本文件FriendlyARM2440.his
接着就可以检测到cpu了:

然后点击flash -》start flash
点击load添加脚本H-Flasher_mini2440.hfc

然后在第一个选项中选择norflash的类型或者norflash的类型
在地四个选项中就可以烧写程序了。

这里讲下这两个脚本的含义,主要是进行一些初始化工作,首先看下FriendlyARM2440.his脚本:
Setmem+32-Bit+0x53000000+0x00000000 
Setmem+32-Bit+0x4A000008+0xFFFFFFFF
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x53000000+0x00000000 
Setmem+32-Bit+0x56000050+0x000055AA
Setmem+32-Bit+0x4C000014+0x00000007
Setmem+32-Bit+0x4C000000+0x00FFFFFF
Setmem+32-Bit+0x4C000004+0x00061012 
Setmem+32-Bit+0x4C000008+0x00040042
Setmem+32-Bit+0x48000000+0x22111120 
Setmem+32-Bit+0x48000004+0x00002F50 
Setmem+32-Bit+0x48000008+0x00000700 
Setmem+32-Bit+0x4800000C+0x00000700 
Setmem+32-Bit+0x48000010+0x00000700 
Setmem+32-Bit+0x48000014+0x00000700 
Setmem+32-Bit+0x48000018+0x0007FFFC 
Setmem+32-Bit+0x4800001C+0x00018005 
Setmem+32-Bit+0x48000020+0x00018005 
Setmem+32-Bit+0x48000024+0x008E0459 
Setmem+32-Bit+0x48000028+0x00000032 
Setmem+32-Bit+0x4800002C+0x00000030 
Setmem+32-Bit+0x48000030+0x00000030 

拿第一句来说:
setmem就是往内存理写东西,32-bit就是内存是32位的 0x53000000就是内存的地址,最后一个0x00000000就是要写入的值。
所以第一句的功能就是象地址为0x53000000的寄存器里写入值0x00000000,查s3c2440的数据手册我们知道,其实就是关闭看门狗,下面的几句实现的功能,自己可一查s3c2440的数据手册了解,主要是初始化时钟和存储器控制器。
再来看看H-Flasher_mini2440.hfc脚本:
FLASH SECTION:
SST
SST39VF1601
MEMORY SECTION:
16
0x00000000
0x40000000
SCRIPT SECTION:
Setmem+32-Bit+0x53000000+0x00000000 
Setmem+32-Bit+0x4A000008+0xFFFFFFFF
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x53000000+0x00000000 
Setmem+32-Bit+0x56000050+0x000055AA
Setmem+32-Bit+0x4C000014+0x00000007
Setmem+32-Bit+0x4C000000+0x00FFFFFF
Setmem+32-Bit+0x4C000004+0x00061012 
Setmem+32-Bit+0x4C000008+0x00040042
Setmem+32-Bit+0x48000000+0x22111120 
Setmem+32-Bit+0x48000004+0x00002F50 
Setmem+32-Bit+0x48000008+0x00000700 
Setmem+32-Bit+0x4800000C+0x00000700 
Setmem+32-Bit+0x48000010+0x00000700 
Setmem+32-Bit+0x48000014+0x00000700 
Setmem+32-Bit+0x48000018+0x0007FFFC 
Setmem+32-Bit+0x4800001C+0x00018005 
Setmem+32-Bit+0x48000020+0x00018005 
Setmem+32-Bit+0x48000024+0x008E0459 
Setmem+32-Bit+0x48000028+0x00000032 
Setmem+32-Bit+0x4800002C+0x00000030 
Setmem+32-Bit+0x48000030+0x00000030 

FLASH SECTION:
SST
SST39VF1601
MEMORY SECTION:
16
0x00000000
0x40000000
SCRIPT SECTION:

这几句其实就是设置下面图这个地方的,


剩下的就和上面是一样的了。



附两个配置文件:









阅读(1167) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~