历史上的今天
返回首页

历史上的今天

今天是:2024年12月12日(星期四)

正在发生

2018年12月12日 | 利用IAR调试Mini2440

2018-12-12 来源:eefocus

利用IAR 调试mini2440,准备先玩玩裸奔


以前开发Lpc2214的时候用的是IAR调试环境 感觉还是很不错的 当时一度错怪的了这开发环境


因为Lpc对Jtag的引脚可以配置成普通IO


我当时一时疏忽把他配置成IO了 导致IAR无法单步执行 一度觉得这个环境不好用 当时由于把Jtag口屏蔽了 导致下载一次以后JTAG口就不能用了 很多时候都是用串口擦除了片内Flash再烧写 后来回忆起来当时有点傻(主要还是当时误认为芯片被加密了,只能用串口擦除),当时完全不必用串口擦除程序。其实Jtag口被屏蔽了 直接把芯片的ISP使能引脚短接,然后芯片就从内部的Bootloader启动了,然后Flashloader就可以下载程序了


 开发Lpc时还有一个需要注意的地方就是如果MEMMAP设置的不对的话,一发生中断就会跳到一个不对的地方 导致中断无法调试 因为这个原因 让我当时怀疑IAR是无法调试中断的 后来发现我完全错了


 后来接触了Samsung的一些片子,知道了Mac文件的作用,mac文件是在编译成功的二进制文件下载到硬件之前,用来配置ARM寄存器的文件,比如2440带有片上的SDRAM控制器,由于上电后SDRAM寄存器是默认不使能的,所以如果要在RAM中调试程序的话,程序是无法下载到RAM中的。所以在文件下载之前必须配置SDRAM控制器。


     我先在RAM中跑了一个RAM程序,mac文件如下


execUserFlashInit()

{

    __writeMemory32(0x00000000, 0x53000000, "Memory"); 

    __writeMemory32(0xffffffff, 0x4a000008, "Memory"); 

    __writeMemory32(0x000007ff, 0x4a00001c, "Memory"); 

    __writeMemory32(0x00000000, 0x53000000, "Memory"); 

    __writeMemory32(0x000055AA, 0x56000050, "Memory"); 

    __writeMemory32(0x00000007, 0x4C000014, "Memory"); 

    __writeMemory32(0x00FFFFFF, 0x4C000000, "Memory"); 

    __writeMemory32(0x00061012, 0x4C000004, "Memory"); 

    __writeMemory32(0x00040042, 0x4C000008, "Memory"); 

    __writeMemory32(0x22111120, 0x48000000, "Memory"); 

    __writeMemory32(0x00002F50, 0x48000004, "Memory"); 

    __writeMemory32(0x00000700, 0x48000008, "Memory");     

    __writeMemory32(0x00000700, 0x4800000C, "Memory"); 

    __writeMemory32(0x00000700, 0x48000010, "Memory"); 

    __writeMemory32(0x00000700, 0x48000014, "Memory"); 

    __writeMemory32(0x0007FFFC, 0x48000018, "Memory");

    __writeMemory32(0x00018005, 0x4800001C, "Memory"); 

    __writeMemory32(0x00018005, 0x48000020, "Memory");     

    __writeMemory32(0x008E0459, 0x48000024, "Memory"); 

    __writeMemory32(0x00000032, 0x48000028, "Memory"); 

    __writeMemory32(0x00000030, 0x4800002C, "Memory"); 

    __writeMemory32(0x00000030, 0x48000030, "Memory");  

}


将ICF文件中的起始地址都设置成SDRAM的地址,程序就能下载运行并且调试了。


现在还没有摸索出来怎么将文件利用flashloader下载到外部flash中。参考lpc的调试,发现不管是下载到片内的FLASH还是片外的Flash,flashloader在程序下载之前首先要将一个.out文件下载到片子的RAM中,这点和HJTAG相似,HJTAG在下载时也是需要你指明RAM的起始地址的,他们这两个工具下载原理是一样的,加入你要将B程序烧写进flash中,必须先将一个编译好的二进制程序A下载到片子的内部RAM中,然后利用A这个程序在将要下载的B程序下载到flash中


 

IAR的flashloader提供很多片子的A程序,像LPC系列片子的A程序都有,但是对于2440就没有这个程序,需要自己写,如果不自己实现的话也可以采用HJTAG的HFALSHER来进行烧写。


推荐阅读

史海拾趣

BURGESS公司的发展小趣事

BURGESS公司于1975年3月13日在伦敦正式成立,这标志着它在游艇经纪行业的起点。创立之初,BURGESS就凭借其专业的知识和敏锐的市场洞察力,在短短四年内成功进驻摩纳哥这一游艇行业的重镇。更令人瞩目的是,在同一年,BURGESS成功售出了当时世界上最大的游艇,这一成就不仅彰显了其卓越的实力,也为其在行业内赢得了极高的声誉。

