程序QSPI Flash DA1469x USB-Kit

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程//www.xmece.com/support。我们将在未来几天修复错误/优化搜索和标记。
11个员额/ 0新
最后一篇
红宝石
离线
最后一次露面:1年4个月前
加入:2019年5月30日18:29
程序QSPI Flash DA1469x USB-Kit

你好!

我是一个尝试熟悉Smartsnippets开发环境的新用户。我正在使用:

DEV-套件:DA14695-00HQDEVKT-U
SDK:SDK_10.0.4.66.2
JLink:jlink_linux__v644i._x86_64
SmartSnippet:smartsnippetsstudio2.0.8

我已经成功地编译了测试程序“pxp reporter”,可以将其加载到RAM中,并在SmartSnippets中进行调试。我可以从我的手机扫描BLE设备,所以到目前为止一切都很好。

现在我想尝试将“pxp reporter”闪存到开发工具包中,但我无法使其工作。
我尝试了两种方法(见下文),没有结果。

一般的问题:
-我不理解flash进程本身(例如uartboot.bin的目的是什么?)。这有文件记录吗?
- 我是错误的方式吗?有更好的方法来闪光吗?

非常感谢帮助。

方法1:
后:http://lpccs-docs.dialog-semiconductor.com/um-b-090-da1469x_getting_started/07_Your%20First%20DA1469x%20Application%20%E2%80%93%20Advertising%20Demo/Your%20First%20DA1469x%20Application%20%E2%80%93%20Advertising%20Demo.html#集结ADV-BLE-在调试-QSPI构

步骤1:使用debug_qspi构建配置构建二进制文件
步骤2:我使用run ->外部工具-> program_qspi_jtag得到以下输出

........................................................................................................................ .. ..PROGRAM QSPI .. ........................................................................................................................ . ........................................................................................................................ .. .. Programming image .. ........................................................................................................................ cli_programmer 1.26 Copyright (c) 2015-2019 Dialog Semiconductor bootloader file not specified, using internal uartboot.bin

然后,它永远挂

方法2:
然后我尝试使用命令行工具直接启发:SDK_10.0.4.66.2 / DOC / HTML / cli_programmer.html
我找不到任何关于GDB服务器参数的文档(是否有我找不到的文档?),但我从SmartSnippets调用中获取了参数,并按如下方式启动了gdbserver:

GDB服务器输出:

