历史上的今天
今天是:2025年04月28日(星期一)
2018年04月28日 | MSP430 大型数组 上电不启动
2018-04-28 来源:eefocus
现象:程序烧录板子后,单片机不启动,卡死。注释掉部分字节数组后,才能运行。
分析:
这是IAR编译的方法,导致看门狗溢出了。MSP430单片机一上电看门狗就已经启动,但是在进入main()函数之前,软件会先初始化用到的一些数据,比如数组。如果数定义的比较大,初始化时间比较长,那就有可能导致看门狗溢出了,单片机复位,然后重启,再初始化,再溢出,再复位..程序永远也进不去主函数。
解决方法:
使用低级初始化函数:int __low_level_init(void) 。该函数会自动把低级初始化函数放在程序的最开始处,在此可以关闭看门狗,等低级初始化函数执行完之后,才会进行数据初始化,最后再进入main()函数。
void main()
{
}
int __low_level_init(void)
{
WDTCTL = WDTPW+WDTHOLD; // Stop WDT
/* Insert your low-level initializations here */
/*
* Return value:
*
* 1 - Perform data segment initialization.
* 0 - Skip data segment initialization.
*/
return 1;
}
也不用调用该函数,编译器自动将其放在最开始处。
当然也可以把所有硬件初始化函数写进来,这样在进入main函数之前,把硬件都准备好了,避免了其他bug产生。
__no_init unsigned char all_25665[] ={
//4K多字节
};
史海拾趣
|
STM32F103Z核心板,板载512K SRAM/64M NAND flash http://item.taobao.com/auction/item_detail-db2-2494f2cca7bcf576c2eb50164b94ab8e.htm QQ:21578936 资源: 1:REV1.1版 STM32F103Z核心板,板载512K SRAM/64M NAND flash 2:引出所有I/O口 3:独立BOOT跳针 4:20PIN标准JTAG接口(支持JTA ...… 查看全部问答> |
|
关于7行5列LED键盘指示灯的编程,请高手解惑!十万火急!万分感谢! 7行5列的LED键盘指示灯,键按下时相应的LED指示灯也会亮! 灯亮的原则:列为高电平,行为低电平。 我想问的是,如果我知道了第0行第0列的键按下了,想要第0行第0列的灯亮,那么是不是应该让列所在的存储器第0位置1,其余列置0!即将0x01输入到相 ...… 查看全部问答> |
|
如题, 望版主推荐 一直以来,因ARM开发板每次换屏的时候都要重新生成NK,有没人做过在板子上驱动一个显卡IC来驱动LCD? 如果有,IC型号大家了解的有哪些? 如果增加了这个显卡IC,那么原来的Display驱动还要不要? 大家一起讨论讨论,突然想 ...… 查看全部问答> |
|
关于vs2005开发windows ce 5程序部署到机器的问题 1:首先非常感谢您的帮助,同时我找遍了google和baidu,没有找到,或许是关键字搜索的不好。所以来此提问。 2:问题描述如下 机器是广州市微嵌计算机科技的Arm9 的硬件系统,采用的是windows ce 5.0。该设备有一个特点是会将hwDir目 ...… 查看全部问答> |
|
我这个问题好像是新手必问的问题。 在VS2005,没有Wince5.0的仿真程序。现在我要做个Wince5.0 的应用程序,想调测,就必须先接设备。 接设备我是通过ActiveSync4.5做的。 问题是我习惯开发时每一段代 ...… 查看全部问答> |
|
该TDA3560设计为一个3毫米功率LED具有某些特点:(1)高通量输出;(2)超薄;(3)较低的热阻;(4)低功耗;(5)在反射的荧光粉转换的氮化铟镓蓝色发光芯 片到理想的白色;(6)典型的色度坐标x = 0.30,y = 0.29根据CIE1931;(7)本产品本身将保持在符合R ...… 查看全部问答> |
|
USB学习板做完了,最近做了批,大家如果需要可以参与本次团购活动。 团长备案号: EEWORLD_005 团长承诺:我已经详细阅读过论坛自发团购规则,并愿意严格遵照此规则执行,愿意为大家提供货真价实、物美价廉的产品。 【征询贴】链接:ht ...… 查看全部问答> |
|
keil 下编译LM3S9B96官方例程boot_eth出错 官方提供的StellarisWare\\boards\\dk-lm3s9b96\\boot_eth\\ 使用keil的工程编译,出现下面提示: Build target \'boot_eth\'User command #1: armcc --device DLM -I . -E -o bl_config.inc ..\\..\\..\\boot_loader\\bl_config.c--- Error: User ...… 查看全部问答> |