Dover Corporation公司的发展小趣事

Dover Corporation的电梯业务始于1955年,当时Dover Elevator从Rotary Lift中分离出来,成为一家独立运营的公司。此后,公司通过一系列的收购,如谢泼德华纳电梯公司、Acme Elevator等,迅速扩大了其电梯业务。这些收购不仅使Dover成为美国第三大电梯公司,也为其在电梯行业中的持续领先地位奠定了基础。

智烽维(CDA)公司的发展小趣事

经过几年的技术积累和市场探索,智烽维在2013年成功完成了叠片型超级电容器的研发。这一产品的推出,不仅极大地丰富了公司的产品线,也进一步提升了智烽维在超级电容器领域的技术实力。叠片型超级电容器以其高性能、高可靠性和长寿命等特点,受到了市场的广泛关注和好评。

Elpac公司的发展小趣事

在电子行业的激烈竞争中,Elpac公司凭借其在电源管理领域的技术革新,逐渐崭露头角。公司创始人李明在创办之初就坚信,只有不断创新才能在市场中立足。他带领团队深入研究市场需求,不断推出具有创新性的电源管理产品。其中,一款高效节能的电源转换器在市场上引起了广泛关注,其出色的性能和稳定性赢得了客户的青睐。随着产品的热销,Elpac公司逐渐在电子行业中建立了自己的品牌地位。

FREESCALE (NXP)公司的发展小趣事

随着业务的不断发展,Elpac公司开始将目光投向国际市场。公司制定了全球化战略,积极开拓海外市场。为了更好地适应不同国家和地区的市场需求,Elpac公司针对不同地区推出了定制化的产品和服务。同时,公司还加强了与国际知名企业的合作,共同研发新技术、新产品。这些举措不仅让Elpac公司的产品在全球市场上得到了广泛认可,也为公司的长远发展奠定了坚实基础。

DS-IMP公司的发展小趣事

DS-IMP公司的前身是一家美国公司,在转移到中国大陆后,面临了技术转移和本土化的挑战。公司迅速组建了一支由资深工程师和技术专家组成的团队,他们与美国的原团队紧密合作,成功地将核心技术从美国转移到宁波的工厂。在本土化过程中,公司不仅保留了原技术的精髓,还根据中国大陆的市场需求和资源特点,对部分技术和产品进行了优化和升级。这一过程不仅提升了公司的技术实力,也为公司在中国市场的快速发展奠定了坚实基础。

问答坊 | AI 解惑

IPTV探讨

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 新政策 新技术 新运营 新融合    IPTV是一场革命,它将电视和互联网的优势最大限度地结合在了一起,人们的生活方式将因此而改变。“预计到2008年,全球IPTV用户数将达4400万,市场规模将达82 ...…

查看全部问答>

[终结版]串口上位机

[注:之所以叫终结版,是因为现在没有多少时间再去做这个了,有新的任务了.谢谢指教] 写了一个上位机,是个简单的调试助手。快考试了,也没有时间再去弄VB了。现在把资料打包上来,里面有源程序,下位机的程序可以验证上位机的全部功能。安装好后, ...…

查看全部问答>

主流无线芯片性能汇总了下

ADF7021 SI4432  NRF905 RF903 CC1100 CC2500 CC1020 NRF2401 NRF24L01 无线数传芯片/模块…

查看全部问答>

小白跪问 现有ARM9开发板上的RS232口怎么改成RS485的?

我的老师那里有一块开发板,其中J6接口如下图所示: 标号    名称           功能                  说明 J6   &n ...…

查看全部问答>

关于讲解STM32V3.0库组成的文章

对初学者理解STM32最新文件系统会有帮助 如何从STM32F10xxx固件库V2.0.3升级到V3.0.0 [local]1[/local] 如何从STM32F10xxx固件库V2.0.3升级到V3.0.0.pdf (1.22 MB) 下载次数:1193 2010-8-12 16:49 ...…

查看全部问答>

MSP430 问题汇总 Ver 1.0

MSP-EXP430G2 LaunchPad FAQs1. Does the MSP-EXP430G2 support fuse blow?The MSP-EXP430G2 LaunchPad experimenter board onboard debugging interface lacks the JTAG security fuse-blow capability. To ensure firmware security on devices g ...…

查看全部问答>

三星的eMMC iNAND和DDR3 SDRAM跳楼价甩了

三星的eMMC iNAND(型号KLM2G1DEHE)大概还有50片左右,DDR3 SDRAM(型号K4B2G0846C)大概30片的样子都是BGA封装,冰点吐血价5元每片,照例上图 淘宝小店:http://shop34118588.taobao.com/…

查看全部问答>