JLink_Linux_V644i_x86_64//JLinkGDBServer-if-swd-device Cortex-M33-endian little-speed 8000-port 2331-swoport 2332-telnetport 2333-vd-ir-localhostonly 1-log JLink.log-singlerun-strict-timeout 0-nogui-rtos-GDBServer/RTOSPlugin_FreeRTOS SEGGER J-Link GDB Server V6.44i命令行版本JLinkARM.dll V6.44i(dll于2019年5月17日编译)17:37:26)命令行:-if swd-device Cortex-M33-endian little-speed 8000-port 2331-swoport 2332-telnetport 2333-vd-ir-localhostonly 1-log jlink.log-singlerun-strict-timeout 0-nogui-rtos GDBServer/RTOSPlugin\u FreeRTOS------GDB服务器启动设置------GDBInit文件:none GDB服务器侦听端口:2331 SWO原始输出侦听端口:2332终端I/O端口:2333接受远程连接:仅本地主机生成日志文件:on验证下载:on Init regs on启动:on静默模式:off单次运行模式:on Target连接超时:0 ms------J-Link相关设置------J-Link主机接口:USB J-Link脚本:none J-Link设置文件:none------目标相关设置------目标设备:Cortex-M33目标接口:SWD目标接口速度:8000kHz目标端:很少连接到J-Link。。。J-Link已连接。固件:J-Link OB-SAM3U128 V3编译2019年1月7日14:06:26硬件:V3.00序列号:483051972正在检查目标电压。。。目标电压:3.30 V侦听连接到目标的TCP/IP端口2331…连接到目标等待GDB连接…连接到127.0.0.1收到的监视器命令:clrbp收到的监视器命令:重置0通过SYSRESETREQ和VECTRESET位重置核心和外围设备。接收到监视器命令:睡眠10睡眠10ms接收到监视器命令:停止停止目标CPU。。。目标暂停(PC=0x0000076C)接收到的监视命令:memU32 0x20010000=0xdeadbeef写入0xdeadbeef@address 0x20010000接收到的监视命令:memU32 0x20010004=0xdeadbeef写入0xdeadbeef@address 0x20010004接收到的监视命令:memU32 0x20010008=0xdeadbeef写入0xdeadbeef@address 0x20010008接收到的监视命令:memU32 0x2001000c=0xdead10cc写入0xdead10cc@地址0x2001000c下载4字节@地址0x100C0050-验证接收到的监视器命令失败:sleep 100 sleep 100ms接收到的监视器命令:reset 0通过SYSRESETREQ和VECTRESET位重置核心和外围设备。接收到监视器命令:睡眠1睡眠1ms接收到监视器命令:停止停止目标CPU。。。目标已停止(PC=0x200000CA)下载地址0x50000024处的2个字节-已验证正常接收到监视器命令:loadbin/tmp/cli\u programmer\u IDqXYy,0x00000000加载二进制文件[/tmp/cli\u programmer\u IDqXYy]。。。下载30484字节@地址0x00000000-成功加载已验证的OK二进制文件(下载30484字节)接收到监视器命令:复位0通过SYSRESETREQ和VECTRESET位复位核心和外围设备。收到监视器命令:启动目标CPU。。。接收到监视器命令:reset 0通过SYSRESETREQ和VECTRESET位重置核心和外围设备。收到监视器命令:停止停止目标CPU。。。目标已停止(PC=0x0000076C)在地址0x0000018下载1字节-已验证正常,正在执行单个步骤。。。目标已停止(向量捕获,PC=0x0000076E)正在启动目标CPU。。。

cli_programmer输出:

SDK_10.0.4.66.2 /二进制文件$ ./cli_programmer gdbserver的为0x0 ../projects/dk_apps/demos/pxp_reporter/DA1469x-00-Debug_QSPI/pxp_reporter.bin cli_programmer 1.26版权所有(C)2015至19年Dialog半导体的byabo国际娱乐ootloader文件没有指定,使用内部uartboot.bin上传引导装载程序/应用程序可执行文件...可执行上传。

然后,它永远挂

设备:
PM_DIALOG.
离线
最后一次露面:21小时15分钟前
工作人员
加入:2018-02-08 11:03
嗨,鲁比考塞尔,

嗨,鲁比考塞尔,

能否请您按照下面的步骤,然后让我知道,如果你能固件下载到闪存QSPI?

  1. 运行program_qspi_config脚本并选择适当的配置。请参考9.4。配置smarnippets™写入已附加的文档的Flash。
  2. 运行该脚本ersase_qspi_jtag
  3. 执行program_qspi_jtag脚本。确保您已经从“项目资源管理器”中选择了项目。

谢谢,PM_DIALOG.

红宝石
离线
最后一次露面:1年4个月前
加入:2019年5月30日18:29
非常感谢你的帮助

非常感谢您的快速回复!

我已经使用参数执行了第1步:
- 产品编号:DA1469x-00
- 闪光的conf:MX25U3235F
- active_fw_image_addr:0x2000
- update_fw_image_address: 0 x2000

