DA14681如何支持SPI Flash MX25R1635F

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
10个帖子/ 0个新
最后发表
提到
离线
最后看到:6天6小时前
加入:2017-05-12 04:18
DA14681如何支持SPI Flash MX25R1635F

嗨,对话框
我们想在MX25R1635F运行应用程序代码与DA14681基本devkit。我们已经在硬件上用MX25R1635F替换了主板默认的flash W25Q08EW。现在它可以下载代码到MX25R1635F与SmartSnippets,但它不能很好地工作。我们应该修改一些配置文件或改变一些bootloader?请给我们一些指导。

设备:
PM_Dialog
离线
最后看到:2天1小时前
工作人员
加入:2018-02-08 11:03
嗨提到,

嗨提到,

DA1468x SDK驱动子系统目前支持一组特定的QSPI flash设备,不支持MX25R1635F。但是,它也提供了添加对其他flash设备的支持的功能。我强烈建议你去看看10.2.1.7增加对新flash设备的支持的部分UM-B-044用户手册:DA1468x软件平台参考(HTML)用户手册。您可以从我们的DA1468x支持门户下载该用户手册。你是否遵循了这份文件中描述的程序?另外,你能说明一下它工作得很好吗?设备正确启动?如果你读到闪存的第一个地址0 x08000000然后必须提取qQ价值。要做到这一点,只需运行一个调试会话并暂停代码执行。然后在内存浏览器显示窗口(如果没有显示到菜单工具窗口->ShowView->MemoryBrowser)写上述地址。这是一种检查flash正确功能的方法。

谢谢,PM_Dialog

提到
离线
最后看到:6天6小时前
加入:2017-05-12 04:18
嗨,PM_Dialog

嗨,PM_Dialog
我认为我们已经完成了文件“UM-B-044用户手册:DA1468x软件平台参考—10.2.1.7添加对新flash设备章节的支持”中描述的必要程序。我们做了如下工作:
1.准备"qspi_mx25r1635f.h",并添加了几个宏,如"#define dg_configFLASH_MANUFACTURER_ID MACRONIX_ID…#define dg_configFLASH_HEADER_FILE "qspi_mx25r1635.h"…" in " custom_config_qspi_mx25r1635 .h"…"相关配置文件请检查附件文件。

2.构建“uartboot”项目

3.构建“cli_programmer”项目,“libprogrammer”项目

4.构建应用程序项目并执行“program_qspi_jtag_win”,但是控制台打印如下信息:
"///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
配置保存到C:\Users\ADMINI~1\AppData\Local\Temp\cfg_2779.ini文件。
E: \ DebugProject \ \ qspi DA1468x_SDK_BTLE_v_1.0.8_prj \工具\脚本 >"..\..\..\ 二进制文件\ cli_programmer.exe”——cfg " C: \ \高级用户~ 1 \ AppData \当地\ Temp \ cfg_2779.ini”——prod-id DA14681-01 gdbserver write_qspi_exec“E: \ DebugProject \ DA1468x_SDK_BTLE_v_1.0.8_prj \ \项目dk_apps \ templates \ freertos_retarget \ DA14681-01-Release_QSPI \ freertos_retarget.bin”
cli_programmer 1.23
版权所有(c) 2016 Dialog雷竞技电竞平台 Semiconductor

未指定引导加载程序文件,使用内部uartboot.bin

写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写地址:0x00000000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x0失败。重试…
写入qspi失败。中止。
写可执行文件失败:未知错误(1)
""///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

我们在sdk1.0.12上做了上述测试。
但是我们可以在不改变驱动子系统(使用w25q08e默认驱动)的情况下成功下载sdk1.0.6上的图像,sdk1.0.6上的控制台信息:
////////////////////////////////////////////////////////////////////////////////////
脚本文件读取成功。
处理脚本文件…
J-Link连接尚未建立,但需要命令。
通过USB连接到J-Link
固件:J-Link V9编译Apr 21 2017 11:08:06
硬件版本:V9.40
S / N: 59410355
许可:RDI, GDB, FlashDL, FlashBP, JFlash
VTref = 3.332 v

睡眠(1000)

选择4000 kHz作为目标接口速度

选择SWD作为当前目标接口。

目标连接尚未建立,但命令需要。
设备“CORTEX-M0”选中。

