历史上的今天
今天是:2025年06月16日(星期一)
2020年06月16日 | uboot4--使用jlink烧写mini2440的uboot
2020-06-16 来源:eefocus
Nor Flash烧写过程
uboot -----> SDRAM -----> Nor Flash
因此我们要设置CPU、SDRM地址、Nor Falsh地址

初始化代码
/*********************************************************************
*
* SEGGER J-Link ARM Setup File - Generated by J-Flash ARM V4.08l
*
* Syntax:
*
* SetJTAGSpeed(Speed); : Sets the JTAG speed [kHz], (0 = Auto, 0xFFFF = Adaptive)
* Delay(Delay); : Waits a given time [msec]
* DisableMMU(); : Disables the MMU
* DisableChecks(); : Disables mode check after read operations
* EnableChecks(); : Enables mode check after read operations
* Go(); : Starts the core
* Halt(); : Halts the core
*
* Reset(Delay); : Resets the target (normal)
* ResetWP(); : Resets the target (using watchpoint)
* ResetDBGRQ(); : Resets the target (using DBGRQ)
* ResetBP0(Delay); : Resets the target (using breakpoint @ addr 0)
* ResetADI(); : Resets the target (using ADI software reset)
*
* Read8 (Addr); : Reads a 8/16/32 bit value,
* Read16(Addr); : Addr = address to read (as hex value)
* Read32(Addr); :
*
* Verify8 (Addr, Data); : Verifies a 8/16/32 bit value,
* Verify16(Addr, Data); : Addr = address to verify (as hex value)
* Verify32(Addr, Data); : Data = data to verify (as hex value)
*
* Write8 (Addr, Data); : Writes a 8/16/32 bit value,
* Write16(Addr, Data); : Addr = address to write (as hex value)
* Write32(Addr, Data); : Data = data to write (as hex value)
*
* WriteVerify8 (Addr, Data); : Writes and verifies a 8/16/32 bit value,
* WriteVerify16(Addr, Data); : Addr = address to write (as hex value)
* WriteVerify32(Addr, Data); : Data = data to write (as hex value)
*
* WriteRegister(Reg, Data); : Writes a register
* WriteJTAG_IR(Cmd); : Writes the JTAG instruction register
* WriteJTAG_DR(nBits, Data); : Writes the JTAG data register
*
* VarAND(Data); : VAR = VAR AND Data
* VarOR (Data); : VAR = VAR OR Data
* VarXOR(Data); : VAR = VAR XOR Data
* VarBEQ(Index); : Execute branch
*
* VarWrite8 (Addr); : Writes the value of VAR as 8/16/32 bit value,
* VarWrite16(Addr); : Addr = address to write (as hex value)
* VarWrite32(Addr); :
*
**********************************************************************
*/
SetJTAGSpeed(5);
Halt();
DisableMMU();
Write32(0x53000000, 0x00000000); // pWTCON,看门狗定时器
Write32(0x4A000008, 0xFFFFFFFF); // INTMSK,中断屏蔽寄存器
Write32(0x4A00001C, 0x000007FF); // INTSUBMSK
Write32(0x56000050, 0x000055AA); // rGPFCON
Write32(0x4C000014, 0x00000007); // CLKDIVN
Write32(0x4C000000, 0x00FFFFFF); // LOCKTIME
Write32(0x4C000004, 0x00061012);
Write32(0x4C000008, 0x00040042); // UPLLCON
Write32(0x48000000, 0x22111120); // Bus width &wait
Write32(0x48000004, 0x00002F50); // Boot Rom control
Write32(0x48000008, 0x00000700); // Bank1 control
Write32(0x4800000C, 0x00000700); // Bank2 control
Write32(0x48000010, 0x00000700); // Bank3 control
Write32(0x48000014, 0x00000700); // Bank4 control
Write32(0x48000018, 0x0007FFFC); // Bank5 control
Write32(0x4800001C, 0x00018005); // Bank6 control
Write32(0x48000020, 0x00018005); // Bank7 control
Write32(0x48000024, 0x008E0459); // DRAM/SDRAM
Write32(0x48000028, 0x00000032); // Flexible bank size
Write32(0x4800002C, 0x00000030); // Modify register for sdram
Write32(0x48000030, 0x00000030); // Modify register for sdram
SetJTAGSpeed(4000);
本次烧写的是Superboot2440.bin,为了使用MiniTools...WIN7无法使用DNW的人伤不起!!!!
完成图展示:


史海拾趣
|
我现在需要编程需要一些数学函数 请问能直接用吗 谢谢! 如 sin cos tan ctag等? 能直接用吗? 如:y=sin(x);?? 可不可以这样直接用这些三角数学公式 … 查看全部问答> |
|
芯片:ARM S3C2440 内核:Linux2.6.14.4 在Linux2.6.14的内核中,E:\\linux-2.6.14.4\\linux-2.6.14.4\\arch\\arm目录下,只有S3C2410的架构源代码 ...… 查看全部问答> |
|
招聘wince高级工程师--外企-手机应用软件开发---欢迎推荐 1. 请联系:alice : email:alice.kou@e4u.cn msn:alice007@live.cn 010-65888118-203 Windows Mobile高级软件工程师 招聘人数5 主要责任:(年薪:10-20万) 1.领导公司研发人员,指导开发 ...… 查看全部问答> |
|
AT89S51/AT89S52编程器电路板还有20块闲置。https://bbs.eeworld.com.cn/viewthread.php?tid=72986&extra=&page=9… 查看全部问答> |




