打印

TI 提供的C2000系列bootloader Demo的直接对FLASH进行操作

[复制链接]
1259|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eeamic|  楼主 | 2016-11-18 18:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
TI提供的bootloader的Demo是直接写FLASH,但是FLASH在写之前一定要先擦除啊,而且我做过实验直接指定一个FLASH地址,往这个地址里面写数据根本写不进去,往RAM中写数据是可以的。如下代码:void CopyData()
{

   struct HEADER {
     Uint16 BlockSize;
     Uint32 DestAddr;
   } BlockHeader;

   Uint16 wordData;
   Uint16 i;

   // Get the size in words of the first block
   BlockHeader.BlockSize = (*GetWordData)();

   // While the block size is > 0 copy the data
   // to the DestAddr.  There is no error checking
   // as it is assumed the DestAddr is a valid
   // memory location

   while(BlockHeader.BlockSize != (Uint16)0x0000)
   {
      BlockHeader.DestAddr = GetLongData();
      for(i = 1; i <= BlockHeader.BlockSize; i++)
      {
          wordData = (*GetWordData)();
          *(Uint16 *)BlockHeader.DestAddr++ = wordData;
      }

      // Get the size of the next block
      BlockHeader.BlockSize = (*GetWordData)();
   }
   return;
}

这样操作FLASH怎么会成功???不解

s.png (58.34 KB )

s.png

相关帖子

沙发
zhangmangui| | 2016-11-18 23:44 | 只看该作者
如果确定是flash   肯定要先擦除后才能这样操作  

使用特权

评论回复
板凳
zhangmangui| | 2016-11-18 23:44 | 只看该作者
确定一下操作的地址是外扩SDRAM还是其他的
注意字地址和字节地址

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

32

帖子

0

粉丝