微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > .bqfs文件的指令问题,麻烦高手帮我解答一下,非常感谢!

.bqfs文件的指令问题,麻烦高手帮我解答一下,非常感谢!

时间:10-02 整理:3721RD 点击:

//检查指令是否执行成功
C: 16 66 00
//发送烧录Instruction Flash指令
W: 16 00 02
//发送行号iRow指令
W: 16 01 FF 01
//发送Instruction Flash数据到缓冲区,文档只介绍了0x04指令,没有介绍0x24,0x44
W: 16 04 FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF
//发送Instruction Flash数据到缓冲区,为什么是0x24?
W: 16 24 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF
//发送Instruction Flash数据到缓冲区,为什么是0x44?
W: 16 44 FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F
//发送校验和
W: 16 64 A2 48
//延时2ms
X: 2
//检查指令是否执行成功
C: 16 66 00

//这是让BQ芯片计算校验和的指令吗?
W: 16 00 05
//上一条指令的校验和
W: 16 64 05 00
//延时170ms
X: 170
//这个是校验和吗?算法是什么
C: 16 04 83 FA 72 9E

//这是让BQ芯片计算校验和的指令吗?
W: 16 00 05
//上一条指令的校验和
W: 16 64 05 00
//延时170ms
X: 170
//这是让BQ芯片计算校验和的指令吗?为什么要发第二次?
C: 16 04 83 FA 72 9E

//这条指令(01)的功能是什么?
W: 16 00 01
//发送01指令的参数
W: 16 01 00 00
//这条指令作用是什么?
W: 16 03 05
//这条指令作用是什么?
W: 16 04 54 54 15
//上一条指令的校验和:
//(0x01+0x00+0x00+0x05+0x54+0x54+0x15)=C3
W: 16 64 C3 00
//延时2ms
X: 2
//检查指令是否执行成功
C: 16 66 00

//这条指令(05)的功能是什么?
W: 16 00 05
//上一条指令的校验和
W: 16 64 05 00
//延时170ms
X: 170
//这条指令作用是什么?
C: 16 04 D8 4E 48 9E

//退出ROM模式
W: 16 00 0F
//上一条指令的校验和
W: 16 64 0F 00
//延时4000ms
X: 4000

1.上面很多指令在文档里并没有介绍,或者我还没有找到这些指令的文档,谁能提供一下链接呢?

2.如果没有文档,能否帮我把上面的复制出来,修改一下注释,再回复?

3.每一个iROW的校验和没有问题,我计算出来与文件一致,但是整个文件的校验和,我计算出来的

是0x0051043F,在文件中并没有找到这个值,请问整个FLASH校验值的算法是怎么样的?

4.全部指令FLASH(固件)固定为48KB吗?我发现此文件最后一个ROW是0x1FF,那么:

0x200*32*3=49152Bytes=48KBytes

5.SLUA504A有提到,要先把Instruction Flash(IF)的开始两个Rows读出来,最后写回去,但是我从这个bqfs文件

没有看到这样的操作,何解?

6.SLUA504A的Page 11流程的第5个图好像有误,假如iRow=0xHHLL,那么应该发送:

16 01 LL HH

或者

16 01 LL

16 02 HH

也就是说,这个图是从Figure8复制过来的,HH为00的只适用于文件很小的DFI烧写,不适合IF烧写.

希望大侠解答一下,非常感谢!别忘了指令的注释部分有很多问题哦!

Sheldon大虾,SOS

抱歉,现在才看到帖子。关于bqfs/ddfs文件下载相关驱动我们提供了Linux/Android的驱动,可以参考链接,http://processors.wiki.ti.com/index.php?title=Linux/Android_Software_Solutions_for_TI_Single-cell_Gas_Gauges

附件是关于dffs/bqfs文件的解释

你提到的很多内容是和dfi下载相关的,bqfs和dffs文件本身很多指令我们是不提供具体含义给客户的,用户只需要按照说明执行写,回读比较,延时这几种命令即可,关于校验部分dffs和bqfs文件本身就是带有的,具体体现在C:这个回读比较的命令。

附件是bqfs和dffs的下载参考代码

谢谢Sheldon Cai 

这个Linux驱动仍然是直接解释bqfs脚本的,并未对bqfs的有效与否进行分析。

大神,请问之前你做bqfs文件烧录的问题解决了么?我也遇到这个问题...想了解下C: 16 04 D8 4E 48 9E命令究竟什么意思!因为我update firmware的时候这条指令compare不匹配,循环多次wait+compare都不行...这个compare究竟是比较的什么东东啊?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top