当运行过程中出现erase_qspi_jtag我得到同样的恒永远的问题,因为之前(pxp_reporter项目被选定为你在#3建议)。

这是SmartSnippets输出

........................................................................................................................ .. ..消除QSPI  .. ........................................................................................................................ .Copyright (c) 2015-2019 Dialog Semiconductoryabo国际娱乐 bootloader file not specified, using internal uartboot.bin Uploading bootloader /application executable…可执行文件上传。< here_it_hangs_forever或直到我拔下dev-kit >

我还附上:./SDK_10.0.4.66.2/utilities/python_scripts/qspi/jlink.log
我只是指出,gdbserver的命令行SYS “-device的Cortex-M0” 不 “的Cortex-M33”。那是正常的吗?

SEGGER的J-Link GDB服务器日志文件V6.44i开始记录@ 2019年6月17日17:25 03-00000000-00-00000000-0092:命令行: - 如果SWD -device的Cortex-M0 -endian小-SPEED 4000  - 选择USB = 483051972 -port 2331 -swoport 2332 -telnetport 2333 -log jlink.log 03-00000000-00-00000000-01A9:----- GDB服务器启动设置----- GDBInit文件:无GDB服务器侦听端口:2331 SWO原始输出监听端口:2332终端I / O端口:2333接受远程连接:yes生成日志文件:在验证下载:关闭初始化的REG上启动:关闭静音模式:关闭单次运行模式:关闭目标连接超时:0毫秒03-00000000-00-00000000-014C:------的J-Link相关的设置------ J-Link主机接口:USB的J-Link脚本:没有的J-Link设置文件:无------target相关设置------目标设备:的Cortex-M0目标接口:SWD目标接口速度:4000kHz目标尾数:小03-00000000-00-00000000-0001:03-00000000-00-00000028-0018:连接到的J-Link ... 02-00000000-00-00000030-003D:固件:J-林ķOB-SAM3U128 V3编译2019年1月7日14时06分26秒02-00000000-00-00000030-000F:设备:V3.00 02-00000000-00-00000031-000E:S / N:483051972 02-00000000-00-00000031-0032:TELNET监听套接字打开端口19021WEBSRV 02-00000000-00-00000031-0029:启动网络服务器(0003ms,0030ms总数)02-00000000-00-00000031-0055:T858FA700 000:028 WEBSRV Web服务器的本地端口19080上运行(0003ms, 0030ms total) 02-00000000-00-00000031-0037: T858FA700 000:028 returns O.K. (0003ms, 0030ms total) 03-00000000-00-00000031-0015: J-Link is connected. 02-00000000-00-00000031-00D3: T858FA700 000:031 JLINK_ExecCommand("device = Cortex-M0", ...). XML file found at: /home/axel/development/igw/git_clones/i1807-road-helmet-1/tools/JLink_Linux_V644i_x86_64/JLinkDevices.xml (0000ms, 0030ms total) 02-00000000-00-00000071-00D4: T858FA700 000:031 /home/axel/development/igw/git_clones/i1807-road-helmet-1/tools/JLink_Linux_V644i_x86_64/JLinkDevices.xml evaluated successfully.Device "CORTEX-M0" selected. returns 0x00 (0040ms, 0070ms total) 02-00000000-00-00000071-0045: T858FA700 000:071 JLINK_GetFirmwareString(...) (0000ms, 0070ms total) 03-00000000-00-00000071-003E: Firmware: J-Link OB-SAM3U128 V3 compiled Jan 7 2019 14:06:26 02-00000000-00-00000071-0053: T858FA700 000:071 JLINK_GetHardwareVersion() returns 0x7530 (0000ms, 0070ms total) 03-00000000-00-00000071-0010: Hardware: V3.00 03-00000000-00-00000071-000F: S/N: 483051972 02-00000000-00-00000072-004D: T858FA700 000:071 JLINK_GetHWStatus(...) returns 0x00 (0001ms, 0071ms total) 02-00000000-00-00000072-0040: T858FA700 000:072 JLINK_EnableSoftBPs(ON) (0000ms, 0071ms total) 03-00000000-00-00000072-001B: Checking target voltage... 03-00000000-00-00000072-0017: Target voltage: 3.30 V 03-00000000-00-00000072-001E: Listening on TCP/IP port 2331 03-00000000-00-00000072-0017: Connecting to target... 02-00000000-00-00000072-0039: T858FA700 000:072 JLINK_ClrError() (0000ms, 0071ms total) 02-00000000-00-00000072-004D: T858FA700 000:072 JLINK_GetHWStatus(...) returns 0x00 (0000ms, 0071ms total) 02-00000000-00-00000072-0059: T858FA700 000:072 JLINK_TIF_Select(JLINKARM_TIF_SWD) returns 0x00 (0000ms, 0071ms total) 02-00000000-00-00000072-003D: T858FA700 000:072 JLINK_SetSpeed(4000) (0000ms, 0071ms total) 02-00000000-00-00000072-0048: T858FA700 000:072 JLINK_GetSpeed() returns 0xA6B (0000ms, 0071ms total) 02-00000000-00-00000072-007B: T858FA700 000:072 JLINK_SetResetType(JLINKARM_RESET_TYPE_NORMAL) returns JLINKARM_RESET_TYPE_NORMAL (0000ms, 0071ms total) 02-00000000-00-00000072-003F: T858FA700 000:072 JLINK_SetResetDelay(0) (0000ms, 0071ms total) 02-00000000-00-00000072-0059: T858FA700 000:072 JLINK_SetEndian(ARM_ENDIAN_LITTLE) returns 0x00 (0000ms, 0071ms total) 02-00000000-00-00000076-01D3: T858FA700 000:072 JLINK_Connect() >0x10B TIF>Found SW-DP with ID 0x0BE12477 >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF>Scanning AP map to find all available APs >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF>AP[1]: Stopped AP scan as end of AP map has been reachedAP[0]: AHB-AP (IDR: 0x14770015) 03-00000000-00-00000180-0062: WARNING: Identified core does not match configuration. (Found: Cortex-M33, Configured: Cortex-M0) 02-00000000-00-00000180-01F2: Iterating through AP map to find AHB-AP to use >0x42 TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x42 TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF>AP[0]: Core foundAP[0]: AHB-AP ROM base: 0xE00FF000 >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF>CPUID register: 0x410FD212. Implementer code: 0x41 (ARM)Found Cortex-M33 r0p2, Little endian. 02-00000000-00-00000184-01F4: Identified core does not match configuration. (Found: Cortex-M33, Configured: Cortex-M0) -- Max. mem block: 0x00005890 -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @ 0xE0002000)FPUnit: 8 code (BP) slots and 0 literal slots -- CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- CPU_WriteMem(4 bytes @ 0xE0001000) -- CPU_ReadMem(4 bytes @ 0xE000ED88) -- CPU_WriteMem(4 bytes @ 0xE000ED88) 02-00000000-00-00000187-01DD: -- CPU_ReadMem(4 bytes @ 0xE000ED88) -- CPU_WriteMem(4 bytes @ 0xE000ED88) -- CPU_ReadMem(4 bytes @ 0xE000EFB8)Security extension: not implementedCoreSight components:ROMTbl[0] @ E00FF000 -- CPU_ReadMem(16 bytes @ 0xE00FF000) -- CPU_ReadMem(16 bytes @ 0xE000EFF0) -- CPU_ReadMem(16 bytes @ 0xE000EFE0) -- CPU_ReadMem(4 bytes @ 0xE000EFBC) -- CPU_ReadMem(4 bytes @ 0xE000EFCC)ROMTbl[0][0]: E000E000, CID: B105900D, PID: 000BBD21 Cortex-M33 -- CPU_ReadMem(16 bytes @ 0xE0001FF0) 02-00000000-00-00000190-01E8: -- CPU_ReadMem(16 bytes @ 0xE0001FE0) -- CPU_ReadMem(4 bytes @ 0xE0001FBC) -- CPU_ReadMem(4 bytes @ 0xE0001FCC)ROMTbl[0][1]: E0001000, CID: B105900D, PID: 000BBD21 DWT -- CPU_ReadMem(16 bytes @ 0xE0002FF0) -- CPU_ReadMem(16 bytes @ 0xE0002FE0) -- CPU_ReadMem(4 bytes @ 0xE0002FBC) -- CPU_ReadMem(4 bytes @ 0xE0002FCC)ROMTbl[0][2]: E0002000, CID: B105900D, PID: 000BBD21 FPB -- CPU_ReadMem(16 bytes @ 0xE00FF010) -- CPU_ReadMem(16 bytes @ 0xE0042FF0) -- CPU_ReadMem(16 bytes @ 0xE0042FE0) 02-00000000-00-00000192-019B: -- CPU_ReadMem(4 bytes @ 0xE0042FBC) -- CPU_ReadMem(4 bytes @ 0xE0042FCC)ROMTbl[0][6]: E0042000, CID: B105900D, PID: 000BBD21 CTI -- CPU_ReadMem(16 bytes @ 0xE0043FF0) -- CPU_ReadMem(16 bytes @ 0xE0043FE0) -- CPU_ReadMem(4 bytes @ 0xE0043FBC) -- CPU_ReadMem(4 bytes @ 0xE0043FCC)ROMTbl[0][7]: E0043000, CID: B105900D, PID: 000BBD21 MTB -- CPU_ReadMem(16 bytes @ 0xE00FF020) returns 0x00 (0120ms, 0191ms total) 02-00000000-00-00000192-00A6: T858FA700 000:192 JLINK_GetIdData(...) >0x0D TIF> >0x21 TIF> ScanLen=4 NumDevices=1 aId[0]=0x0BE12477 aIrRead[0]=0 aScanLen[0]=0 aScanRead[0]=0 (0000ms, 0191ms total) 02-00000000-00-00000192-004C: T858FA700 000:192 JLINK_GetDeviceFamily() returns 14 (0000ms, 0191ms total) 02-00000000-00-00000192-0051: T858FA700 000:192 JLINK_CORE_GetFound() returns 0xE0200FF (0000ms, 0191ms total) 02-00000000-00-00000192-0048: T858FA700 000:192 JLINK_IsHalted() returns FALSE (0000ms, 0191ms total) 02-00000000-00-00000195-0043: T858FA700 000:192 JLINK_Halt() returns 0x00 (0003ms, 0194ms total) 02-00000000-00-00000195-0047: T858FA700 000:195 JLINK_IsHalted() returns TRUE (0000ms, 0194ms total) 03-00000000-00-00000195-0014: Connected to target 03-00000000-00-00000195-001D: Waiting for GDB connection... 03-00000000-00-00000195-0017: Connected to 127.0.0.1 03-00000000-00-00000195-001D: GDB closed TCP/IP connection 03-00000000-00-00000305-0017: Connected to 127.0.0.1 00-0000000D-00-00000305-0016: $m00000214,00000005#A5 01-0000000D-00-00000306-0001: + 03-00000000-00-00000306-0025: Reading 5 bytes @ address 0x00000214 02-00000000-00-00000306-00A0: T76BFC700 000:306 JLINK_ReadMem (0x00000214, 0x0005 Bytes, ...) -- CPU_ReadMem(5 bytes @ 0x00000214) - Data: 44 42 47 50 01 returns 0x00 (0000ms, 0194ms total) 01-0000000D-00-00000306-000E: $4442475001#ff 00-0000000D-00-00000306-0017: +$m0000021C,00000004#B3 01-0000000D-00-00000306-0001: + 02-00000000-00-00000306-009D: T76BFC700 000:306 JLINK_ReadMem (0x0000021C, 0x0004 Bytes, ...) -- CPU_ReadMem(4 bytes @ 0x0000021C) - Data: 00 00 00 00 returns 0x00 (0000ms, 0194ms total) 03-00000000-00-00000306-0036: Read 4 bytes @ address 0x0000021C (Data = 0x00000000) 01-0000000D-00-00000306-000C: $00000000#80 00-0000000D-00-00000307-0001: + 00-0000000D-01-00000307-000E: 2458363634632c323a01ff234633 01-0000000D-00-00000307-0001: + 03-00000000-00-00000307-0029: Downloading 2 bytes @ address 0x0000664C 02-00000000-00-00000307-0098: T76BFC700 000:307 JLINK_WriteMem(0x0000664C, 0x0002 Bytes, ...) - Data: 01 FF -- CPU_WriteMem(2 bytes @ 0x0000664C) returns 0x02 (0000ms, 0194ms total) 01-0000000D-00-00000307-0006: $OK#9a 00-0000000D-01-00000307-0010: 2b24583232382c343a15000000234133 01-0000000D-00-00000307-0001: + 03-00000000-00-00000307-0029: Downloading 4 bytes @ address 0x00000228 02-00000000-00-00000307-009E: T76BFC700 000:307 JLINK_WriteMem(0x00000228, 0x0004 Bytes, ...) - Data: 15 00 00 00 -- CPU_WriteMem(4 bytes @ 0x00000228) returns 0x04 (0000ms, 0194ms total) 01-0000000D-00-00000307-0006: $OK#9a 00-0000000D-00-00000308-0001: + 00-0000000D-01-00000308-000F: 24583231632c343a01000000234239 01-0000000D-00-00000308-0001: + 03-00000000-00-00000308-0029: Downloading 4 bytes @ address 0x0000021C 02-00000000-00-00000308-009E: T76BFC700 000:308 JLINK_WriteMem(0x0000021C, 0x0004 Bytes, ...) - Data: 01 00 00 00 -- CPU_WriteMem(4 bytes @ 0x0000021C) returns 0x04 (0000ms, 0194ms total) 01-0000000D-00-00000308-0006: $OK#9a 00-0000000D-00-00000308-0006: +$s#73 01-0000000D-00-00000308-0001: + 03-00000000-00-00000308-001A: Performing single step... 02-00000000-00-00000310-0155: T76BFC700 000:308 JLINK_Step() -- CPU_ReadMem(2 bytes @ 0x00002FC2) -- CPU_ReadMem(4 bytes @ 0xE000ED18) -- CPU_WriteMem(4 bytes @ 0xE000ED18) -- CPU_ReadMem(4 bytes @ 0xE000ED18) -- CPU_WriteMem(4 bytes @ 0xE000ED18) -- CPU_ReadMem(4 bytes @ 0xE0001004) -- CPU_ReadMem(4 bytes @ 0xE000EE08) -- Simulated returns 0x00 (0002ms, 0196ms total) 02-00000000-00-00000310-0047: T76BFC700 000:310 JLINK_IsHalted() returns TRUE (0000ms, 0196ms total) 02-00000000-00-00000310-0054: T76BFC700 000:310 JLINK_ReadReg(R15 (PC)) returns 0x00002FC2 (0000ms, 0196ms total) 02-00000000-00-00000310-006E: T76BFC700 000:310 JLINK_GetMOEs(...) -- CPU_ReadMem(4 bytes @ 0xE000ED30) returns 0x01 (0000ms, 0196ms total) 03-00000000-00-00000310-002A: ...Target halted (DBGRQ, PC = 0x00002FC2) 01-0000000D-00-00000310-0017: $T05thread:0000DEAD;#74 00-0000000D-00-00000310-0006: +$c#63 01-0000000D-00-00000310-0001: + 03-00000000-00-00000310-0017: Starting target CPU... 02-00000000-00-00000310-0047: T76BFC700 000:310 JLINK_IsHalted() returns TRUE (0000ms, 0196ms total) 02-00000000-00-00000312-00C5: T76BFC700 000:310 JLINK_GoEx(MaxEmulInsts = -1, Flags = 0x00) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- CPU_WriteMem(4 bytes @ 0xE000ED30) -- CPU_WriteMem(4 bytes @ 0xE0001004) (0002ms, 0198ms total) 02-00000000-00-00000312-0048: T76BFC700 000:312 JLINK_IsHalted() returns FALSE (0000ms, 0198ms total) 02-00000000-00-00000333-0048: T76BFC700 000:332 JLINK_IsHalted() returns FALSE (0001ms, 0199ms total) 02-00000000-00-00000353-0048: T76BFC700 000:353 JLINK_IsHalted() returns FALSE (0000ms, 0198ms total) 02-00000000-00-00000374-0048: T76BFC700 000:373 JLINK_IsHalted() returns FALSE (0001ms, 0199ms total) 02-00000000-00-00000394-0048: T76BFC700 000:394 JLINK_IsHalted() returns FALSE (0000ms, 0198ms total) 02-00000000-00-00000415-0048: T76BFC700 000:414 JLINK_IsHalted() returns FALSE (0001ms, 0199ms total) 

