uboot4--使用jlink烧写mini2440的uboot

发布者:静雅心灵最新更新时间:2020-06-16 来源: eefocus关键字:uboot4  jlink  烧写mini2440  uboot 手机看文章 扫描二维码
随时随地手机看文章

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的人伤不起!!!!


完成图展示:



关键字:uboot4  jlink  烧写mini2440  uboot 引用地址:uboot4--使用jlink烧写mini2440的uboot

上一篇:JLINK+ADS+mini2440配置///配置J-Link为mini2440烧写bootloader
下一篇:使用J-Link烧写一U-boot的烧写+裸板程序烧写(JZ2440-S3C2440)

推荐阅读最新更新时间:2024-10-29 00:12

Ubuntu下Jlink的配置
安装环境:Win7 + VirsualBox + Ubuntu 12.04(32bit)+ ok6410 一,下载Jlink for linux 1,网址:http://www.segger.com/jlink-software.html,下载对应的版本,我这里下载的是JLink_Linux_V480_i386.tgz 二,安装Jlink 1,解压JLink_Linux_V480_i386.tgz tar zxvf JLink_Linux_V480_i386.tgz 2,进入JLink_Linux_V480_i386目录,查看README.txt,这里最新版本的配置和老版本可能不同,直接按照README上介绍的来。
[单片机]
ok6410 nandflash 启动uboot 超过256k怎么办
1\在调试ok6410 nandflash启动uboot时,需要添加调试信息,导致uboot大于256k 2需要修改下面几个地方 参考资料 在uboot中可以添加文字菜单,但是不够美观。 利用photoshop制作一张jpg菜单图片,在ubuntu中使用jpeg2bmp.sh将jpg图片转换成bmp格式 uboot/tools/bmp_logo.c编译生成的工具bmp_logo可以根据bmp格式图片生成bmp_logo.h,图片的信息存储在数组当中。当图片的分配率越大,转换成的数组越大,导致最后编译的uboot.bin越大。当uboot.bin超过242K时,下载uboot到flash后不可启动。 解决办法: 在
[单片机]
ok6410 nandflash 启动<font color='red'>uboot</font> 超过256k怎么办
mini2440 uboot移植
(一)在顶层makefile中为开发板添加新的配置选项(红色部分为需要添加代码,下同) smdk2410_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0 mini2440_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t mini2440 NULL s3c24x0 以上在makfile文件中添加以上代码时需要注意 mini2440_config : (此处是一个tab键)unconfig (此处是一个tab键)@$(MKCONFIG)
[单片机]
关于keil4ARM 通过Jlink在线调试的问题
keilC中的设置如下: 注意第4张图和第5张图的区别 当我点选上updata target before debugging的时候,就能够直接进行在线调试,如果不点选的话,flash里面的程序还是上次的程序,这时候进行在线调试,还是对上次的程序进行调试。 点选上之后,每次的程序都是新的,可以直接进行在线调试。这种动作类似于先将程序在flash download中下载,然后直接点击调试按钮仿真 是一样的。
[单片机]
TX2440 ARM开发板Uboot移植(三、添加Nand Flash的有关操作支持)
在上一节中我们说过,通常在嵌入式bootloader中,有两种方式来引导启动内核:从Nor Flash启动和从Nand Flash启动,但不管是从Nor启动或者从Nand启动,进入第二阶段以后,两者的执行流程是相同的。当u-boot的start.S运行到“_start_armboot: .word start_armboot”时,就会调用lib_arm/board.c中的start_armboot函数,至此u-boot正式进入第二阶段。此时注意:以前较早的u-boot版本进入第二阶段后,对Nand Flash的支持有新旧两套代码,新代码在drivers/nand目录下,旧代码在drivers/nand_legacy目录下,CFG_
[单片机]
移植u-boot-2010.09到S3C2440(四)——通过BSS段和_start判断uboot大小
BSS(百度百科) 是“Block Started by Symbol”的缩写,意为“以符号开始的块”。 BSS是Unix链接器产生的未初始化数据段。其他的段分别是包含程序代码的“text”段和包含已初始化数据的“data”段。BSS段的变量只有名称和大小却没有值。此名后来被许多文件格式使用,包括PE。“以符号开始的块”指的是编译器处理未初始化数据的地方。BSS节不包含任何数据,只是简单的维护开始和结束的地址,以便内存区能在运行时被有效地清零。BSS节在应用程序的二进制映象文件中并不存在。 uboot代码块占用存储空间大小 查看u-boot.lds,其将BSS放在所有代码段的最后,又从上述得知BSS不占用存储空间,这样,将
[单片机]
Exynos4412 Uboot 移植(三)—— Uboot添加自定义命令
Uboot添加自定义命令:uboot中的命令使用U_BOOT_CMD这个宏声明来注册进系统,链接脚本会把所有的cmd_tbl_t结构体放在相邻的地方。 UBoot版本:u-boot-2013.01 一、U-Boot命令的格式 即使是内核的启动,也是通过U-Boot命令来实现的。U-Boot中每个命令都是通过 U_BOOT_CMD 宏来定义的,格式如下: U_BOOT_CMD(name,maxargs,repeatable,command, usage , help ) 各项参数的意义如下: 1) -- name:命令的名字,注意,它不是一个字符串(不要用双引号括起来); 2)-- maxargs:最大的参数
[单片机]
Exynos4412 <font color='red'>Uboot</font> 移植(三)—— <font color='red'>Uboot</font>添加自定义命令
用J-Link烧写bootloader到Mini2440的Nor Flash
1 开发环境 宿主机:Windows + VMWare + Ubuntu16.04 开发板:Mini2440 仿真器:JLink V8 2 接线与驱动 接线图如下所示: 图1 J-Link与Mini2440接线图 下载 驱动并安装,然后打开J-Link Commander,如果J-Link没有连接好,会提示: 图 2 连接J-Link失败 盗版的J-Link还会遇到下面问题: 图3 盗版J-Link提示 比较麻烦的解决方法见参考资料 ,需要重新刷J-Link的固件;简单的解决方法就是换一个低版
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved