错误125,AGDI:内存写入失败

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads athttps://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
16个帖子/ 0新
最后一篇
Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
错误125,AGDI:内存写入失败

你好 ,

IM仍然是具有Keil和DA14580DEVKT-B SDK板的编程固件的新功能。

当我以前编译和调试时,我没有运行示例代码的问题。

However after my Jlink firware upgrades , somehow when i debug, this error crop up :

* * *错误125,10号线:AGDI:内存写失败了(0x50000012)

以下是在Keil中运行调试的输出。

使用代码大小限制:32K
将JLink项目文件设置为“C:\ a \ da1458x \ 5.0.4 \ projects \ target_apps \ ble_examples \ ble_app_peripheral \ keil_5 \ jlinksettings.ini”* jlink信息:设备“cortex-m0”所选。

jlink信息:
-------------
DLL:v6.46d,编译2019年6月7日17:33:40
固件:J-Link OB-SAM3U128 V1编译1月7日2019年1月14日14:05:40
Hardware: V1.00
S / N:480063501

* JLINK信息:找到带ID 0x0BB11477的SW-DP
* JLINK信息:扫描AP地图查找所有可用的AP
* JLINK信息:AP [1]:已停止AP扫描作为AP地图的结尾已达到
* JLINK INFO:AP [0]:AHB-AP(IDR:0x04770021)
*JLink Info: Iterating through AP map to find AHB-AP to use
* jlink信息:AP [0]:找到核心
* JLINK INFO:AP [0]:AHB-AP ROM基数:0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
*JLink Info: Found Cortex-M0 r0p0, Little endian.
*JLink Info: FPUnit: 4 code (BP) slots and 0 literal slots
* jlink信息:coresight组件:
* jlink信息:romtbl [0] @ E00FF000
* jlink信息:romtbl [0] [0]:e000000,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
romtableddr = 0xe00ff000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

目标信息:
-------------
设备:ARMCM0
VTarget = 3.300V
PIN状态:TCK:0,TDI:1,TDO:1,TMS:1,TRES:1,TRST:1
硬件断点:4
软件断点:8192
观察点:2
JTAG speed: 2000 kHz

加载“C:\\ a \\ da1458x \\ 5.0.4 \\ projects \\ target_apps \\ ble_examples \\ ble_app_peripheral \\ keil_5 \\ out_580 \\ ble_app_peripheral_580.axf”
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Include "C:\\a\\DA1458x\\5.0.4\\projects\\target_apps\\ble_examples\\ble_app_peripheral\\Keil_5\\..\\..\\..\\..\\..\\sdk\\common_project_files\\misc\\sysram_case23.ini"
/**
****************************************************************************************
* da1458x对象加载脚本通过调试器界面(例如jlink等)。
*The goal of this script is to load the Keils's object file to the DA1458x RAM
*确保先前已清理DA1458X。
****************************************************************************************
*/

// Write to DA1458x SYS_CTRL_REG -> Generate SW reset, enable debugger
_WWORD(0x50000012,0x80a4)
^
* * *错误125,10号线:AGDI:内存写失败了(0x50000012)

//以前的命令(sw重置)难以达到处理器
//写入cortex-m0 dhcsr核心调试寄存器 - > halt cortex-m0
_wdword(0xe000edf0,0xa05f0003)
^
***错误125,第14行:AGDI:内存写入失败(0xe000edf0)

//在执行调试器重置之前所需的睡眠时间(在MSEC中)
_sleep_(1000)

//调试器重置(检查Keil调试器设置)
//预选重置类型(在选项 - > debug->设置中找到)是正常的(0):
// - 正常:通过sysresetreq和Vectreeset位重置核心和外围设备
RESET
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

// Load object file
加载%L.
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

// Load stack pointer
SP = _RDWORD(0x20000000)

//加载程序计数器
$ = _RDWORD(0x20000004)

func void disp_memlog(void)
{
int idx;
unsigned int min_delta;

Exec(“log> memlog.log”);

printf(“\ n \ n ***内存记录结果*** \ n \ n”);

printf(">>> ENV HEAP <<<\n");
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[0].used_sz, mem_log[0].max_used_sz);
printf(“其他堆的使用大小:%4d(当前) - %4d(最大)\ n \ n”,mem_log [0] .used_other_sz,mem_log [0] .max_used_other_sz);

printf(">>> DB HEAP <<<\n");
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[1].used_sz, mem_log[1].max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[1].used_other_sz, mem_log[1].max_used_other_sz);

printf(“>>> msg heap <<< \ n”);
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[2].used_sz, mem_log[2].max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[2].used_other_sz, mem_log[2].max_used_other_sz);

Printf(“>>>非Ret堆<<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [3] .use_sz,mem_log [3] .max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[3].used_other_sz, mem_log[3].max_used_other_sz);