PM_DIALOG.
离线
最后一次露面:21小时15分钟前
工作人员
加入:2018-02-08 11:03
嗨,鲁比考塞尔,

嗨,鲁比考塞尔,

你可以请检查跳线的配置?我的照片会非常有帮助。该uartboot.bin是为了加载应用程序二进制图象的次级引导加载程序。当设备启动,各软件代码将检查OTP,并且如果它不与次级引导加载程序腥黑穗病,所述uartboot.bin将被装入这是默认的配置。我不能看到你收到了]什么错。你重置板?此外,你可以请尽量擦除/编程通过UART的QSPI闪存?

谢谢,PM_DIALOG.

红宝石
离线
最后一次露面:1年4个月前
加入:2019年5月30日18:29
你好!

你好!

这是我的dev-kit的照片:https://drive.google.com/file/d/1NVgKlmbTPuT9DU0yS34o1FosYikG_K5y/view

UART擦除/编程:
我无法弄清楚如何删除和/或节目uart(如您要求我尝试)。
我能找到的所有信息是:HTTPS://www.xmece.com/sites/default/files/an-b-069-da1469 ...
但这只解释了该协议。
我假设在SDK之后有SW-工具(希望有些人入门指南?)?
你可以点我到一些相关的文件?

JTAG擦除/程序:
你能帮我clearify过程(或指向相关的文档),哪些部分是应该做的是什么?
这是这个过程中我的斑片状的猜测,到目前为止:

