程序QSPI Flash DA1469X USB-套件

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

你好!

我是一个试图熟悉smarsnippets开发环境的新用户。我使用:

dev-kit:DA14695-00HQDEVKT-U
SDK:SDK_10.0.4.66.2.
jlink:JLink_Linux_V644i_x86_64
SmartSnippets:SmartSnippetsStudio2.0.8

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

现在我想把“pxp-reporter”闪到开发工具包中,但我不能让它工作。
我尝试了两种方法(见下文)都没有结果。

一般的问题:
-我不理解flash过程本身(什么目的的uartboot.bin举例?)这有记录吗?
-我做错了吗?有更好的闪光方式吗?

非常感谢你的帮助。

Method1:
下列的:http://lpccs-docs.dialog-semicondiondumon.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#build-adv-ble-in-debug-qspi配置

Step1:我使用Debug_QSPI构建配置构建二进制文件
step2:我使用运行 - >外部工具 - > program_qspi_jtag并获得以下输出

........................................................................................................................ .. ..程序QSPI  .. ........................................................................................................................ . ........................................................................................................................ .. ..编程的形象  .. ........................................................................................................................版权所有(c) 2015-2019 Dialog Semiconductor bootlyabo国际娱乐oader文件未指定,使用内部uartboot.bin

然后它永远挂着

方法2:
然后我尝试使用直接启发的命令行工具:sdk_10.0.4.66.2 / doc / html / cli_progrogmer.html
我找不到任何关于GDB-server参数的文档(是否有这样的文档我找不到?),但我从SmartSnippets调用中获取参数并启动gdbserver,如下所示:

GDB-server输出:

JLink_Linux_V644i_x86_64 / / JLinkGDBServer如果门限设备Cortex-M33尾数法- speed 8000 - port 2331 -swoport 2332 -telnetport 2333 vd红外-localhostonly 1日志jlink.log -singlerun严格超时0 -nogui rtos GDBServer / RTOSPlugin_FreeRTOS耐火J-Link GDB服务器V6.44i命令行版本JLinkARM.dll V6.44i (DLL编制2019年5月17日17:37:26)命令行:-if swd -device cortx - 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 -----GDB Server启动设置----- GDBInit file: none GDBServer监听端口:2331 SWO原始输出监听端口:2332终端的I / O端口:2333年接受远程连接:localhost只生成日志文件:验证下载:在初始化规则的开始:在静默模式:从单一经营模式:在目标连接超时:0——J-Link相关设置女士J-Link主机接口:USB J-Link脚本:没有J-Link设置文件:无------目标相关设置------目标设备:Cortex-M33目标接口:SWD目标接口速率:8000kHz目标端:little连接到J-Link…J-Link连接。硬件:V3.00 S/N: 483051972检查目标电压…Target voltage: 3.30 V TCP/IP port 2331 Listening on TCP/IP port 2331 Connecting to Target…连接到目标正在等待GDB连接…连接到127.0.0.1 Received monitor command: clrbp Received monitor command: reset 0通过SYSRESETREQ和VECTRESET位复位核心和外设。接收到monitor命令:sleep 10 sleep 10ms接收到monitor命令:halt暂停目标CPU... ...Target stopped (PC = 0x0000076C) Received monitor command: memU32 0x20010000 = 0xdeadbeef Writing 0xdeadbeef @ address 0x20010000 Received monitor command: memU32 0x20010004 = 0xdeadbeef Writing 0xdeadbeef @ address 0x20010004 Received monitor command: memU32 0x20010008 = 0xdeadbeef Writing 0xdeadbeef @ address 0x20010008 Received monitor command: memU32 0x2001000c = 0xdead10cc Writing 0xDEAD10CC @ address 0x2001000C Downloading 4 bytes @ address 0x100C0050 - Verify failed Received monitor command: sleep 100 Sleep 100ms Received monitor command: reset 0 Resets core & peripherals via SYSRESETREQ & VECTRESET bit. Received monitor command: sleep 1 Sleep 1ms Received monitor command: halt Halting target CPU... ...Target halted (PC = 0x200010CA) Downloading 2 bytes @ address 0x50000024 - Verified OK Received monitor command: loadbin /tmp/cli_programmer_IDqXYy, 0x00000000 Loading binary file [/tmp/cli_programmer_IDqXYy] ... Downloading 30484 bytes @ address 0x00000000 - Verified OK Binary file loaded successfully (30484 bytes downloaded) Received monitor command: reset 0 Resets core & peripherals via SYSRESETREQ & VECTRESET bit. Received monitor command: go Starting target CPU... Received monitor command: reset 0 Resets core & peripherals via SYSRESETREQ & VECTRESET bit. Received monitor command: halt Halting target CPU... ...Target halted (PC = 0x0000076C) Downloading 1 bytes @ address 0x00000218 - Verified OK Performing single step... ...Target halted (Vector catch, PC = 0x0000076E) Starting target 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-2019对话半导体Bootloayabo国际娱乐der文件未指定,使用内部UARTBOOT.BIN上传引导加载程序/应用程序可执行文件...可执行文件上传。

