Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
下载RTT最原始的STM32F4xx程序之后无法使用SW调试
发布于 2016-05-20 14:56:33 浏览:4050
订阅该版
我把源码下载下来之后,编译通过了,我把代码通过J-link使用SW模式下载到板子上后,感觉程序没对。想重新下载一个另外的程序(板子自带的LED程序)发现无法识别板子了,提示找不到SW器件。我又使用串口下载的方法,使用flash-loader下载了一个LED程序之后,正常运行了。然后SW也能用了,但是,只要下载了RTT的程序,SW就不能用了 [s:166] [s:166] 我检查了main函数之前的初始化代码,始终设置的都没错 猜测:据说如果SW被复用了,就会出现无法使用SW接口调试的问题。但是我看了RTT的代码,只初始化了串口啊,什么也没做,就是不知道怎么不能使用SW了 求助!
查看更多
12
个回答
默认排序
按发布时间排序
bernard
2016-05-20
这家伙很懒,什么也没写!
stm32f4也会出这种问题啊,一般还是一些IO初始化,或者clock初始化的事情
aozima
2016-05-20
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
检查一下晶振频率是否与代码配置是一致的,不然跑太高也会锁死掉。
草草
2016-05-21
这家伙很懒,什么也没写!
1、版主,怎么回复帖子下边的回复呢,比如怎么回复你。。我找了很久没找到点哪里回复 2、我昨天把那个LED的代码和RTT的代码一点一点对比了一下。我把LED里面关于LED的代码贴到了main 函数的最前面,也就是说没有进行RTT组件的初始化,和LED工程就一样了,从startup_stm32f4xx.s启动文件启动之后就执行LED的代码。可是编译完了仍然存在问题。首先是这个程序没有运行,LED没有闪烁;其次是Jlink又找不到设备了。 3、因为startup_stm32f4xx.s这个文件肯定是一样的,我又打开了stm32f4xx.h检查了一下晶振就是25Mhz,然后到system_stm32f4xx.c里面,检查了一下分频和倍频系数,也没问题168Mhz(我还特地和LED工程的对比了一下,一样的)基本上也没有别的东西需要配置了 4、我一直怀疑是我的Jlink设置的不对,或者下载程序的时候选项设置的不对,然后我又对RTT和LED工程的选项仔细对比了一下,也没有发现不一样的地方。这里我还是比较怀疑的,可能是有细节我没有注意到,但是我真是找不到哪里有错误了。 5、关于找不到器件,像我这种情况都是引脚被占用,弄成别的功能了会出现的情况。但是就现在的状况而言,我将LED的代码添加到了而最前面,应该什么别的操作也没做,所以也应该不是这个问题。 6、这个问题困扰一周了,实在没法解决了。刚开始还想使用Keil5软件调试,发现会出现内存无法读取的问题,后来找到原因,keil对f4的软件调试并不支持。
aozima
2016-05-21
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
bspstm32f40x eadme.txt >board info: >STM32F4 discovery >[http://www.st.com/internet/evalboard/product/252419.jsp](http://www.st.com/internet/evalboard/product/252419.jsp) > >note: >in drivers/stm32f4xx_conf.h > /* Redefine the HSE value; it's equal to 8 MHz on the STM32F4-DISCOVERY Kit */ > #define HSE_VALUE ((uint32_t)8000000) --- [http://bbs.21ic.com/icview-568907-1-1.html]([建议]更新固件库的PLL_M为自动计算) LibrariesCMSISSTSTM32F4xxSourceTemplatessystem_stm32f4xx.c ``` /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ #define PLL_M 25 ``` 修改为 ``` /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ #define PLL_M (HSE_VALUE / 1000000UL) ```
草草
2016-05-21
这家伙很懒,什么也没写!
1、目前是自动计算的,我的LED项目里是直接定义的,RTT里面是自动计算的,结果都是一样的。 2、请问您知道哪里能下载到STM32f407的RTT代码吗?我想看看他们是怎么处理的。 3、我之前找到了一份正点原子探索者开发板的RTT代码,只演示了finsh系统,使用的芯片和我的小板是一样的,然而我下载之后别说测试finsh了。。Jlink又无法识别了 [s:176] [s:176] 4、中午我看了看,想重新组织一次代码,发现RTT多了一些文件(相对于我的LED程序),主要是在CORTEX-M4分组下的,不知道是不是这些文件里面有某些参数需要修改的。而且还包含一个.s文件(context_rvds.S),不清楚是做什么的。
armink
2016-05-22
这家伙很懒,什么也没写!
贴一段我的产品上通用的 GPIO 初始化代码吧,切记不能把 PA13 及 PA14 初始化为输出模式,以前我从 STM32F10X 迁移过来时也遇到这个坑。RCC 设置方法与 aozima 一致。 ``` static void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; /* PA13:SWDIO PA14:SWCLK for debug, can't set to output mode */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All & (~(GPIO_Pin_13 | GPIO_Pin_14)); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_Init(GPIOE, &GPIO_InitStructure); GPIO_Init(GPIOF, &GPIO_InitStructure); GPIO_Init(GPIOG, &GPIO_InitStructure); /******************系统运行LED指示灯配置*******************/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } ```
dzahz
2016-05-22
这家伙很懒,什么也没写!
按住reset键不放,在j-flash中点 全片擦除 ,点完后立即松开reset键,多试几次,能成功擦除,就可以识别器件了。
草草
2016-05-22
这家伙很懒,什么也没写!
1、回复 armink 谢谢,我拿过去试试你的代码。 2、回复 armink 和dzahz 我昨天晚上将时钟频率从168M调到了84M(那个倍频系数从336改成了168)这样就不会出现SW无法识别的问题了。终究还是时钟的问题。谢谢各位的帮助。 3、现在片子运行还是不稳定,不知道是哪里还有问题。如果我只添加LED程序,每次复位都能运行。但是我让LED闪烁几次继续执行RTT组件的初始化, ``` /* init board */ rt_hw_board_init(); /* show version */ rt_show_version(); ``` 等等 然后系统有时候不能成功运行代码,复位之后不一定能运行。我链接串口也发现确实是这样的。有时候能看到打印出RTT的logo,有时候不能,而且不能正常运行的情况居多。可能是里面有的代码有问题,需要完善。因为有几次我看到输出的信息里出现如下的错误代码: ``` psr: 0x00000000 pc: 0x08002eef lr: 0x08002eeb r12: 0x08002ee7 r03: 0x08007bd1 r02: 0x08002ee5 r01: 0x08002ce5 r00: 0x20001b00 hard fault on thread: (NULL) thread pri status sp stack size max used left tick error -------- ---- ------- ---------- ---------- ---------- ---------- --- ```
草草
2016-05-23
这家伙很懒,什么也没写!
报告一下最新的进展吧: 目前我把时钟的设置又改了回去了,还是配置成168M。不同的是,我在main函数前面加上了LED的初始化函数和LED闪烁几次的代码。删掉了没有定义的interrupt_disable(),我感觉这种没有定义的函数可能会导致代码的崩溃,以前都能检测出来的,不知道为什么现在编译的时候检测不出来这种没有定义没有声明的函数。 目前烧写代码LED正常闪烁,SW也没有出错了。但是。。。出现两个问题: 1、串口打印的信息不正确。同样的配置,什么都没改,现在串口都是乱码。 2、执行到堆栈初始化的时候会出错,跳到hard_fault中断里面去。具体是在mem.c的223行 ``` heap_end->magic = HEAP_MAGIC; heap_end->used = 1; heap_end->next = mem_size_aligned + SIZEOF_STRUCT_MEM; heap_end->prev = mem_size_aligned + SIZEOF_STRUCT_MEM; ``` 调试了几次,都是在上述代码的第一行或者第二行出现硬件错误中断的。最早我还试过能执行过第一行和第二行,但是在第三行就会出错。目前我根据器件手册把 SRAM改成了196K,以前默认的是128K。不知道和这个是否有关系。
bernard
2016-05-23
这家伙很懒,什么也没写!
1. SRAM的196k是分段的,不是连续地址。 2.
topic5089.html#p24353
别人的回复一定要仔仔细细,认认真真的看!
撰写答案
登录
注册新账号
关注者
0
被浏览
4.1k
关于作者
草草
这家伙很懒,什么也没写!
提问
2
回答
13
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【NXP-MCXA153】 定时器驱动移植
2
GD32F450 看门狗驱动适配
3
【NXP-MCXA153】看门狗驱动移植
4
RT-Thread Studio V2.2.9 Release Note
5
CherryUSB的bootuf2配置
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
15
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
8
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部