0. Python脚本启动GDB-Server并使用CLI_Programmer工具执行下面的操作
1.通过直接编写到RAM(类似于RAM-Debug-Session),JTAG附加并上传UartBoot.bin
2. JTAG(再次,因为我认为RAM调试做它)执行的SW-复位
3.从RAM uartboot.bin执行和做什么?
4.Uartboot以某种方式(?)执行“/ binary /cli_programmer”给出的命令,例如
——“chip_erase_all”或
-"program_flash"(在这种情况下,实际图像是如何传输的?通过虚拟串口(/dev/ttyACM0)或其他方式?

还是uartboot.bin被bootrom读取并执行(而不是上面的步骤1-3)?如果是,uartboot.bin是否传输槽/dev/ttyACM0 ->调试器usb到uart转换器-> da1469x引导uart?在PC端,什么工具负责这种沟通?

而问题4遗迹,一旦uartboot.bin开始,如何擦除/闪存命令转移到uartboot.bin程序在目标上运行?

非常感谢任何帮助
此致
阿克塞尔

PM_DIALOG.
离线
最后一次露面:21小时15分钟前
工作人员
加入:2018-02-08 11:03
嗨,鲁比考塞尔,

嗨,鲁比考塞尔,

让我检查你的问题,我会尽快回复你。

谢谢,PM_DIALOG.

红宝石
离线
最后一次露面:1年4个月前
加入:2019年5月30日18:29
谢谢你,非常感谢!

谢谢你,非常感谢!

红宝石
离线
最后一次露面:1年4个月前
加入:2019年5月30日18:29
好吧,我已经解决了!

好吧,我已经解决了!

我发现关于CLI-Programmer的文档(SDK_10.0.4.66.2 / doc / html / cli_programmer.html)能够从那里省略。

简短版本:这似乎在闪光造成GDB当前程序崩溃。一旦我想出如何cli_programmer串行工人,做

./cli_programmer的/ dev / ttyACM0 chip_erase_qspi

然后,我能够让JTAG闪存Python脚本工作成功编程图像。
如果别人运行到这一点,那么系列芯片擦除是你的朋友:)

