编写了一个程序,无意中既没有初始化FLASH,也没有设置从FLASH中运行的地址,利用F28035.CMD下载到芯片中,程序也是正常运行的。
那么是不是说:不需要初始化flash也是可以的,这时候F28035的运行状态有点迷茫了,那么为什么还有一些FLASH_API的问题?
Blake Ma:
您好,MicroE
F28035.CMD 文件的作用是分配 TMS320F28035 的地址空间,包括代码空间和数据空间,在其中会将代码空间分配在 Flash;编译通过之后利用仿真器进行下载的过程中,其实就会包含对 flash 进行初始化,并且调用相应的 FLASH_API 函数,这样程序代码才会被下载到 Flash 中,只是这些操作已经由 CCS 和仿真器完成,不需要用户进行代码实现。
如果在应用程序中需要对 flash 进行操作,则需要在程序中添加相应的初始化代码以及 FLASH_API 函数。关于 FLASH_API 的操作请参考 controlSUITE 中的技术文档:…\controlSUITE\controlSUITE\libs\utilities\flash_api\2803x\v100a\doc\ Flash2803x_API_Quickstart.pdf
编写了一个程序,无意中既没有初始化FLASH,也没有设置从FLASH中运行的地址,利用F28035.CMD下载到芯片中,程序也是正常运行的。
那么是不是说:不需要初始化flash也是可以的,这时候F28035的运行状态有点迷茫了,那么为什么还有一些FLASH_API的问题?
囧:
可能在你调用TI的一些库API函数时已经初始化了Flash.一般不建议不初始化Flash,这样可能有潜在的bug危险