找到ID为0x0BB11477的SW-DP
美联社预选。假设AP[0]是AHB-AP
AP-IDR: 0x04770021,类型:AHB-AP
AHB-AP ROM: 0xE00FF000(基地地址。第一个ROM表)
找到了皮质m0r0p0,小端部。
FPUnit: 4个编码(BP)槽和0个字面值槽
CoreSight组件:
ROMTbl [0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B fbb
Cortex-M0确认。
写死牛肉-> 07FD0000

写DEADBEEF -> 07FD0004

写DEADBEEF -> 07FD0008

写DEAD10CC -> 07FD000C

写00000001 -> 400C3050

睡眠(1000)

复位延迟:0ms
Reset type NORMAL:通过SYSRESETREQ和VECTRESET位重置核心和外设。

PC = 07F01E8A, CycleCnt = 00000000
R0 = 00000008, r1 = 50003300, r2 = 00000001, r3 = e000e1ff
R4 = 00000002, r5 = 00000000, r6 = 00000004, r7 = 00000000
R8 = ffffff, r9 = ffffff, r10 = ffffff, r11 = ffffff
R12 = FFFFFFFF
Sp (r13)= 07fe0410, msp = 07fe0410, psp = fffffffc, r14 (lr)= 07f00443
XPSR = 01000000: APSR = nzcvq, EPSR = 01000000, IPSR = 000 (NoException)
CFBP = 00000000, control = 00, faultmask = 00, basepri = 00, primask = 00

脚本处理完成。

cli_programmer 1.22
版权所有(c) 2016 Dialog雷竞技电竞平台 Semiconductor

未指定引导加载程序文件,使用内部uartboot.bin

写地址:0x00000000偏移量:0x00000000 chunk大小:0x00001000
写地址:0x00000000偏移量:0x00001000 chunk大小:0x00001000
写地址:0x00000000偏移量:0x00002000 chunk大小:0x00001000
写地址:0x00000000偏移量:0x00003000 chunk大小:0x00001000
...
写地址:0x00000000偏移量:0x00018000块大小:0x00001000
写地址:0x00000000偏移量:0x00019000 chunk大小:0x00000a70
写地址:0x00000000偏移量:0x00000000 chunk大小:0x00000002
完成了。

.......................................................................................................................
..
..完成了
..
..................................................................................................
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
然而,它不能正确引导,卡在printf“DA14681-01…DA14681-01…”.我认为这是sdk1.0.6不支持添加新的flash。

等待你的回答,谢谢!

提到
离线
最后看到:6天6小时前
加入:2017-05-12 04:18
顺便说一下,为什么是sdk1.0.12

顺便说一下,为什么sdk1.0.12下载块大小是0x2000,而sdk1.0.6块大小是0x1000。
而根据“AN-B-045_QSPI_loader_SupportingFiles”,DA14681支持MX25RXX35F系列QSPI flash设备,为什么还要添加配置文件来支持呢?

PM_Dialog
离线
最后看到:2天1小时前
工作人员
加入:2018-02-08 11:03
嗨提到,

嗨提到,

对不起,你的描述让我有点困惑。当您使用SDK1.0.12时,您能够编程MX25R1635F SPI flash,但DA14680不引导?但是当你使用SDK SDK1.0.6时,你不能编程SPI Flash?注意,SDK的当前版本是版本1.0.14。你正在工作的SDK版本是相当老的版本的SDK,你不再支持他们了。因此,我强烈建议您使用最新版本的od SDD,并从我们的支持门户下载它。你能解释一下你的代码在哪里卡住了吗?滴滴,你按照我之前文章中描述的程序来确保SPI flash工作良好吗?另外,你可以使用智能片段工具箱读/写SPI flash吗?

谢谢,PM_Dialog

提到
离线
最后看到:6天6小时前
加入:2017-05-12 04:18
嗨,对话框

嗨,对话框
你能给我们一些关于MX25R1635F在DA14681上如何使用的建议吗?

提到
离线
最后看到:6天6小时前
加入:2017-05-12 04:18
嗨,PM_Dialog

嗨,PM_Dialog
1.SDK1.0.6:下载成功,但启动不成功。
SDK1.012:下载不成功,不能启动。
2.当使用SDK1.0.6时,在烧录映像后,它在运行调试会话时不能以cpu为目标。这样我们就找不到代码卡在哪里了。读取flash内存第一个地址0x08000000失败。
3.我们不能读取/写入MX25R1635F使用智能片段工具箱。
谢谢!

PM_Dialog
离线
最后看到:2天1小时前
工作人员
加入:2018-02-08 11:03
嗨提到,

嗨提到,

请问SPI flash驱动还有什么问题吗?

谢谢,PM_Dialog

提到
离线
最后看到:6天6小时前
加入:2017-05-12 04:18
嗨,对话框

嗨,对话框
问题依然存在。使用SmartSinppets时,SDK1.0.6可以烧坏mx25r1635f,但SDK1.0.12失败。当使用其软件版本为4.4.3.1420的工具箱时,它可以读写flash,但在较新的版本4.8.3.1804中失败。似乎只有旧的sdk或工具箱可以支持mx25r1635f。

PM_Dialog
离线
最后看到:2天1小时前
工作人员
加入:2018-02-08 11:03
嗨提到,

嗨提到,

我们从来没有测试过mx25r1635f闪光灯,我已经提到过了。但是我会问团队最新版本的SKS和工具箱是否有问题,有了合适的答案我会尽快回复你。

谢谢,PM_Dialog