6个帖子/ 0新
最后一篇
石王
离线
最后一次露面:1个月2周前
加入:2015-10-23 03:55
关键字产品的最终测试与烧写

参考文档:@@ AN-B-020_V1.2_END产品测试和编程指南.pdf
使用的jlink进行烧写:
总结整个烧写流程如下
1.使用JLINK烧烧cust_prod_test_es5.hex(对话框原厂原厂)。
2.烧写成成即可通行串口进行,rf测试功能。
3.以上测试成成得到晶振校准值,记录下来。
4.使用jlink烧烧propert_es5.bin(对话框原厂提供)。
5.使用JLINK烧烧自定义代码十六进制文件(即我们开发的使用程序)。
6.烧写nvds(此步骤可选)可不到。
7.烧烧OTP标题。
整个程程都验证过,是可以的。但有着下次几问题。
1,在第三,在第三次,得到了晶振校准值,可以先先如otp吗?然后6.8v一定不知开,直到烧写customcode.hex跟otp标题后后断断断开头断断断断断断开头6.8v。这样可以吗?
2,OTP的烧写区域是不是可以分发的烧写?(ove ofp中有更多参数,比如应用标志1/2,iq_trim,设备唯一ID等等,我可以第一度次写设备唯一ID之序,芯片完全完全电源,重新再烧写otp标题中的申请标志1吗?当时是不可能的唯一的id的象征是的,如果重复烧写是会导致?)
3,如如需要烧nvds,是要要把源码中的nvds读取宏定义取消掉?

谢谢您的回答。

设备:
Gongyu_dialog.
离线
最后一次露面:2周1小时前
加入:2016-04-27 07:07
1.这样没问题。参见我们的回复:

1.这样没问题。参见我们的回复:
实际上不是很重要的高电压将高电压施加到芯片。VPP控制引脚只会在编程周期开始时打开VPP,然后禁用它。
建议是尽快切换VPP,但这不是MS的顺序。
2.应用标志没写仅告诉告诉靴opper overp那里去靴子,之前写的内容已经生长。重复烧写应该不再作用。
3.如需要烧写nvds,是否要把源码中的nvds读取宏定义取消掉?
//你是又的?

石王
离线
最后一次露面:1个月2周前
加入:2015-10-23 03:55
嗨,公益:

嗨,公益:
readly的定义:read_nvds_struct_from_otp,
#ifdef read_nvds_struct_from_otp.
const struct nvds_data_struct nvds_data_storage __attribute __((部分(“nvds_data_storage_area)))));
#别的
const struct nvds_data_struct nvds_data_storage __attribute __((部分(“nvds_data_storage_area)))))=
{
.nvds_validation_flag = 0x1ffff,
............
.NVDS_TAG_APP_BLE_ADV_DATA =“\ X1A \ XFF \ XD2 \ X00 \ X02 \ X15 \ X58 \ x5C \ XDE \ X93 \ X1B \ X01 \ X42 \ XCC \ x9A \ X13 \ X25 \ X00 \ x9B \ XED \ XC6 \ x5E \ X00\ x00 \ x00 \ x00 \ xc5“,
.nvds_tag_app_ble_scan_resp_data =“\ x09 \ xff \ x00 \ x60 \ x52 \ x57 \ x2d \ x42 \ x4c \ x45”,
.nvds_tag_device_name.
.nvds_tag_bd_address.
...............
.nvds_tag_ble_ca_nb_bad_pkt = 50,
};
有另一个问题:参照上游的参考文档中间:
启用XTAL Trimming校准标志。
=> prodtest.exe -p 41 otp we_xtrim
将BD地址写入OTP标题。
=> Prodtest.exe -P 41 OTP WR_BDADDR 06:05:04:03:02:01
问:该命令烧写的位置否为nvds里奇的内容?

Gongyu_dialog.
离线
最后一次露面:2周1小时前
加入:2016-04-27 07:07
定义定义read_nvds_struct_from_otp.

定义了read_nvds_struct_from_otp,说明这些这些数都存放在otp里,而不是外在闪存里程。户外,你用的sdk版本是什么?

你可以导入prod_test的工程,在host_hci.c文中里查看hci_dialog_otp_wr_bdaddr次数。

在chaness_prod.ciri面找到阶层hci_otp_rw_cmd,可以以看到地址是写的0x7fd4的地方(OTP里存放地址的地方),这并不是里的内容

石王
离线
最后一次露面:1个月2周前
加入:2015-10-23 03:55
SDK:3.0.6.

SDK:3.0.6.
户外问题:没定义read_nvds_struct_from_otp,那么蓝牙地址跟设备名称等函数都跟定义中间句子nvds_data_struct nvds_data_storage __attribute __((部分(部分(部分(“nvds_data_storage_area”)))= ......这个繁体中。
那么,源码中的地上是不能的(0x112233445566,那么又往otp写了了下数,那最终蓝牙地区会是哪个?
将BD地址写入OTP标题。
=> Prodtest.exe -P 41 OTP WR_BDADDR 06:05:04:03:02:01

Gongyu_dialog.
离线
最后一次露面:2周1小时前
加入:2016-04-27 07:07
首先设定宏nvds_support是定义的

首先设定宏nvds_support是在lld_init_func(rom里的代码)会上,并并到0x40000024和0x40000028,并存放到会这这都从这这の面拿这两寄存寄存拿这这个面拿这这两寄存面拿。

再看nvds_get这这偏数,rom里会调用jump_table里的custom_nvds_get_func函数(这这跑数sdk里可以看到)。
里面是从从销量dev_bdaddr里获取蓝牙地址。而dev_bdaddr则是从之前nvds_read_bdaddr_from_otp里面拿到。

里面涉及到几个,为之了解起源几情况,你可以自我看打开着关键词。