当前位置:首页 > 统一动态库工具使用说明
读写自定义数据
注意:自定义数据空间和前面的序列号、Mac、BT、IMEI等数据共用一个空间,所以当使用自定义数据进行写入时,会覆盖掉之前写入的序列号等数据。自定义数据空间最大支持512字节,因此当使用自定义数据时,请将序列号等数据也组织在自定义数据中,一并写入。 ? 如何配置自定义数据:在配置区域内右击鼠标,会出现如下菜
单:
1. 增加:增加自定义项,在写入前,工具会合并所有自定义项到512字节的自定义空间并写入. 2. 删除:删除自定义项 3. 清空:删除所有自定义项
4. 上移:将选中的自定义项上移一个位置 5. 下移: 将选中的自定义项下移一个位置 6. 导入配置:加载之前保存的配置文件
7. 导出配置: 当所有自定义项都配置好后,可以使用此功能将配置信息保存成文件,方便以后使用 ? 如何编辑自定义项:
1. 偏移:自定义数据项写入的起始位置,取值范围(0-511),双击进行输入
2. 名字:自定义数据项的名字,只是标识不进行写入,双击进行
输入
3. 值类型:有三种类型:文件,字符串和数值,字符串和数值都在值那一列进行输入,当选择文件时,可以点击’…’进行选择,字符串时数据项的长度为字符串长度加1,数值长度则根据数值的大小决定,在1-4字节范围。文件则根据文件实际长度决定
? 读写自定义数据步骤同读写序列号
MAC和VendorID
注意:MAC和VendorID烧写只支持通过读取ini文件配置。配置示例:
ini文件格式详细说明:
? [ADDRESS] 为MAC地址分配区域:
MAC地址分配区域包含以下三部分:START部分是起始Mac地址;END部分是结束MAC地址;CURRENT部分是当前分配到的地址。 ? [CUSTOM]为VendorID分配区域: [VALUE]为VendorID的值:
第一个字节表示自定义数据的个数,用16进制表示,比如02;第一个字节之后的数据为用户在自定义数据,数据用16进制表示,每个数据之间用空格隔开数据个数不能超过96个(不包括第一个数据)。
1. .读取设备
a) 连接设备,确认工具界面上发现设备
b) 勾选需要读取的设备信息(注意:勾选对应选项烧写勾选框) c) 点击读取设备按钮进行读取设备信息 2. 文件导入
选择配置好ini文件导入 3. 烧写
a) 连接设备,确认工具界面上发现设备 b) 勾选需要烧写的设备信息选项 c) 点击烧写按钮进行设备信息烧写 4. 自动烧写
勾选“自动烧录”选项后,只要识别到设备就自动烧录;中途可以去除勾选“自动烧录”停止自动化烧录。
常见错误处理
? 序列号无效:在自动增加模式下,注意输入的序列号是否满足自动进位要求,也是说当选择十进制进位时,所有序列号必须是数字,当选择十六进制进位时,所有序列号必须是0-F的字符 ? Mac地址无效:Mac地址只支持两种格式:00-11-22-33-44-55-66或者00112233445566,检查输入的字符是否都是0-A字符,当在文件模式下,当前地址是否超出地址段范围. ? Bt地址无效:原因和处理方式同上
? Imei地址无效:Imei的长度是否为15,Imei是否都是0-9数字,在文件模式下,当前地址是否超出地址段范围.
? 合并自定义数据失败:计算一下每个自定义项的长度范围,检查是否存在重叠,每个自定义项的结束位置不能超出512,文件类型时,文件是否存在或者被占用
? 写入序列号失败|写入Mac地址失败|写入Bt地址失败|写入Imei失败|写入自定义数据失败:截个图,同时将工具所在目录中的log目录下当天的日志文件发给RK的接口人进行处理
Kernel中读取512自定义空间数据
? 调用GetSNSectorInfo(pbuf)
注:GetSNSectorInfo在文件\\drivers\\mtd\\rknand\\api_flash.h里面定义,需要在flash 驱动加载后才能调用,pbuf参数大小需要大于等于512 bytes
? 通过序列号、Mac、Bt和Imei功能进入写入的数据按以下结构进行解析前面读取到的pBuf数据
SECTOR3 0-1 2-31 32-127 128-450 451 452-466 SN Size SN BID\\VendorID Reserved IMEI Size IMEI Data 序列号长度 序列号数据 Board id或者Vendor id 数据 自定义数据区 IMEI长度(固定为15) 手机设备识别码 467 468-497 498 499-504 505 506-511 UID Size UID Data BT Size BlueTooth Mac Size Mac UID长度(固定为30) 唯一识别码 蓝牙地址长度(固定为6) 蓝牙地址 网卡地址长度(固定为6) 网卡地址 1. 序列号和Imei都是以字符串的形式保存,不包括结束字符NULL 2. Mac和Bt按每两个字符的数值进行保存,例如:00—11-22-33-44-55-66,被保存成6个字节数值为:0,17,34,51,68,85
?
通过自定义功能写入的数据:按自己定义的格式进行解析
共分享92篇相关文档