嵌入式技术论坛
直播中

张波

7年用户 1408经验值
私信 关注
[问答]

基于STM32L475VET6芯片创建RT-thread工程烧录后程序无法运行该怎么办

在RT-thread Studio上 基于芯片创建RT-thread工程,程序烧录到开发板后(工程创建后,程序没有改动,直接编译后烧录),显示烧录成功,但程序无法运行(终端没有显示finsh)。
开发板型号:整点原子潘多拉IOT
芯片型号:STM32L475VET6
烧录过程,控制台显示:
  STM32CubeProgrammer v2.7.0-RC1                  
      -------------------------------------------------------------------
ST-LINK SN  : 066EFF515255706587205617
ST-LINK FW  : V2J24M11
Board       : --
Voltage     : 3.26V
SWD freq    : 4000 KHz
Connect mode: Normal
Reset mode  : Software reset
Device ID   : 0x415
Revision ID : Rev 4
Device name : STM32L4x1/STM32L475xx/STM32L476xx/STM32L486xx
Flash size  : 512 KBytes
Device type : MCU
Device CPU  : Cortex-M4
Mass erase ...
Mass erase successfully achieved
Memory Programming ...
Opening and parsing file: rtthread.elf
  File          : rtthread.elf
  Size          : 35424 Bytes
  Address       : 0x08000000
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 17]
Download in Progress:
Progress: 100%
File download complete
time elapsed during download operation: 00:00:01.243
Verifying ...
Read progress:
北北北北北北北北北北北北北北北北北北北北北北北北北 50%
圹  5%圹  8%  11%圹 14%  17%圹 20%  23%圹 26%  28%  31%圹 34%  37%圹 40%  43%圹 46%  49%圹 52%  54%  57%圹 60%  63%圹 66%  69%圹 72%  75%圹 78%  80%  83%圹 86%  89%圹 92%  95%圹 98%  100%
Download verified successfully
MCU Reset
Software reset is performed
RUNNING Program ...
  Address:      : 0x8000000
Application is running
Start operation achieved successfully
执行完毕, 耗时:1672ms.

回帖(8)

jjll652

2022-4-28 13:12:14
先别直接烧写,在线 debug 一下看看程序能跑不能,然后程序能跑多远出错的...
举报

张波

2022-4-28 13:12:28
好像卡在了 void rt_hw_hard_fault_exception(struct exception_info *exception_info) 这个函数
举报

张波

2022-4-28 13:12:50
我把芯片支持包 换成 STM32L4 0.1.7 版本的就能正常使用了。
不知道问题出在哪
举报

jjll652

2022-4-28 13:13:08
进这个函数肯定是有 bug 。但是具体是哪儿有bug得仔细排查了。
举报

梅利号

2022-4-28 13:13:18
先选择基于开发板创建工程试一试,rtt支持这款开发板,看看基于开发板创建的工程是否正常工作。
举报

张波

2022-4-28 13:13:31
基于开发板创建,程序是可以正常跑的。
举报

梅利号

2022-4-28 13:13:43
硬件错误 hard fault,通常是访问了非法的内存空间导致的,基于芯片创建工程,默认会打印 "Hello RT-Thread!",可以先试试基于芯片创建后什么文件都别改,然后测试一下结果。我手里有潘多拉的板子,基于芯片的默认工程(未修改任何文件)是没有问题的。
举报

张波

2022-4-28 13:13:56
基于芯片创建工程,然后什么都没改,直接编译烧录,也是无反应的,终端进不去finsh。换了0.1.7的包才正常。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分