历史上的今天
返回首页

历史上的今天

今天是:2026年03月06日(星期五)

正在发生

2023年03月06日 | 基于LPC3000系列芯片的TK-Scope仿真/烧录存储器的启动方法分析

2023-03-06 来源:elecfans

在ARM9内核的开发中,烧录和仿真BootLoader程序一直是研发工程师头痛的事情。原因是没有高效的BootLoader下载程序和模仿BootLoader加载的仿真。因此整个BootLoader的调试开发效率不高。


TKScope支持ARM芯片不同形式的BootLoader仿真/烧录。例如,NXP公司LPC3000系列芯片可选择从不同的外部设备启动:NAND Flash、SPI存储器、USB、UART或静态存储器。其中,NAND Flash、SPI存储器启动方法比较常用。本文以LPC3000系列芯片为例,详细讲解TK-Scope仿真/烧录NAND Flash、SPI存储器的启动方法。LPC3000系列芯片NAND Flash、SPI存储器启动原理是一样的:芯片上电复位后,通过片内BootLoader把外部存储设备中的程序装载到内部的RAM中执行。


1 实现NAND Flash启动仿真/烧录方法

TKScope仿真之前需要正确地设置工作参数,用户可参考使用指南,这里只强调需要特别注意的两项设置。


①[主要设置]选项。如图1所示,要特别注意的是复位恢复时间的设置。图1中的复位恢复时间就是Boot-Loader把NAND Flash中的程序装载到芯片内部RAM中的时间。时间值由用户根据程序的大小来设定。

基于LPC3000系列芯片的TK-Scope仿真/烧录存储器的启动方法分析

②[程序烧写]选项。如图2所示,要特别注意的是Flash算法的选择。LPC3000系列芯片内部无Flash,所以编程算法中没有Flash算法文件。选择NAND Flash启动,需要添加外部NAND Flash算法文件。

单击[添加算法]按钮,打开TKScope驱动安装目录下的ExtFlash文件夹,找到LPC3000系列芯片NANDFlash启动算法文件(路径为 TKScope\configuration\Ext-Flash),如图3所示。可以看到NAND Flash算法文件有2种,用户需要根据实际使用的NAND Flash类型来选择。其中:LPC3000_NAND_2KBytesPage.flm为大页NAND Flash算法文件;LPC3000_NAND_512BytesPage.flm为小页NAND Flash算法文件。NAND Flash算法文件添加完毕后,界面如图4所示。注意:此时,Flash起始地址默认为0x80000000,需要手动修改为0x00000000。

程序烧写的最终界面如图5所示,NAND Flash起始地址为Ox00000000。注意:[编程Flash]、[验证Flash]一定要选中,否则程序无法下载到Flash中。同时,选择[扇区擦除]选项。至此,TKScope仿真器工作参数设置完毕,可以开始进行仿真。

以Keil RealView MDK软件为例,点击XX进入仿真状态,进入之后点击XX退出;然后,再次点击XX进入到仿真状态,此时就可以正确地进行仿真调试了。也就是说,TK- Scope仿真NAND Flash启动,需要连续2次进入仿真状态,第2次进入仿真状态才可正常、正确地调试。这种操作方法是由LPC3000系列芯片NAND Flash启动原理决定的:第1次进入仿真,主要任务是下载烧录程序代码到NAND Flash中,可以看到图6所示的Flash编程提示框;第2次进入仿真,主要任务是将LPC3000系列芯片复位,BootLoader把NAND Flask中的程序装载到内部RAM中。

用户可以根据实际仿真需求,采用全速、单步、设置断点等多种仿真方式来调试程序;同时,可以打开相应的窗口观察仿真结果。仿真界面如图7所示。

2 实现SPI存储器启动仿真/烧录方法

TKScope实现SPI存储器启动的仿真步骤及设置方法与NAND Flash启动是一样的。这里只强调选择Flash算法的不同之处。

