[DSP编程] FLASH、AM29LV800B读写出错

[复制链接]
1783|2
 楼主| wushaojay 发表于 2015-2-14 13:21 | 显示全部楼层 |阅读模式
DSP用的是TI的5509A,FLASH芯片为AM29LV800B,连上CCS3.3,单步运行到擦除函数,发现只有奇地址变了,而且不是FFFF,是0010。写数据的时候也是只能写入奇地址,欧地址根本写不进。以下是我部分代码和CCS图
  1. /*FLASH写命令操作*/
  2. void FLASH_write_byte(unsigned int offset, unsigned int data)
  3. {

  4.         *((volatile unsigned int*)(CE1+offset))=data;
  5. }
  6. /*FLASH擦除函数*/
  7. void erase_FLASH()
  8. {
  9.         FLASH_write_byte(0x0555,0xaa);
  10.         FLASH_write_byte(0x2aa,0x55);
  11.         FLASH_write_byte(0x0555,0x80);
  12.         FLASH_write_byte(0x0555,0xaa);
  13.         FLASH_write_byte(0x02aa,0x55);
  14.         FLASH_write_byte(0x0555,0x10);
  15.         delay(100);
  16. }
  17. /*FLASH写数据初始化*/
  18. void FLASH_write_initial()
  19. {
  20. FLASH_write_byte(0x0555,0xaa);
  21. FLASH_write_byte(0x02aa,0x55);
  22. FLASH_write_byte(0x0555,0xa0);
  23. }
  24. /*FLASH写数据*/
  25. void FLASH_write(unsigned int write_addr,unsigned int data)
  26. {
  27. //        FLASH_write_byte(write_addr,0xa0);
  28.         FLASH_write_byte(write_addr,data);
  29.         delay(10000);
  30. }

  31. main()
  32. {
  33. int i;
  34.         /*初始化CSL库*/       
  35.     CSL_init();
  36.    
  37.     /*EMIF为全EMIF接口*/
  38.     CHIP_RSET(XBSR,0x0a01);
  39.    
  40.     /*设置系统的运行速度为144MHz*/
  41.     PLL_config(&myConfig);  
  42.         flash=0;
  43.     erase_FLASH();
  44.         FLASH_write_initial();
  45.         fwaddr=CE1;
  46.         fwaddr+=1000;
  47.           for(i=1000;i<2000;i++)
  48.         {

  49.                 FLASH_write(fwaddr+i,i);
  50.         }
  51.    

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wushaojay 发表于 2015-2-14 15:47 | 显示全部楼层
本帖最后由 wushaojay 于 2015-2-14 16:11 编辑

发现从CE0到CE3空间偶地址都是零,DSP_EMIF_ARDY引脚接到CPLD,CPLD直接给DSP_EMID_ARDY赋1,CCS3.3才能使用Memory观察到CE空间数据也就是从20000开始的数据。上电复位从20000开始偶地址都是0,奇地址都是FFFF,FLASH擦除操作之后,偶地址依然为0,奇地址为0X0010,用十进制显示的时候是16.
CPLD设计中是扩展了FLASH高6位地址FA13-FA18。 DSP A1-A13接FLASH FA0-FA12。 DSP_EMIF_AWE接FWE,DSP_EMIF_ARE接FOE,DSP_EMIF_CE1接FCE   FBYTE直接赋1,位字模式。
JY-DX-JY 发表于 2015-2-26 08:47 | 显示全部楼层
硬件的问题吧?程序是自己写的还是例程?换一个FLASH试下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

69

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部