jlink 下载 keil debug问题新手求助

aaron1430 2016-04-14 11:11:53
先交代一下芯片和环境软件信息:
芯片:STM32F103C8T6
J-FLASH:V4.90
keil:4.12

烧写方法:keil编译后通过J-Flash下载到单片机

问题是这样的,程序修改编译后烧写都正常,但修改后第一次烧写程序不能完成预期功能,但是只要用keil debug过之后不管有没有重新烧写都一切正常。请大神帮忙分析一下到底是什么问题?
想过要用串口打印,什么信息都不输出,但是debug过后就能正常输出了。

下面是J-FLASH和keil Debug的设置:


J-Flash General标签

J-Flash Target Interface 标签

J-Flash CPU标签

J-Flash Flash标签

J-Flash Production标签


keil debug设置

keil debug JLink settings

J-Flash烧写日志
Application log started
- J-Flash V4.90 (J-Flash compiled Jul 28 2014 10:35:37)
- JLinkARM.dll V4.90 (DLL compiled Jul 28 2014 10:35:20)
Reading flash device list [C:\Program Files (x86)\SEGGER\JLink_V490\ETC\JFlash\Flash.csv] ...
- List of flash devices read successfully (2774 Devices)
Reading MCU device list [C:\Program Files (x86)\SEGGER\JLink_V490\ETC\JFlash\MCU.csv] ...
- List of MCU devices read successfully (4232 Devices)
Opening project file [C:\Users\Administrator\Desktop\2016新程序\设备编译\STM32F103C8T6 QFP48.jflash] ...
- Project opened successfully
Opening data file [E:\hongwai去除CC1101.lib测试1\OBJ\hongwai.hex] ...
- Data file opened successfully (27652 bytes, 1 range, CRC = 0xAFF2C4AF)
Auto programming target (27652 bytes, 1 range) ...
- Connecting ...
- Connected successfully
- Unsecure chip ...
- Chip unsecured successfully
- Erasing affected sectors ...
- Erasing bank 0, sector 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
- Erase operation completed successfully
- Programming target (27652 bytes, 1 range) ...
- Target programmed successfully
- Verifying CRC of affected sectors ...
- CRC of affected sectors verified successfully (CRC = 0x911B5839)
- De-initializing CPU core (Exit sequence) ...
- De-initialized successfully
- Target erased, programmed and verified successfully - Completed after 11.158 sec
- Starting application ...
- Target application started

keil调试日志
Load "..\\OBJ\\hongwai.AXF"
Set JLink Project File to "E:\hongwai去除CC1101.lib测试1\USER\JLinkSettings.ini"

JLink info:
------------
DLL: V4.15n, compiled Jun 18 2010 19:55:09
Firmware: J-Link ARM V8 compiled Jan 31 2018 18:34:52
Hardware: V8.00
S/N : 20080643
Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull

* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: TPIU fitted.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
ROMTableAddr = 0xE00FF003

Target info:
------------
Device: STM32F103C8
VTarget = 3.293V
State of Pins:
TCK: 0, TDI: 0, TDO: 0, TMS: 0, TRES: 1, TRST: 1
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: TPIU fitted.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
Hardware-Breakpoints: 6
Software-Breakpoints: 2048
Watchpoints: 4
JTAG speed: 4000 kHz

Erase Done.
Programming Done.
Verify OK.
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: TPIU fitted.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
Application running ...
...全文
1192 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshi_ziyu 2016-04-18
  • 打赏
  • 举报
回复
解决了就好。。
aaron1430 2016-04-18
  • 打赏
  • 举报
回复
问题解决了,不是debug的问题,是jlink插上之后会给cc1101供电。我这个板子有个cc1101模块,主要问题也是出在不能正常通信。 就是说除了板子的电源以外单独给cc1101供电就能正常通信。修改方法是供电之后用cc1101发送一次数据,再冲洗发送缓冲。 void CC1101SendPacket(uint8_t *txBuffer, uint8_t size,uint8_t count) { CC1101_send_Cmd(CC1101_SFTX); CC1101_Write_Reg(CC1101_TXFIFO, size); CC1101_Write_Burst_Reg(CC1101_TXFIFO, txBuffer, size); CC1101_send_Cmd(CC1101_SFTX); }

27,518

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