用户打开TKScope驱动安装目录下的ExtFlash文件夹,找到LPC3000系列芯片SPI存储器启动外部Flash算法文件(路径为 TKScope\configuration\ExtFlash),如图8所示。SPI接口的Flash存储器有几种类型,TKScope仿真器会陆续提供相应的算法文件,存放在图8所示的Ext-Flash文件夹内。本文所用Flash为SST25VF512,故选择 LPC3000_SST25xFxxx.flm。

同样,TKScope仿真SPI存储器启动,也需要连续2次进入到仿真状态,第2次进入仿真状态才可正常、正确地调试。这种操作方法同样是由 LPC3000系列芯片SPI存储器启动原理决定的:第1次进入仿真,主要任务是下载烧录程序代码到SPI存储器中,可以看到Flash编程提示框;第2 次进入仿真,主要任务是将LPC3000系列芯片复位,BootLoader把SPI存储器中的程序装载到内部RAM中。


TKScope同样可以实现其他公司芯片的BootLoader仿真。例如,Samsung公司的S3C2410/S3C2440芯片NAND Flash启动,TKScope完全可以仿真,实现原理和操作方法与LPC3000系列基本相同。


推荐阅读

史海拾趣

Esterline Technologies Corporation公司的发展小趣事

由于篇幅限制,我难以在此直接提供五个完整的500字以上的Esterline Technologies Corporation(以下简称Esterline)在电子行业发展的故事。不过,我可以概述五个关键的发展阶段或事实,这些可以作为您撰写相关故事的起点:

  1. 初创与转型
    Esterline最初是一家生产磁铁和录音设备的公司。随着技术的演变和市场的变化,公司开始与Donald J. Angus合作,并更名为Esterline-Angus。这一转型标志着公司开始朝着更广泛的技术领域发展,为其后续在电子行业的扩张奠定了基础。

  2. 进入航空航天与国防领域
    在1960年代末,Esterline通过收购Babcock Electronics成功进入航空航天和国防领域。这是一个重要的战略决策,因为航空航天和国防行业对高度工程化的电子产品有着巨大的需求。这一转变使Esterline能够将其技术优势应用于新的市场,并实现了快速增长。

  3. 医疗市场的尝试与退出
    在1960年代末至1970年代初,Esterline曾尝试进入医疗市场,通过收购医疗供应和设备公司来扩大其业务范围。然而,随着市场竞争的加剧和公司内部战略的调整,Esterline在1978年决定出售其助听器制造业务,并退出了大部分医疗保健市场。这一决策反映了公司在市场变化和内部策略调整中的灵活性和果断性。

  4. 欧洲市场的扩张
    除了在美国市场的稳步发展外,Esterline还积极寻求在欧洲市场的扩张。通过在欧洲设立生产基地和研发中心,Esterline能够更好地满足当地客户的需求,并加强其在全球市场的竞争力。这一策略的实施为公司带来了更广阔的市场前景和更多的发展机会。

  5. 技术创新与产品升级
    作为一家高度工程化的电子产品制造商,Esterline始终致力于技术创新和产品升级。公司不断投入研发资源,开发具有更高性能、更可靠性的新产品,以满足客户不断变化的需求。这种持续的技术创新和产品升级使Esterline能够在竞争激烈的电子行业中保持领先地位。

请注意,以上内容仅为概述,您可以根据这些关键点进一步扩展和深化每个故事的内容。

Arctic Silicon Devices公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。Arctic Silicon Devices深知这一点,因此非常重视品质管理。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试、包装等各个环节都进行严格把控。同时,公司还加强了对供应商的管理和评估,确保原材料的质量稳定可靠。这些措施使得Arctic Silicon Devices的产品在市场上赢得了良好的口碑和信誉。

BELLING LEE公司的发展小趣事

在电子行业的初期,BELLING LEE公司以其对新技术的敏锐洞察力和强大的研发能力脱颖而出。公司投入大量资源研发出了一款具有革命性的高效能电子芯片,这一创新产品不仅提高了电子设备的性能,还大大降低了能耗。凭借这一技术突破,BELLING LEE公司迅速在电子市场上获得了认可,并逐渐建立起自己的市场地位。

