DSP

在ADSP21489下外挂S29AL016J并行FLASH调试记录

2019-07-13 19:56发布

我哭,调试了5天
总结下在ADSP21489下挂S29AL016J并行flash调试记录

S29AL016J:2M*8bit
21489EZ-Kite M29W320EB: 4M*8Bit


在修改flash过程中还尝试修改一些全局变量,发现这些变量是不能擅自修改的,在下载到dsp里面后它会自己修改这些全局变量的值,但是在程序中,是找不到这些变量的赋值情况

 

1.首先是找厂商ID,调试原来的21489程序,靠,按照硬件,应该是0x01,找到的却是0xff,哭
解决:芯片虚焊了

2.解决虚焊后,找到了厂商ID,重新编译,下载,又发现居然加载失败,AFP分配内存出错,我单步下载程序,都是分配对的啊,出错在哪啊啊,又搞了1天
第二天居然找到了,重新编译后生成的dxe文件在debug文件夹下,我却一直选择的工程文件夹下原来的dxe....晕


3.加载成功了,丫的在下载程序的时候又提示write失败,靠,继续看程序
总结对比ADSP21369 Ez-kite的flash driver ,发现在工程选项中有一个宏是没有定义的
LOCK_CONFIG_FLASH_SECTOR  就是它,大概的意思就是锁住flash吧,我们不需要锁住

在ADSP21489 官方的flash driver中定义了它

果断去掉

现在下载OK了

现在我要上电重启试试程序了

上电重启发现没从flash启动,程序不知道是不是没跑起来还是怎么的

176脚封装的21489

BOOT_CFG20  =  010  FLASH(AMI BOOT)
BOOT_CFG20  =  001  SPI MASTER BOOT
BOOT_CFG20  =  000  SPI SLAVE BOOT

 

我焊了2个10k,平分3.3v,结果bootcfg1只有1.65v

改成0欧上拉,boot_cfg1必须为3.3v


测试一切OK


基本上在VDSP下的flash driver不需要修改很多,注意下不同flash扇区分布和块数