exec(“注销”);
} // disp_memlog()结束

设备:
Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
附加信息:我使用

附加信息:我使用"DA1458x\\5.0.4\\projects\\target_apps\\ble_examples\\ble_app_peripheral" sample code.

PM_DIALOG.
Offline
最后一次露面:1天18小时前
职员
加入:2018-02-08 11:03
嗨Ridzuwary,

嗨Ridzuwary,

我认为这个问题与JLink更新无关。可能,您已禁用调试器。您是否在SDK的BLE_APP_PHERIALLAL示例中完成了任何修改?你有没有烧掉SPI Flash或你只是试图将固件下载到系统RAM中?您可以通过SDK的另一个示例复制此问题吗?

谢谢,PM_DIALOG.

Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
Hi,

Hi,

我没有做任何事情modification to ble_app_peripheral .

Im trying to run the program using debug . Previously i have no problem running it.

我在尝试其他BLE示例和相同的错误125就在那里。

Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
我没有做任何事情

我没有做任何事情modification to ble_app_peripheral .

Im trying to run the program using debug . Previously i have no problem running it.

我在尝试其他BLE示例和相同的错误125就在那里。

即时使用此文档:

DA14580.蓝牙® Smart Development Kit – Basic UM-B-025

附件是来自keil,这可能是一个问题吗?

附件:
PM_DIALOG.
Offline
最后一次露面:1天18小时前
职员
加入:2018-02-08 11:03
嗨Ridzuwary,

嗨Ridzuwary,

Please check the attached snapshots. Can you please indicate if you have the same configurations? As soon as you have the correct jumper set up, you should be able to program your board.

谢谢,PM_DIALOG.

附件:
Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
Hi,

Hi,

我仍然根据你的共享图片而落叶。

唯一的不同之处在于,在样本为V6.30C时,DLL Vesion是V6.46D。

The jumper is set correctlya s per tutorial.

The output is as follows :

使用代码大小限制:32K
Set JLink Project File to "C:\a\DA1458x\5.0.4\projects\target_apps\ble_examples\ble_app_barebone\Keil_5\JLinkSettings.ini"* JLink Info: Device "CORTEX-M0" selected.

jlink信息:
-------------
DLL:v6.46d,编译2019年6月7日17:33:40
固件:J-Link OB-SAM3U128 V1编译1月7日2019年1月14日14:05:40
Hardware: V1.00
S / N:480063501

* JLINK信息:找到带ID 0x0BB11477的SW-DP
* JLINK信息:扫描AP地图查找所有可用的AP
* JLINK信息:AP [1]:已停止AP扫描作为AP地图的结尾已达到
* JLINK INFO:AP [0]:AHB-AP(IDR:0x04770021)
*JLink Info: Iterating through AP map to find AHB-AP to use
* jlink信息:AP [0]:找到核心
* JLINK INFO:AP [0]:AHB-AP ROM基数:0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
*JLink Info: Found Cortex-M0 r0p0, Little endian.
*JLink Info: FPUnit: 4 code (BP) slots and 0 literal slots
* jlink信息:coresight组件:
* jlink信息:romtbl [0] @ E00FF000
* jlink信息:romtbl [0] [0]:e000000,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
romtableddr = 0xe00ff000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

目标信息:
-------------
设备:ARMCM0
VTarget = 3.300V
PIN状态:TCK:0,TDI:1,TDO:1,TMS:1,TRES:1,TRST:1
硬件断点:4
软件断点:8192
观察点:2
JTAG speed: 2667 kHz

Include "C:\\a\\DA1458x\\5.0.4\\projects\\target_apps\\ble_examples\\ble_app_barebone\\Keil_5\\..\\..\\..\\..\\..\\sdk\\common_project_files\\misc\\sysram_case23.ini"
/**
****************************************************************************************
* da1458x对象加载脚本通过调试器界面(例如jlink等)。
*The goal of this script is to load the Keils's object file to the DA1458x RAM
*确保先前已清理DA1458X。
****************************************************************************************
*/

// Write to DA1458x SYS_CTRL_REG -> Generate SW reset, enable debugger
_WWORD(0x50000012,0x80a4)
^
* * *错误125,10号线:AGDI:内存写失败了(0x50000012)

//以前的命令(sw重置)难以达到处理器
//写入cortex-m0 dhcsr核心调试寄存器 - > halt cortex-m0
_wdword(0xe000edf0,0xa05f0003)
^
***错误125,第14行:AGDI:内存写入失败(0xe000edf0)

//在执行调试器重置之前所需的睡眠时间(在MSEC中)
_sleep_(1000)

//调试器重置(检查Keil调试器设置)
//预选重置类型(在选项 - > debug->设置中找到)是正常的(0):
// - 正常:通过sysresetreq和Vectreeset位重置核心和外围设备
RESET
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

