iar for arm 用jlink下程序 复位或掉电后为啥程序就不跑了 怎样设置才能让他掉电后可以再次运行程序

iar for arm 用jlink下程序 复位或掉电后为啥程序就不跑了 怎样设置才能让他掉电后可以再次运行程序,第1张

哪款ARM芯片?复位和掉电后不跑程序,估计是你的启动模式没有设置好。STM32启动模式 收藏

我们玩ARM9,一般都是在内存里调试程序,速度飞快。STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的改动要花上几倍的时间下载代码,这确实是不能忍受的。

我们也可以在开发STM32时,在内存中调试程序。

{

STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用于启动选择。

BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。

BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。(用于串口ISP)

BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。

在芯片上电复位时,BOOT0和BOOT1两个管脚的状态将决定芯片从何处启动。

1当BOOT0和BOOT1均设置为逻辑1时,系统将从内置SRAM中启动,这是代码内存调试的第一个条件。

}

经多次确认,BOOT0和BOOT1状态与内存中调试无直接联系

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

NVIC_SetVectorTable(0x20000000 , 0x0);

NVIC_SetVectorTable(0x08000000 , 0x0);

3 在编译器中,要进行正确的设置。这里以IAR 54为例说明。

31 工程选项中Linker项,Config选项卡中,指定Linker Configuration File为stm32f10x_ramicf, 该文件在FWLIB安装包中可以获得,IAR4和5分别有不同的配置文件。

32 同样是工程选项中Debug项,Download选项卡中,去掉所有钩子,不下载代码到flash

经过以上步骤,代码就可以在内存中调试,下载速度飞快,调试速度也比flash中快了不少!

你采用定时器1对于4M晶振,采用256分频。你这里的计算结果,应该为C2 F7;不是C2 F6。

而且一般初始化先停止,,再给其它寄存器赋值,然后再启动,所以你的初始化方法也不合适。

而且TCNT1是一个16位寄存器,赋值是通过暂存寄存器进行,为了保证赋值的正确,一般要求先关闭中断,再 *** 作, *** 作完毕再开中断。查看该片DATASHEET,上面有规定要求。

所以一般初始化函数,是先关闭中断,停止定时器再初始化,然后再允许运行,开中断。

因为16位寄存器,可以直接TCNT1 = 0xC2F7。

#include<msp430x14xh>

#define uint unsigned int

delay(uint);

void main()

{

WDTCTL = 0x5A80;

uint ch[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uint i,j;

P2DIR = 0xff;

P2OUT = 0xff; //低电平点亮

while(1)

{

for(i=0;i<8;i++)

{

P2OUT = ch[i];

delay(50000);

}

for(j=6;j>0;j--)

{

P2OUT = ch[j];

delay(50000);

}

}

}

void delay(uint z)

{

uint a;

for(a=0;a<z;a++);

}

1这是较为简单的流水灯程序,没有使用定时器,只是简单的延时;

若要精确延时,需要设置定时器A或B

2也可以通过移位 *** 作来实现流水灯,移位 *** 作放入中断内最好

以上就是关于iar for arm 用jlink下程序 复位或掉电后为啥程序就不跑了 怎样设置才能让他掉电后可以再次运行程序全部的内容,包括:iar for arm 用jlink下程序 复位或掉电后为啥程序就不跑了 怎样设置才能让他掉电后可以再次运行程序、用IAR FOR AVR编的一个程序,用PORTB控制一个灯,开25秒关210秒,谁帮我看看问题出在什么地方、如何用芯片MSP430和IAR软件的C语言编一个流水灯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9828098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存