TI DSP的 F28034 的FLASH操作日志

  从上周就开始做参数保存的工作,因为参数保存牵涉到2给硬件方面的知识,第一个时CAN通信、第二个时片上FLASH的操作。这2个我都不是很熟悉。CAN通信只是勉勉强强可以进行发出和接收,对于如果出现无法发出、出现物理层连接断开该如何处理,没有多大经验。只是根据以前调试串口的经验来写。FLASH操作也是如此,也是第一次写。不过还好,TI的例程写得很出色,基本上修改一下CMD文件,定义一些变量,程序就可以运行了。数据得保存和读写基本也实现。但出现了一个现象。就是再仿真器下载得情况下,CAN通信、FALSH读写可以正常运行,一旦脱机运行,can通信可以正常运行,FLASH写就出现问题。使得我百思不得其解,以为是中断问题、以为是函数逻辑问题,以为是FLASH没有解锁的问题。都一一试过了。问题还是没有解决。
        实在没有办法,我已经搞了3、4天了。只好把原始的例程拿下来,细细研究,因为FLASH的库有好几个版本,有ROM版本、FLASH版本。TI的东西好是好,但是要研究透彻,没有功夫是不行的。仔细查看发现下面的几句话。
  The user's code is responsible for the following:

      4. Initialize the PLL to the proper CPU operating frequency.
      5. If required, copy the flash API functions into on-chip zero waitstate
         RAM.
      6. Initialize the Flash_CPUScaleFactor variable to SCALE_FACTOR
      7. Initialize the callback function pointer or set it to NULL
      8. Optional: Run the Toggle test to confirm proper frequency configuration
         of the API.
      9. Optional: Unlock the CSM.
     10. Make sure the PLL is not running in limp mode
     11. Call the API functions: Flash_Erase(), Flash_Program(), Flash_Verify()
     刚开始移植的时候,没有仔细看第6条和第7条。根据以前的经验来做的。
     我开始没有明白CALLBACK FUNCTION的含义,想我就是写个FALSH,还要定义一个函数,是不是多余啊。但现在没办法,我就照他写的办,定义了一个回调函数,函数里面什么也没有。然后再做测试。
      重新下载程序后,写FLASH函数也没有问题。看来是因为写FLASH必须有个回调函数,要不然他的在调用函数的时候,就会出错。经过一番测试,没有发现问题。
     记录在这里,免得下次忘掉。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值