// Load object file
加载%L.
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

// Load stack pointer
SP = _RDWORD(0x20000000)

//加载程序计数器
$ = _RDWORD(0x20000004)

func void disp_memlog(void)
{
int idx;
unsigned int min_delta;

Exec(“log> memlog.log”);

printf(“\ n \ n ***内存记录结果*** \ n \ n”);

printf(">>> ENV HEAP <<<\n");
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[0].used_sz, mem_log[0].max_used_sz);
printf(“其他堆的使用大小:%4d(当前) - %4d(最大)\ n \ n”,mem_log [0] .used_other_sz,mem_log [0] .max_used_other_sz);

printf(">>> DB HEAP <<<\n");
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[1].used_sz, mem_log[1].max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[1].used_other_sz, mem_log[1].max_used_other_sz);

printf(“>>> msg heap <<< \ n”);
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[2].used_sz, mem_log[2].max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[2].used_other_sz, mem_log[2].max_used_other_sz);

Printf(“>>>非Ret堆<<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [3] .use_sz,mem_log [3] .max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[3].used_other_sz, mem_log[3].max_used_other_sz);

exec(“注销”);
} // disp_memlog()结束

附件:
PM_DIALOG.
Offline
最后一次露面:1天18小时前
职员
加入:2018-02-08 11:03
嗨Ridzuwary,

嗨Ridzuwary,

Seems that you are running the code in sleep mode, try to start the debugging session and click again in order to stop debugging. By doing that you should see your device advertising. if you want to debug the code, disable the sleeping feature and run the code. Please remove all the jumper except the jumpers for JTAG connection. Also remove the battery if you had it placed. Did you check to run any other example of the SDK?

谢谢,PM_DIALOG.

Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
1.如何启用睡眠状态

1.如何启用睡眠/ undleep模式/禁用睡眠功能?

2. I have been trying to run debug mode wthout success with the output as above,

3. I have check all other examples , blinky is working as it doesnt use parameters/memory. Other Ble have the same error when run debug.

4.让我只需重新签约,以便在没有任何错误的情况下调试:

一个。删除除JTAG之外的所有跳线(此支持遵循UART跳线设置)。

湾取下电池

C。选择项目文件夹

天。建造

e. Debug > start debug session

f. click run

你能解释为什么发生这种错误吗?

// Write to DA1458x SYS_CTRL_REG -> Generate SW reset, enable debugger
_WWORD(0x50000012,0x80a4)
^
* * *错误125,10号线:AGDI:内存写失败了(0x50000012)

//以前的命令(sw重置)难以达到处理器

Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
By the way , in start debug,

By the way , in start debug, when issue a run command , it stuck at init.

Im attaching the picture.

Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
By the way , in start debug,

By the way , in start debug, when issue a run command , it stuck at init.

Im attaching the picture.

PM_DIALOG.
Offline
最后一次露面:1天18小时前
职员
加入:2018-02-08 11:03
嗨Ridzuwary,

嗨Ridzuwary,

The screenshot is correct! Your device should start advertising. Did you check it with a generic mobile BLE application? The device should be in the air.

谢谢,PM_DIALOG.

Ridzuwary.
Offline
最后一次露面:1 year 6 months ago
加入:2017-11-24 03:10
不幸的是,我无法检测到

不幸的是,我无法检测到设备。

它不是广告。

即时使用3个不同的BLE / Beacon扫描仪肯定。

请以前查看屏幕截图的命令部分。预计会得到该输出吗?

So do i igonore the "*** error 125, line 10: AGDI: memory write failed (0x50000012)" error that still exist when i run debug ?

PM_DIALOG.
Offline
最后一次露面:1天18小时前
职员
加入:2018-02-08 11:03
嗨Ridzuwary,

嗨Ridzuwary,

这是非常奇怪的行为!尝试将SDK解压缩在新推断的路径文件夹中,然后重新安装Keil工具和jlink。之后,尝试构建项目。你能否建立正确的?请注意,我无法复制您的问题,所以请尝试这并让我知道。

C:\ MyWorkshop \ da1458x_sdk \ 5.0.4

另外请尝试禁用您在代码中设置的所有断点。

谢谢,PM_DIALOG.

rorbech
Offline
最后一次露面:1年3个月前
加入:2019-08-09 13:22
我之后的行为相似

我之后的行为相似the initial install and trying out the barebone example. I fixed it by doing a clean build "Project->Clean targets" followed by a "Project->Build Target". Then after starting a debug session and running the program it started advertizing. ...Claus

PM_DIALOG.
Offline
最后一次露面:1天18小时前
职员
加入:2018-02-08 11:03
Hi robech,

Hi robech,

Many thanks for your indication.

Regards, PM_Dialog