Guerrilla RF公司的发展小趣事
硬盘在工作时应避免受到震动和冲击,以免损坏电动机驱动电路和其他部件。
DART(英国达特)公司的发展小趣事

在快速发展的过程中,DART公司也遇到了不少挑战和危机。例如,某个时期全球电子元器件供应紧张,导致公司面临严重的原材料短缺问题。面对这一挑战,DART公司迅速调整采购策略,积极寻找新的供应商和替代品,并加强与现有供应商的合作和沟通。通过这些措施,公司成功度过了危机,并保持了业务的稳定增长。

DLP Design公司的发展小趣事

DLP精工科技公司,一直秉承“品质至上”的经营理念,在DLP技术产品的设计和制造过程中严格把控品质。公司拥有一支专业的研发团队和先进的生产设备,确保每一件产品都符合高标准的质量要求。通过不断的技术创新和产品升级,DLP精工科技在电子行业中树立了良好的品牌形象,赢得了消费者的信赖和认可。

问答坊 | AI 解惑

天线基础知识

电子书格式.内容大概有: 传输线的几个基本概念 电磁波的传播 天线的极化 天线的作用及方向性 天线的主要参数概述 天线的驻波比 无线传播特性及损耗计算 …

查看全部问答>

无法删除电源管理组件?

电源管理组建的源码在D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\PM下,这里有mdd和pdd文件夹。我添加个电源管理组件,然后我在pdd文件里加了些打印信息,结果开机时看到了打印信息。 然而我现在想卸载电源管理组件,可是卸载(就是在catalog i ...…

查看全部问答>

关于6410开发板的几个问题

1.进度条滚动的函数在哪里?我怎么没找到,只看到画进度条的边框。 2.自己定制了一个只有10出M的系统,烧进入发现启动时间基本一样,到底怎么回事?wince5的系统文件变小启动能有明显的变化的,怎么wince6不会。 3.应用程序如何接收系统的按键消 ...…

查看全部问答>

关于Target Shell的问题,请老大们帮忙解惑!

target shell使用时,是不是已经脱离了tornador的环境,不需要再开target server? target shell是不是就是通过串口的超级终端来交互信息? 我在做vxworks时,加了target shell的组件,但是在超级终端里输入命令,它不认,这是怎么回事? 能给点 ...…

查看全部问答>

关于在vmware上安装vxworks 启动时出现Error loading file:errno = 0x3C Can't load boot file!!

[url=http://blog.eeworld.net/helenhf/archive/2008/03/28/2225318.aspx][/url] 我按照这篇文章,一步步配好之后,wfptd软件也配置正确 vxworks的ip改成了我系统的ip,之后和vxworks ping能ping通 之后输入@运行vxworks,结果就出现上面那句话 ...…

查看全部问答>

关于END设备名初始化的问题

近我在调试BOOT程序。目前串口已经调试好,希望BOOT程序能支持网口下载vxWorks镜像。但是遇到了一个棘手的问题。 在现在END网络程序不清楚地情况下,我在BOOT命令行下输入命令: $ motfec (0,0)host:vxWorks e=10.1.1.2 h=10.1.1.1 u=anonymous p ...…

查看全部问答>

平凡老师单片机书中的问题,初学,高人指点,谢谢大家了,初学,在线等,指教了!!!!!!!!!!!

1、计数器 首先根据硬件连线写出LED数码管的字型码、位驱动码 #include \"reg51.h\" #define uchar unsigned char #define uint  unsigned int   uchar code BitTab[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB};//位驱动码 uch ...…

查看全部问答>

MSP430F2122识别一次后就无法识别啦,附程序,求解呀,困扰我有一个月啦~~

首先电脑能识别430,写好的程序也下载进去啦,断电后再想烧程序,软件已经无法识别,提示could not find device,程序如下#include \"msp430x21x2.h\"void Init_Clk(void);//void  InitPIN(void);void InitADC10(void);void OpenADC10(void);vo ...…

查看全部问答>

如何产生40MHz的时钟信号?

小弟是初学者,请问各位大侠怎样产生40MHz的时钟信号啊?(给DA提供时钟信号)…

查看全部问答>