历史上的今天
返回首页

历史上的今天

今天是:2025年02月13日(星期四)

正在发生

2018年02月13日 | Keil MDK3.20 在ULINK下调试stm32方法

2018-02-13 来源:eefocus

    1. 程序在RAM中运行

    要点:(1)程序的下载地址改到RAM空间中

    (2)程序的debug之前要设定SP,PC指针到Ram空间

    新建工程,选择STM32 的具体型号,我买的万利的开发板,选择stm32f103Vb。

     

    设定程序下载地址,如下图所示,IROM1的地址指向了STM32的ram空间。

    空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20K,分配16K给只读区,4K给可读可写区。这样IROM设定的大小为0x4000,IRAM1的起始就变为0X20004000,大小只剩下0X1000。

    Debug标签选择ULINK1 Cortex Debugger(软件采用yjgyiysbCC兄crack方法)。不选Load ApplICation at Start,在Initialization中加入启动脚本RAM.ini。

    RAM.ini中具体内容如下:

    FUNC void Setup (void) {

    SP = _RDWORD(0x20000000); // Setup Stack Pointer

    PC = _RDWORD(0x20000004); // Setup Program Counter

    _WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register

    }

    LOAD XXX.axf INCREMENTAL // Download,红色代表工程文件名.axf

    Setup(); // Setup for Running

    g, main

    Utilities下Update Target before Debugging不选

    这样添加后就可以在RAM中调试了。

    >>>>>>我们需要在代码中设置正确的中断向量表位置。中断向量表通常被放置在用户程序的开始,所以flash中运行时,向量表位于0x08000000处,而当代码被放置在SRAM中运行时,他的位置就成了0x20000000。在初始化NVIC时,我们可以放置如下代码,定义向量表的位置

    NVIC_SetVectorTable(0x20000000 , 0x0);

    或

    NVIC_SetVectorTable(0x08000000 , 0x0);

    或

    ?

     

    >>>>>工程选项中Debug项,Download选项卡中,去掉所有钩子,不下载代码到flash,这样就可以在RAM中调试程序了!

    2. Flash中调试

    新建工程后系统默认设定好IROM1为FLASH的地址和空间大小。只需要两步:

    1) 设定调试工具为ULINK1 CORTEX DEBUGGER,如下图所示,不需要设定起始脚本。

     

    2) 在Utility中设定选择ULINK1 cortex debugger,并设定编程算法。如下图所示。

   

 

    之后就可以FLASH调试了。

    硬件:万利的 EK-STM32F开发板,硬件去掉RS3,RS4 排阻,断开开发板本身的仿真器。

    软件:KEIL MDK3.20+ULINK驱动替换文件。

    仿真器:ULINK


推荐阅读

史海拾趣

BRIGHT公司的发展小趣事

随着BRIGHT公司在国际市场上的不断拓展,其品牌和产品也引起了一定的争议。在一些国家和地区,BRIGHT公司的某些行为或言论引发了公众的不满和批评。然而,这并没有阻挡BRIGHT公司前进的步伐。他们坚持自己的发展策略,通过不断创新和改进产品,积极应对各种挑战和机遇。在国际市场上,BRIGHT公司逐渐树立起了自己的品牌形象,并为电子行业的发展做出了重要的贡献。

这些故事展示了BRIGHT公司在电子行业中的不同领域所取得的成就和发展。无论是无线耳机领域的开创者、太阳能领域的突破者,还是健康技术领域的创新者、酒店业务的拓展者,以及在国际市场上的拓展与争议,都体现了BRIGHT公司不断创新、追求卓越的精神。这些故事不仅反映了BRIGHT公司的发展历程,也展示了电子行业的多样性和活力。

锋鸣电子(Fengming)公司的发展小趣事

福斯特集团在半导体封测领域也展现了强大的实力。集团旗下拥有安徽龙芯微科技有限公司和泸州龙芯微科技有限公司等多家子公司,这些公司均配备有全球领先的集成电路封装测试线。通过不断的技术创新和设备升级,福斯特集团能够满足客户全方位的器件封测要求,为客户提供高质量、高效率的封测服务。此外,公司还积极投入研发,推出多项新技术和新产品,进一步巩固其在半导体封测领域的领先地位。

Datasensor公司的发展小趣事

1978年,DATALOGIC公司成功研制出欧洲第一台条码扫描器,并将此产品应用于商业领域。这一创新不仅展示了公司在光电技术领域的实力,也为其在工业自动化领域赢得了良好的声誉。条码扫描器的成功推出,为公司带来了可观的收益,也为公司后续的技术研发和市场拓展提供了强有力的支持。

