Other Parts Discussed in Thread: C2000WARE
你好:
电机控制器产品使用TI的28335作为控制芯片时遇到点问题,具体表现为:同一个hex文件,使用仿真器通过C2Prog进行烧写时程序表现正常,但使用前工程师留下的上位机软件进行Can在线烧写后,控制器开管即产生一个初始的电流指令导致电机飞车,由于对28335芯片工作原理不熟,且缺乏Flash烧写的相关开发经验,查问题时感到困难重重,不知该从何下手。有几个问题想请教一下:
1、在bootloader代码中看到类似Flash_Erase、Flash_Program之类的相关函数,但找到不相应的函数原型或说明,不知其参数、返回值的具体含义是什么,请问哪里可以找到相关的函数使用说明文件,是否有中文版本?
2、在bootloader代码中看到内嵌汇编指令asm(" LB 0x327F78"),这句指令的具体功能是什么呢?是否有相关的汇编指令资料可供查询?
3、目前这个CAN烧写上位机已经在批量产品中应用许久,之前从未出现过问题,这次是一个新项目对can通讯协议作了较大的更改后发现,CAN应用程序的头文件里,某个结构体定义的成员数超过一定数量后,就会出现使用Flash烧写后电机开管飞车,而使用c2prog烧写则正常的现象,不知道经验丰富的TI工程师对此情况有没有什么头绪,哪个环节可能导致?
4、想深入学习28335芯片的工作原理以便完整明白can在线烧写程序是如何实现的,是否有相关的资料可供下载?
非常感谢!