在其他网站看到CKFA,这个到底是什么啊?具体怎么用啊?希望能有比较详细的解释,谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
这个只是一个串行烧录的driver,CKFA起到的作用:
1:初始化硬件
2:获取串行数据信息,即hex文件内容
3:flash解密
4:解析相应程序地址 与长度
5:烧录flash,及flash API
6:一些自定义协议可以加入:比如对应sector擦除,程序跳转,flash verify等等
CKFA需要通过C2000自带的boot rom进行导入,这个过程在boot模式配置好以后可以通过串行接口自动导入,boot rom会自动解析CKFA的程序;
CKFA导入到RAM以后,自动运行,接下来就是CKFA里面自己写的内容功能了;
可以把 CKFA分成两部分(1)和(2),这两部分都需要建立工程独立编译,这样做的目的就是为了适用不同的C2000芯片,因为无密码区的代码量很小;
首先通过Boot Rom导入CKFA(1),这部分的作用就是初始化硬件,对C2000解密,然后把CKFA(2)导入到C2000,并且跳转到CKFA(2)运行,所以这部分的代码量要尽量写的小,能够直接在无密码的ram中运行;
CKFA(2)的代码代可以比较大,因为此时C2000已经处于解密状态,剩下的工作都交给CKFA(2),包括解析目标文件,flash API(erase,flash,verify)等等。
另外,可以通过PC端软件发送目标板的晶振数值给C2000,这样可以提高串行通讯波特率,毕竟用自动波特率和内部晶振,不能做到非常高的波特率。