细节(以防其他人想知道):

在cli_programmer使用strace的检查我用gdb的通信,并经过最后的“继续”命令发出gdbserver的干脆停止respondingMy命令

$ strace ./cli_programmer gdbserver read_qspi 0—10

GDBSERVER的输出(仅限最后两个命令)

执行单一步骤......目标暂停(矢量catch,pc = 0x0000076e)启动目标cpu ... <之后没有

strace cli_programmer的输出(#后的评论)

#--单步发送到(3,“$s#73”,5,0,NULL,0)=5个recvfrom(3,“+”,1,0,NULL,NULL)=1个recvfrom(3,“$T05thread:0000DEAD)#74“,132000,0,NULL,NULL)=23发送到(3,“+”,1,0,NULL,0)=1#——继续发送到(3,“$c#63”,5,0,NULL,0)=5 recvfrom(3,“+”,1,0,NULL)=1 recvfrom(3,<回复结束,永远等待一个永远不会到达的gdbserver回复>

在jlink.log中,我们看到了无尽的

02-0000000000-0048:T76BFC700 000:332 jlink_ishalted()返回假(0001ms,总计0199ms)

我猜:
gdbserver和从flash运行的程序之间存在某种时间竞争条件,导致调试器崩溃并挂起进程。擦除闪存消除了竞争(闪存中的胭脂程序和gdb之间)。

我的问题uartboot.bin解决索姆
一旦我进入一些CLI_Programmer示例,我也会管理我自己的问题。

UARBOOT.BIN由BOOT-ROM TROUGH启动串口(未在我第一次想到的情况下使用GDB上传)。
1.在cli_programmer的第一次执行它打开,并准备启动的seralport,然后要求用户按复位启动启动uartboot.bin的过程。
2.启动后,UARTBOOT.BIN留存(在调用和用于CLI_Programmer给出的命令的终端服务器之间)。
3.在CLI程序员的后续调用上,不需要启动/重置UartBoot.bin已在运行。

最终问题:
只是我不明白的最后一件事。
一个串口不JTAG模式在所有使用就我所看到的,所以为什么不会的cli_programmer需要JTAG版本上传uartboot.bin(我理解作品串行终端服务器)?

SDK_10.0.4.66.2 /二进制文件$ ./cli_programmer gdbserver的read_qspi 0  - 未指定10 cli_programmer 1.26版权所有(C)2015至2019年Dialog半yabo国际娱乐导体引导程序文件,使用内部uartboot.bin上传引导装载程序/应用程序可执行文件...可执行上传。00000000 50 70 00 20 00 00 00 20 00 00 PP。... ..

此致
阿克塞尔

PM_DIALOG.
离线
最后一次露面:21小时15分钟前
工作人员
加入:2018-02-08 11:03
嗨,鲁比考塞尔,

嗨,鲁比考塞尔,

很高兴你认为你发出了发出并感谢您的详细迹象。

你能澄清你最后一个问题吗?正如我在我之前的注释中提到的那样,UartBoot.bin是一个辅助引导程序,以便加载应用程序二进制图像。

谢谢,PM_DIALOG.

红宝石
离线
最后一次露面:1年4个月前
加入:2019年5月30日18:29
你好

你好

是的,在通过UART加载应用程序映像的情况下(cli_programmer /dev/ttyACM0…)然后uartboot通过UART接收应用程序并将其编程到QSPI-flash。到目前为止,我跟得上你。

但在其他情况下,在JTAG(CLI_Programmer Gdbserver ......)上加载应用程序,那么uartboot.bin的目的是什么?
难道还要负责也许闪烁?喜欢:
1. JTAG上传应用图像RAM
2. uartboot.bin copys从RAM到Flash(通过JTAG某种程度上触发)?

这些是低级细节,我认为不是很重要,如果你碰巧从头顶知道的话,我只是好奇:)

此致
阿克塞尔

PM_DIALOG.
离线
最后一次露面:21小时15分钟前
工作人员
加入:2018-02-08 11:03
嗨,鲁比考塞尔,

嗨,鲁比考塞尔,

由于uartboot.bin是他中间的引导加载器与目标通信cli_programmer用途。该uartboot固件将自动检测设备的变体。该uartboot被一直使用作为二次引导程序,以便将二进制的图像加载到该设备。

谢谢,PM_DIALOG.