qspi通过jtag写入时出现图像格式错误

3个员额/0个新员额
最后一篇文章
基诺
离线
最后一次见到:2年6个月前
加入:2016-04-30 23:01
qspi通过jtag写入时出现图像格式错误

你好

我将da14681 DevKit Pro与最新SDK(DA1468x SDK BTLE v1.0.6.968)和SmartSnippets Studio v1.2.3.576 Linux x86-64)一起用于arch Linux。
我已经把它编译好了,试着把它写到Flash上。
不幸的是出了问题。
我忘了什么吗?我想构建过程是错误的或不完整的。

我也可以上传编译过的bin文件。

.......................................................................................................................
..
…通过JTAG进行QSPI编程
..
.......................................................................................................................
.
使用id为483000838的设备
483000838设备的闪存编程
/home/alex/DiaSemi/workspace/binaries/cli_programmer--cfg/tmp/tmp.jsP0gQw76N--prod id DA14681-00--enable uart y--ram shuffling 0 gdbserver write_qspi_exec/home/alex/DiaSemi/workspace/projects/dk_apps/templates/freertos_retarget/DA14681-00-Release_qspi/freertos_retarget.bin
SEGGER J-Link Commander V6.10(编译于2016年9月14日16:46:27)
DLL版本V6.10,于2016年9月14日编译16:46:16

脚本文件读取成功。
正在处理脚本文件。。。

J-Link连接尚未建立,但命令需要。
通过USB连接到J-Link…好的。
固件:J-Link OB-SAM3U128 V3已编译2016年7月5日08:42:14
硬件版本:V3.00
序列号:483000838
许可证:RDI
VTref=3.300V

睡眠(1000)

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

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

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

找到ID为0x0BB11477的SWD-DP
AP-IDR:0x04770021,类型:AHB-AP
发现皮质-M0R0P0,小端部。
FPUnit:4个代码(BP)插槽和0个文字插槽
CoreSight组件:
ROMTbl 0@E00FF000
ROMTbl 0[0]:FFF000,CID:B105E00D,PID:000BB008 SCS
ROMTbl 0[1]:FFF02000,CID:B105E00D,PID:000BB00A DWT
ROMTbl 0[2]:FFF03000,CID:B105E00D,PID:000BB00B FPB
皮层-M0被识别。
写入死牛肉->07FD0000

写入死牛肉->07FD0004

写入死牛肉->07FD0008

写入死区10cc->07FD000C

写入00000001->400C3050

睡眠(1000)

重置延迟:0毫秒
复位类型正常:通过SYSRESETREQ和VECTRESET位复位核心和外围设备。
SYSRESETREQ混淆了核心。正在尝试重新连接并使用向量集。
找到ID为0x0BB11477的SWD-DP
AP-IDR:0x04770021,类型:AHB-AP
发现皮质-M0R0P0,小端部。

PC=07F01E8A,CycleCnt=00000000
R0=00000008,R1=50003300,R2=00000001,R3=E000E1FF
R4=00000002,R5=00000000,R6=00000004,R7=00000000
R8=FFFFFFFF,R9=FFFFFFFF,R10=FFFFFFFF,R11=FFFFFFFF
R12=FFFFFFFF
SP(R13)=07FE0410,MSP=07FE0410,PSP=FFFFFFF C,R14(LR)=07F00443
XPSR=01000000:APSR=nzcvq,EPSR=01000000,IPSR=000(无例外)
CFBP=00000000,CONTROL=00,FAULTMASK=00,BASEPRI=00,PRIMASK=00

脚本处理已完成。

写入可执行文件失败:无效的图像格式(-340)
cli_编程器1.22
版权所有(c)2016 Dialog yabo国际娱乐Semiconductor

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

(进程:1170):Gtk警告**:C库不支持区域设置。
使用回退“C”区域设置。
Gtk消息:GtkDialog映射时没有临时父级。不建议这样做。
清理。。。
.
.......................................................................................................................
..
.. 完了!
..
.......................................................................................................................

先谢谢你。

顺致敬意,
亚历克斯

设备:
基诺
离线
最后一次见到:2年6个月前
加入:2016-04-30 23:01
您好,

您好,

它现在正在工作:

我有芯片版本01,但误以为是版本00。

为什么?因为UM-B-047中的第5.1.2章:
注意:SmartSnippets DA1468x SDK通过使用不同的
构建配置。AQFN60包(图2,a)使用的名称是DA14680/1-
00,WLCSP包(图2,b)为DA14680/1-01。

在检查cli_程序员的programmer.c时,我发现:
如果((strcmp(产品id,“DA14681-00”)==0)|(strcmp(产品id,“DA14680-00”)==0)){
if(芯片修订版){
strncpy(芯片修订版,“680AD”,芯片修订版);
}
返回0;
}
如果((strcmp(产品id,“DA14681-01”)==0)| |(strcmp(产品id,“DA14680-01”)==0)){
if(芯片修订版){
strncpy(芯片修订版,“680AH”,芯片修订版);
}
返回0;
}

命令
./cli\u程序员/dev/ttyUSB0读取芯片信息
结果:

芯片信息:
芯片修订=680AH
芯片id(从otp读取)=14681AE
芯片组=aQFN60

所以我知道我的修订是01而不是00。

我是否误解了UM-B-047中的第5.1.2章?
如果没有,重新编写该章可能会有所帮助。

顺致敬意,
亚历克斯

MT_对话框
离线
最后一次见到:2个月1周前
工作人员
加入:2015-06-08 11:34
你好,杰诺,

你好,杰诺,

不,您没有误解文档,Smart Snippet确实支持这两种配置,您只需为您拥有的芯片版本选择正确的构建,并拥有正确的配置(程序_qspi _config _win),只需确保配置和构建设备匹配即可。

谢谢你的对话