编译和链接都可以通过,但 uVision MDK不能全速运行
编译和链接都可以通过,但uVision MDK不能全速运行,一运行就停止了,原因在于Option->Target->Code Generation->Use MicroLIB 复选框没有打钩,一般来说,针对一运行就停止的情况,将Use MicroLIB勾选之后,重新编译,运行就可以通过了。仿真调试时没有问题,但通过JLink调试时出现如下提示:
"Flash Download Failed-"Cortex-M3" ,则可能的原因是:Option->Debug->Use Driver for Flash Programming->Setting->Flash Download->Programming Algotithm 或 Option->Utilities->Use Driver for Flash Programming->Setting->Flash Download->Programming Algotithm没有添加相应类型的芯片FLASH说明,一般在这两个选项卡中分别点击ADD,添加STM32F10x High-density Flash 即可。调试时,程序总是停止在LDR R0, =SystemInit 语句,原因如下:堆栈空间默认的太小
默认startup_stm32f10x_hds中 Stack_Size EQU 0x00000400,如果改大之后,可能调试就可以正常运行。
四、调试时,程序停止在HardFault_Handler的问题(引用网上的总结)
最近调试UCGUI和UCOSII,程序莫名其妙的死掉了,用JLINK调试,发现进入了HardFault_Handler,主要
原因有两个,堆栈溢出和数组越界,很不幸的是这两种情况都被我碰到了。
我觉得你可以从下面几点入手进行排查。
仿真查看按键不按下时,是否会进你的if语句。如果还是会进入,就用万用表量一下此时这个io口的电平。如果不进入,继续排查。
当按键按下时,是否会进入你的if,如果不能,那么同上,用万用表量一下io口的电平。
按道理讲,应该不会有问题的。除非硬件焊接有问题。
建议把K1定义拿出去,和temp放在一起,当然应该不会有太大影响。
最后一点,看一下优化等级,改成O0试试。
最近做STM32的项目啊?
我以前刚学的时候,无论那款芯片,都想在protues里面搭建个原理图,然后通过仿真看结果,但是不得不说,protues的元件库更新得太慢了。
你可以尝试去protues官网下载个最新版本的,看看有没有,或者看一下补丁包里面有没有STM32。
如果没有的话,我觉得你可以直接用MDK软件自带的仿真,单步调试看寄存器配置和数据运算的过程,然后买块STM32最小系统板来学一下。
说句老实话,你的项目真的太乱了,GPIO的 *** 作是正确的,问题只有可能是配置问题,一般的话main函数尾部你加一条语句“while(1);”,表示死循环,一般单片机没有 *** 作系统不用返回值,就要加while(1);死循环,还有你的头文件包含错误了,要包含stm32f10x_confh,具体你可以看一眼这个文件,你就知道为什么要包含这个文件了,再者就是你的项目创建,我建议你去百度一个标准的创建项目的模板,项目要有条理,这是必须的,至少要和我的项目结构差不多。如下,希望能有点帮助吧。
要使用Proteus 80支持STM32,您需要完成以下步骤:
1下载STM32的Proteus库文件:可以在ST官网上找到STM32的Proteus库文件,然后下载它。
2将文件导入Proteus:将下载的文件解压到Proteus安装目录下的LIBRARY文件夹中,然后打开Proteus,在“设置”-“库”界面,点击“加载库文件”,选择下载的文件夹,然后点击“确定”。
3添加STM32元件:打开Proteus,在“元件”窗口中,搜索STM32,你会看到STM32的所有元件,然后可以拖动到画面中,就可以使用了。
以上就是关于proteus8.9安装后stm32f运行不了全部的内容,包括:proteus8.9安装后stm32f运行不了、PROTUSE 仿真STM32按键控制LED,按键不起作用、各位电子高手,PROTEUS 哪个版本能够仿真ARM STM32的谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)