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

[复制链接]
1020|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

相关帖子

zhangmangui| | 2016-11-18 23:44 | 显示全部楼层
如果确定是flash   肯定要先擦除后才能这样操作  

使用特权

评论回复
zhangmangui| | 2016-11-18 23:44 | 显示全部楼层
确定一下操作的地址是外扩SDRAM还是其他的
注意字地址和字节地址

使用特权

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

本版积分规则

12

主题

30

帖子

0

粉丝