用jlink在mini2440上烧写uboot
首先,附上我安装jlink驱动:
http://download.csdn.net/detail/zzmno1/3776716#comment
以及我使用的uboot.bin文件下载地址:
http://blog.chinaunix.net/uid-20543672-id-94368.html
安装成功后有俩个东东,分别是jlink和jflash。
我用j-link连接的时候没有成功,而在j-flash下安装成功。
不过在jflash下连接成功是有前提条件的:
点击file》open project》S3C2440.jflash(如果没有这个文件的话,猛戳http://download.csdn.net/detail/shaellancelot/5138635)
然后点击option》project settings》CPU(ARM),做如下修改
CPU :
Core --> ARM9, Little endian
Use target RAM(faster)-->Addr:40000000 4KB(不选很慢;从Nor flash启动时内部Boot SRAM的地址和大小,参考S3C2440A的芯片手册)
同样在这页对下面的内容进行修改
修改内容如下:
##-------Action-----Value0------Value1
Halt
Disable MMU
Write 32bit 0x53000000 0x00000000 ; pWTCON , 看门狗定时器控制寄存器
Write 32bit 0x4A000008 0xFFFFFFFF ; INTMSK , 中断屏蔽寄存器
Write 32bit 0x4A00001C 0x000007FF ; INTSUBMSK , 针对INTMAK具体化的一个中断请求屏蔽寄存器
Write 32bit 0x53000000 0x00000000 ; pWTCON , 看门狗定时器控制寄存器
Write 32bit 0x56000050 0x000055AA ; rGPFCON , Port F control
Write 32bit 0x4C000014 0x00000007 ; CLKDIVN , CPU时钟分频控制寄存器
Write 32bit 0x4C000000 0x00FFFFFF ; LOCKTIME , 锁时计数寄存器
Write 32bit 0x4C000004 0x00061012 ; MPLLCON , MPLL寄存器
Write 32bit 0x4C000008 0x00040042 ; UPLLCON , UPLL寄存器
Write 32bit 0x48000000 0x22111120 ; Bus width & wait status
Write 32bit 0x48000004 0x00002F50 ; Boot ROM control
Write 32bit 0x48000008 0x00000700 ; BANK1 control
Write 32bit 0x4800000C 0x00000700 ; BANK2 control
Write 32bit 0x48000010 0x00000700 ; BANK3 control
Write 32bit 0x48000014 0x00000700 ; BANK4 control
Write 32bit 0x48000018 0x0007FFFC ; BANK5 control
Write 32bit 0x4800001C 0x00018005 ; BANK6 control
Write 32bit 0x48000020 0x00018005 ; BANK7 control
Write 32bit 0x48000024 0x008E0459 ; DRAM/SDRAM refresh
Write 32bit 0x48000028 0x00000032 ; Flexible Bank Size
Write 32bit 0x4800002C 0x00000030 ; Mode register set for SDRAM
Write 32bit 0x48000030 0x00000030 ; Mode register set for SDRAM
修改完之后,去另外一个tab页面flash:
设置内容如下:
取消"Automatically detect flash memory",然后"Select Flash Device"。
mini2440的Flash型号是:SST39VF1601,选中之后不要改写任何数值。
如果没有对应Flash型号,选中Automatically detect flash memory