sdk3.0.6
通过串口(P04 P05)烧写OTP(已经确保接线正常)供电采用1.2 v,曾经也用1.2 v烧写过,OTP完全没问题。
但现在通过SmartSnippet——OTP烧写页面,点击连接之后,(该过程是将programmer_ES5.bin通过串口烧写入da14580,此时vpp还没有接6.8 v,我们没有复位引脚,采用断电上电的方式代替复位)
现象如下:
[INFO @16-09-09 16:04:33]已检测到复位
[INFO @16-09-09 16:04:34]成功断开COM31端口连接。
[INFO @16-09-09 16:04:44]成功下载固件文件到单板。,此时已经过去10年代,貌似没有成功的烧写如da14580吗?附件为两次烧写记录的日志。
麻烦帮忙看下到底为什么?
(先前接线、烧写流程,整体都验证过是可以烧写的,不知道有没有哪里不正确,请指出,谢谢)。
此外有另外一个问题:
采用版本sdk 3.0.10
关于测试模式中晶振校准的问题:
晶振输出口默认为P05口,是否能将P04 P06映射为(TX, RX)来通信吗?
修改dk_apps \ keil_projects \ prod_test \ prod_test下的工程将tx, rx设置为p04, p06,然后直接通过jlink调试,现象:可以正常通信。
prodtest - p 41 xtrim en可以从p05检测到16米晶振
另外一种方式:
使用命令行通过jlink将dk_apps \ keil_projects \ prod_test \ prod_test工程生成的十六进制文件烧写入da14580,示例如下
smartsnipts .exe -type bootter -chip DA14580-01 -jtag 123456 -gpio P0_1 -uart P0_4 -file cust_prod_test_ES5. exe -type bootter -chip DA14580-01 -jtag 123456 -gpio P0_1 -uart P0_4 -file cust_prod_test_ES5. exe十六进制,该十六进制为修改tx rx为p04, p06的固件。
prodtest - p 41 xtrim en命令下发后,过一会儿得到返回值9(超时)。
请问:怎么用串口通过命令行直接烧写可用的cust_prod_test_ES5。十六进制?
这位仁兄你遇到的问题和我一样,期待对话框工程师的帮助!谢谢!
1 .从日志看,UARTbooting的过程没拿到长度信息,导致booting 失败。具体可以参考AN-B-001.pdf. 是不是UART IO上电压太低了?
2 .“通过串口(P04 P05)烧写OTP(已经确保接线正常)供电采用1.2 v,曾经也用1.2 v烧写过,OTP完全没问题。”
这个不对啊,OTP的烧写没VPP上6.8 v是写不进去的。你确定写进去又读出来验证过吗?
3.UART引导的GPIO默认只能有4组选择。所以引导还是只能由P04 / P05开始。在代码下进去之后,利用01 FD 40 04 XX XX XX XX去修改之后的UART TX / RX。其实就是调用底层的
的hci_change_uart_pins_cmd命令。Smartsnippets里面没看到直接可以修改的指令
嗨对话框:
关于1:采用1.2 v供电,da14580的tx rx电平为2.6 v左右,串口芯片采用的是3.0 v供电,不知道这样是否可以,另外,如何解决IO口电平太低的问题(芯片供电最大不能超过2.0 v最好不要超过1.8 v) ?
关于2:通过串口(P04 P05)烧写OTP(已经确保接线正常)供电采用1.2 v,曾经也用1.2 v烧写过,OTP完全没问题。”
这个不对啊,OTP的烧写没VPP上6.8 v是写不进去的。你确定写进去又读出来验证过吗?
上述所述的烧写仅仅只是指点击连接的时候发生的动作,实际并不是烧写OTP的内容,(接上6.8 v才能烧写OTP,整个流程试过没问题)。
关于3:UART引导的GPIO默认只能有4组选择。所以引导还是只能由P04 / P05开始。在代码下进去之后,利用01 FD 40 04 XX XX XX XX去修改之后的UART TX / RX。其实就是调用底层的
的hci_change_uart_pins_cmd命令。Smartsnippets里面没看到直接可以修改的指令
启动的时候是通过jlink烧写programmer_ES4.bin的,所以跟p04, p05没什么关系吧?(如果修改program_ES4.bin的源码——修改TX, RX IO口)那么启动完之后通信接口(串口)应该就可以任意改变吧?