你好,
我有DA14585板,我试图用Keil MDK运行“Blinky”测试应用程序。
我遇到了以下问题:
当尝试调试程序时,我得到一个对话框说
“BP不能设置!”
Expr:,
地址:0 x20000af8
可能定义了太多的断点?“
虽然没有定义断点。0x20000af8是main()的第一行地址。
命令窗口看起来像这样:
--------------------------------------------------------------
运行代码大小限制:32K
设置JLink项目文件为“C:\Dialog\SDK 5.0.4\DA1458x_SDK_5.0.4\DA1458x_SDK\5.0.4\projects\target_apps\peripheral_examples\blinky\Keil_5\JLink settings .ini”* JLink Info: Device " cortexm0 " selected。
JLink信息:
------------
DLL: V6.14h,编译2017年5月10日18:22:45
固件:J-Link OB-SAM3U128 V1编译2017年1月31日09:46:32
硬件:V1.00
S / N: 480067086
* JLink Info: Found SW-DP with ID 0x0BB11477
* JLINK INFO:没有预选AP。假设AP [0]是AHB-AP
* JLink Info: AP-IDR: 0x04770021, Type: AHB-AP
* JLink Info: AHB-AP ROM: 0xE00FF000 (Base addr.)第一个ROM表)
* JLink Info: Found Cortex-M0 r0p0, Little endian。
* JLink Info: FPUnit: 4代码(BP)槽和0文字槽
* JLink信息:CoreSight组件:
* JLink Info: ROMTbl[0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
* JLINK INFO:ROMTBL [0] [1]:E0001000,CID:B105E00D,PID:000BB00A DWT
* JLink Info: ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
ROMTableAddr = 0 xe00ff000
目标信息:
------------
设备:ARMCM0
VTarget = 3.300 v
引脚状态:TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
监测点:2
JTAG速度:2000khz
加载对话框" C: \ \ \ \ SDK 5.0.4 \ \ DA1458x_SDK_5.0.4 \ \ \ \ DA1458x_SDK \ \ 5.0.4 \ \项目target_apps作品\ \ peripheral_examples \ \ \ \ Keil_5 \ \ \ \ blinky.axf”
***限制版本与32768字节码大小限制
***目前使用:3276字节(9%)
对话框包括“C: \ \ \ \ SDK 5.0.4 \ \ DA1458x_SDK_5.0.4 \ \ \ \ DA1458x_SDK \ \ 5.0.4 \ \项目target_apps作品\ \ peripheral_examples \ \ \ \ Keil_5 \\..\\..\\ 共享\ \ sysram.ini”
重置
e long 0x50000012 = 0xA4
E long 0x50003308 = 0x2e
负载% L
***限制版本与32768字节码大小限制
***目前使用:3276字节(9%)
sp = _rdword(0x20000000)
_____ ^
***错误122,第5行:AGDI:内存读取失败(0x20000000)
$ = _RDWORD (0x20000004)
____ ^
***错误122,第6行:AGDI:内存读取失败(0x20000004)
------------------------------------------
提前谢谢。
嗨akroizer,
因为它是585,你将需要SDK6而不是SDK5.0.4(我可以从你的错误日志的路径告诉你正在使用),因为这个SDK只用于580/581/583 SoC。
由于MT_dialog
谢谢。你是对的,我在发布问题后意识到这一点。然而,我在使用SDK6时仍然会遇到类似的错误。
我想我现在理解得更多了,调试器正在尝试从flash运行,项目选项是使用外部工具进行闪烁,但没有提供外部工具。既然闪存没有编程,它就会失效。这里应该设置什么?
当我改变设置使用外部工具,我得到一个不同的错误加载:
加载“C:\\对话框\\ da14585_sdk_6.0.2.243 \\ da14585_sdk \\ 6.0.2.243 \\ projects \\ target_apps \\ peripheral_examples \\ blinky \\ keil_5 \\ out \\ blinky.axf”
将JLink项目文件设置为"C:\Dialog\DA14585_SDK_6.0.2.243\DA14585_SDK\6.0.2.243\projects\target_apps\peripheral_examples\blinky\Keil_5\JLinkSettings.ini"
* JLINK INFO:选择“Cortex-M0”所选的。
JLink信息:
------------
DLL: V6.14h,编译2017年5月10日18:22:45
固件:J-Link OB-SAM3U128 V1编译2017年1月31日09:46:32
硬件:V1.00
S / N: 480066885
* JLink Info: Found SW-DP with ID 0x0BB11477
* JLINK INFO:没有预选AP。假设AP [0]是AHB-AP
* JLink Info: AP-IDR: 0x04770021, Type: AHB-AP
* JLink Info: AHB-AP ROM: 0xE00FF000 (Base addr.)第一个ROM表)
* JLink Info: Found Cortex-M0 r0p0, Little endian。
* JLink Info: FPUnit: 4代码(BP)槽和0文字槽
* JLink信息:CoreSight组件:
* JLink Info: ROMTbl[0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
* JLINK INFO:ROMTBL [0] [1]:E0001000,CID:B105E00D,PID:000BB00A DWT
* JLink Info: ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
ROMTableAddr = 0 xe00ff000
目标信息:
------------
设备:ARMCM0
VTarget = 3.300 v
销状态:
Tck: 0, tdi: 1, tdo: 1, tms: 1, tres: 1, trust: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
监测点:2
JTAG速度:5000 kHz
没有找到算法:07FC0000H - 07FC0D7FH
擦除跳过!
错误:Flash下载失败- "Cortex-M0"
闪电加载在19:48:37结束
在程序选项中有一种方法可以添加flash编程算法,也许这里需要配置一些东西?或者有一个。ini文件可以加载,但我没有在SDK中找到任何合适的。
提前谢谢。
嗨Akroizer,
打开你的凯尔IDE和导航到对话框中的“选择目标”您应该看到一个工具选项卡,在“工具”选项卡中确保可用的单选按钮选择“使用外部工具Flash编程”,如果选择“使用Flash目标驱动程序编程”你会得到上面的错误,您已经发布。
由于MT_dialog
我认为这应该添加到Pro开发套件的“入门”文档中。我正在收到同样的错误,我相信Keil中的默认选项是不正确的选项。如果您不熟悉Keil,这样的事情可能需要很长时间才能追踪。