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.
一直想弄清28335的两个问题:
1、使用FLASH_API的时候是不是只能将API函数搬移到RAM执行,而不能将所有代码均搬移到RAM运行?
2、看门狗复位是使DSP得CPU复位吗?这个复位时间大概有多长?
谢谢
1、使用FLASH_API的时候是不是只能将API函数搬移到RAM执行,而不能将所有代码均搬移到RAM运行?
如果只能API搬出去的话,会有将程序擦除掉的风险啊!
2、看门狗复位是使DSP得CPU复位吗?这个复位时间大概有多长?
可以复位,两种方式:看门狗定时器溢出复位(时间可调整);WDKEY(没记错的话)写入错误值(立即复位,具体时间参数可以参考数据手册)
很感谢你的回答
关于问题1的风险指的是什么?擦除是按块区来的,不会影响程序啊
关于复位时间我翻看了能找到的资料都没有发现明确的说明,不知道是看的不细致还是资源有限,能否指引一下是哪个文档会写?因为TI的datasheet众多,实在是不好找。
再次感谢
Mike,
1, 你可以只搬移Flash API到RAM中,因为任何对Flash操作的代码都必须放到RAM中,其他的代码如上位机通信等,你只要保证在擦除时,别擦除掉这个扇区就可以了。
2, 你可以擦除F28335主页下面的2833x System Control and Interrupts.pdf, 里面有降到看门狗,我刚进一步确认了一下,对WDKEY写一个错误的值应该不会导致芯片马上复位,效果跟没写key一样,都是需要经过一定的时间才能够复位的。如果看门狗复位,则会拉低XRS引脚512 OSCCLK的周期。
Eric
Thanks Eric
我记得关于flash api的文档中说运行api函数的时候RAM中不能运行其他程序,我想知道在使用flash api的时候还可以将全部程序搬移到RAM吗,因为我全部搬移的时候烧写总是不成功,部分搬移的时候却能够烧写成功。
Mike,
我认为是可以将flash api 和 其他函数,如跟PC通信的代码都搬到RAM中运行,只要RAM足够大就没问题。你可以再检查一下看到底再那一个函数出现问题,然后检查。在调用Flash API烧写的时候,一样是可以通过CCS调试的。
另外一点,如果其他函数的实时性要求不是很高,如串口通信,那放在flash也没什么关系。
Eric
嗯,我的确是这样做的,但是还是每次烧写都失败,没有找到原因,所以在想是不是使用API的时候别的程序是需要留在flash运行。说到这,除了关闭全局中断还有别的注意事项吗?我翻看了文档好像没有别的了。