然后它永远挂着

设备:
PM_DIALOG.
离线
最后一次露面:4天11小时前
工作人员
加入:2018-02-08 11:03
嗨rubicoaxel,

嗨rubicoaxel,

您可以请按照以下步骤操作,然后让我知道是否能够将固件下载到QSPI Flash?

  1. 运行program_qspi_config脚本并选择相应的配置。请参阅9.4。配置SmartSnippets™以写入附加的文档的闪存。
  2. 运行ersase_qspi_jtag脚本
  3. 执行program_qspi_jtag脚本。确保您已从“Project Explorer”中选择了项目

谢谢,PM_DIALOG.

rubicoaxel
离线
最后一次露面:1年4个月前
加入:2019-05-30 18:29
非常感谢你的

非常感谢您的快速回复!

我已经使用参数执行了步骤1:
- 产品ID:DA1469X-00
- Flash Conf:MX25U3235F
- Active_fw_image_addr: 0 x2000
- update_fw_image_address:0x2000

当runnig erase_qspi_jtag时,我获得与之前相同的挂起问题(按照您在#3中建议选择pxp_reporter项目)。

这是SmartSnippet中的输出

........................................................................................................................ .. ..ERASE QSPI .. ........................................................................................................................ . cli_programmer 1.26 Copyright (c) 2015-2019 Dialog Semiconductor bootloader file not specified, using internal uartboot.bin Uploading boot loader/application executable... Executable uploaded. 

我还附加了:./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.
离线
最后一次露面:4天11小时前
工作人员
加入:2018-02-08 11:03
嗨rubicoaxel,

嗨rubicoaxel,

您可以查看跳线的配置吗?我照片会非常有帮助。UARTBOOT.BIN是辅助引导加载程序,以便加载应用程序二进制图像。当设备靴子时,BootROM代码将检查OTP,如果它没有使用辅助引导程序,则将加载UARTBOOT.BIN,这是默认配置。我在你得到的消息中看不出任何错误。你重置了董事会吗?此外,您可以尝试通过UART擦除/程序QSPI闪存吗?

谢谢,PM_DIALOG.

rubicoaxel
离线
最后一次露面:1年4个月前
加入:2019-05-30 18:29
你好!

你好!

这是我的开发工具包的照片:https://drive.google.com/file/d/1nvgklmbtput9du0ys34o1fosyikg_k5y/view.

UART删除/程序:
我不知道如何擦除和/或程序通过UART(如你要求我尝试)。
我能找到的信息只有https://www.dialog-seminile.com/sites/default/files/an-b-069-da1469 ...
但这只能解释协议。
我假设有sw工具(希望有一些入门指南?)
你能指出一些相关文件吗?

JTAG删除/程序:
你能帮我清除这个过程(或指向相关文件),应该做些什么部分做什么?
到目前为止,这是我对这个过程的拼写猜测:

0.Python-script启动gdb-server并使用cli_programmer工具执行以下操作
1.JTAG通过直接写入RAM来附加并上传uartboot.bin(类似于RAM-debug-session)
2. JTAG执行SW-RESET(再次,因为我认为RAM-Debug它)
3. uartboot.bin从RAM执行并做什么?
4. uartboot以某种方式(?)执行“ /二进制/ cli_programmer”给出的命令,例如
- “chip_erase_all”或
- “program_flash”(在这种情况下,实际图像如何传输?横槽虚拟串口(/ dev / ttyacm0)或其他一些手段?

或者是uartboot.bin由bootrom读取和执行(而不是上面的步骤1-3)?如果是这样,是UARTBOOT.BIN传送的槽/ dev / ttyacm0 - >调试器USB到UART转换器 - > DA1469X BOOT UART?PC侧的工具是负责该沟通的责任吗?

问题4仍然存在,一旦启动了uartboot.bin,删除/ flash命令如何转移到目标上运行的uartboot.bin程序?

非常感谢任何帮助
致以最亲切的问候
阿克塞尔

PM_DIALOG.
离线
最后一次露面:4天11小时前
工作人员
加入:2018-02-08 11:03
嗨rubicoaxel,

嗨rubicoaxel,

让我查一下您的问题,然后尽快给您答复。

谢谢,PM_DIALOG.

rubicoaxel
离线
最后一次露面:1年4个月前
加入:2019-05-30 18:29
非常感谢坦克你!

非常感谢坦克你!

rubicoaxel
离线
最后一次露面:1年4个月前
加入:2019-05-30 18:29
好的,我已经解决了它!

好的,我已经解决了它!

我发现关于cli_programmer的文档(SDK_10.0.4.66.2/doc/html/ cli_programer .html)能够从那里找到它。

短版:似乎目前的闪光程序导致GDB崩溃。一旦我弄清楚cli_programmer序列工作者如何

./cli_programmer / dev / ttyacm0 chip_erase_qspi

然后,我能够得到JTAG flash python脚本,以成功地对图像进行编程。
如果其他人遇到过这个,那么串行芯片擦除是你的朋友:)

细节(如果有人奇迹):

在CLI_Programmer上使用strace我检查了与gdb的通信,并且在最终“继续”命令后发出gdbserver,只是停止响应my命令

Axel @ Axel $ SDK_10.0.4.66.2 /二进制$ scrace ./cli_programmer gdbserver read_qspi 0  -  10

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

执行单个步骤... ...Target stopped (Vector catch, PC = 0x0000076E) Starting Target CPU…< >后什么也没有

strace cli_programmer的输出(我在#后面的注释)

#——单步sendto(3 # 73美元“5、0,NULL, 0) = 5 recvfrom (3 " + " 1 0 NULL, NULL) = 1 recvfrom(3“T05thread美元:0000人死亡;# 74”,132000年,0,NULL, NULL) = 23 sendto (3 " + " 1 0 NULL, 0) = 1 #——继续sendto (3 c # 63美元“5、0,NULL, 0) = 5 recvfrom (3 " + " 1 0 NULL, NULL) = 1 recvfrom(3, <回复,永远等待一个gdbserver应答,而这个应答永远不会到达>

在jlink。log里,我们看到了无穷无尽的

02- 00000000000 -00-00000333-0048: T76BFC700 000:332 JLINK_IsHalted()返回FALSE (0001ms, 0199ms total)

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

解决了我的问题uartboot.bin的som
我也设法回答我自己的问题,一旦我有se一些cli_programmer的例子。

bin是通过串口引导的(不是我最初认为的使用GDB上传的)。
1.在第一次执行CLI_Programmer时,它打开并准备Seralport for Boot,然后询问用户按RESET启动启动UartBoot.bin的进程。
2.一旦启动,uartboot.bin将继续执行(在调用之间,并作为cli_programmer给出的命令的终端服务器工作。
3.在cli程序员的后续调用中,不需要启动/重置uartboot.bin,它已经在运行。

最后一个问题:
还有一件事我不明白。
据我所知,SerialPort不是在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对话框半导体引导加载yabo国际娱乐程序未指定的文件,使用内部uartboot.bin上传引导加载程序/应用程序可执行文件...可执行文件上传。00000000 50 70 00 20 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PP。......

致以最亲切的问候
阿克塞尔

PM_DIALOG.
离线
最后一次露面:4天11小时前
工作人员
加入:2018-02-08 11:03
嗨rubicoaxel,

嗨rubicoaxel,

很高兴你发现了你的问题,谢谢你的详细指示。

你能把最后一个问题说清楚吗?正如我在前面的评论中提到的,uartboot.bin是用于加载应用程序二进制映像的辅助引导加载程序。

谢谢,PM_DIALOG.

rubicoaxel
离线
最后一次露面:1年4个月前
加入:2019-05-30 18:29
这就跟你问声好!

这就跟你问声好!

是的,在加载应用程序 - 图像槽UART(CLI_Programmer / dev / ttyacm0 ...)的情况下,Uartboot会通过UART接收应用程序并将其编程到QSPI-Flash。到目前为止我和你在一起。

但是在另一种情况下,通过JTAG加载应用程序(cli_programmer gdbserver…),那么uartboot.bin的目的是什么?
它仍然负责闪烁吗?喜欢:
1. JTAG将应用程序图像上传到RAM
2. uartboot.bin(由jtag以某种方式触发)copys从RAM到Flash?

这些都是低级细节,我想我并不重要,我只是好奇你是否碰巧知道了。

致以最亲切的问候
阿克塞尔

PM_DIALOG.
离线
最后一次露面:4天11小时前
工作人员
加入:2018-02-08 11:03
嗨rubicoaxel,

嗨rubicoaxel,

作为uartboot.bin是他中间bootloader,cli_programmer用于与目标通信。UARTBOOT固件将自动检测设备变体。UARTBOOT作为辅助引导程序使用,以便将二进制图像加载到设备。

谢谢,PM_DIALOG.