Delta Electronics Manufacturing Corp公司的发展小趣事

技术创新一直是Delta的核心竞争力。多年来,公司不断投入研发资源,推动技术创新和产品升级。Delta的工程师团队致力于电源技术的研发,成功推出了一系列具有领先技术水平的电源产品,如高效能转换器、智能电源管理系统等。这些产品不仅满足了市场的多样化需求,也推动了电源行业的技术进步。

GAIA Converter Inc公司的发展小趣事

位于广东东莞的锋鸣电子有限公司,自2010年成立以来,便明确了自己的市场定位——专注于汽车电子配件的研发与生产。随着汽车行业的快速发展,公司敏锐地捕捉到智能驾驶和车载娱乐系统对高质量电声器件的需求,迅速调整产品结构,推出了一系列符合市场需求的蜂鸣器、扬声器等产品。凭借精准的市场定位和优质的产品质量,锋鸣电子在汽车电子配件领域站稳了脚跟。

ACCRETECH公司的发展小趣事

锋鸣电子(北京分公司)在成立初期便意识到供应链管理的重要性。公司通过与上游原材料供应商建立长期稳定的合作关系,确保原材料的稳定供应和成本控制。同时,公司还加强了对下游客户的沟通与服务,根据客户需求定制化生产,提升客户满意度。通过高效的供应链整合,锋鸣电子在激烈的市场竞争中保持了良好的竞争力,实现了业务的稳步增长。

问答坊 | AI 解惑

一个简单的驱动程序与应用程序通信问题请教

com.sys的完整代码: #include #define NTSTRSAFE_LIB #include #define COM_DRIVER_NAME  L\"\\\\Device\\\\Serial0\"        //要绑定的设备名 //延时用的 #define  DELAY_ONE_MICROSECOND &nbs ...…

查看全部问答>

如何理解软件的字长?如何理解微机的字长?

如何理解软件的字长,如32位的软件或64位的软件,具体表示什么意义? 最好具体点…

查看全部问答>

LM358形成振荡器

这是我的电路图 [ 本帖最后由 zhangdaoyu 于 2011-7-20 18:41 编辑 ]…

查看全部问答>

关于DS18B20的问题

我用的是TX-1C实验板,自己写的程序为什么读取温度时是一个不正确的数,而且不会随外界温度改变????[attach]74559        这是我的程序和正确程序对比,我看不出什么大差别……[/attach] [ 本帖最后由 sphs ...…

查看全部问答>

MDK下2410简单例程

      MDK下2410简单例程,也是跑马灯的,采用查询式的定时器,外部晶振为12M,PLL后为120M; MDK版本为4。23   …

查看全部问答>

火热的夏季,火热的赛事,火热的论坛

   今年夏季,举世瞩目的欧洲杯和奥运会在欧洲大陆举行。这是多少球迷和体育爱好者梦寐以求的时刻。    今年夏季亚太地区的电子元器件和分销市场,特别是各大电子元器件原厂和授权代理商举办的技术高峰论坛会传递哪些信息呢? ...…

查看全部问答>

WIN7系统下的CCS5.1的controlsuite问题

刚回来遇到这个事情,有点头疼,还好解决了 [ 本帖最后由 54chenjq 于 2012-12-25 16:41 编辑 ]…

查看全部问答>

高薪诚聘:副总经理和高级电子工程师!

创荣发以设计、产品、规模、服务赢得了多家国际著名厂商的信赖,是行业中少有的通过多家国际著名厂商与品牌体系审核合格的企业,从而成为其研发与制造的战略合作伙伴,产品 70% 销往国外,服务于世界500强中70%的消费电子类企业。公司分别获得了 IS ...…

查看全部问答>

12位、300 kSPS、单电源、完全隔离式数据采集系统,用于±10 V输入

12位、300 kSPS、单电源、完全隔离式数据采集系统,用于±10 V输入 …

查看全部问答>

【晒设计方案】用STM32F429I的DIY手机方案

利用STM32F429I开发板已有触摸屏的优势,参与了【手机DIY】活动,详情在: https://bbs.eeworld.com.cn/thread-438739-1-1.html 欢迎来拍砖~ https://bbs.eeworld.com.cn/thread-438739-1-1.html 拨打10086: 来电话了,我是接呢,还是不接 ...…

查看全部问答>