你好,最近用OMAP-L137_FlashAndBootUtils_2_40中的NORwriter的程序,修改了程序中device.c文件中的部分内容,将PINMUX控制的emifa_D的高八位的引脚复用模式进行了修改,使EMA_D的数据位改为16位。将AISgen产生的BIN文件烧写到nor flash中时,开始能正确烧写,但是烧写到某段代码时,就不能将数据烧写到FLASH中,烧写失败。
我的用的芯片是DSP6747,rom版本为d800k005。
问题:
1、是什么原因导致的,前边能烧写成功,后边就写不进去数据了。并且不同的bin文件开始出错的地方的AIS代码是一样的。
2、因为我的程序中,有对DSP各个外设进行初始化的部分,在用AIS产生bin文件时,能否不对各个寄存器进行设置。
3、norwriter工程中有对寄存器进行设置,AIS产生bin文件时,也有对寄存器的设置,并且要烧写的程序中也有寄存器的设置,那么这三处的寄存器设置都是什么时候起作用,三处设置的寄存器内容是否必须要一样。
4、连接NOR flash的地址线的flash_A[14:21]为是连接在GPI4[0:7]上的,那么烧写bin文件时对NOR flash的寻址空间是多少?需要如何设置才能使GPI4[0:7]复用为地址线来对NOR flash寻址。
附件为我的原理图。软件为CCS3.3.83版本
谢谢。
noaming:
第一个问题,我觉得是程序健壮性的问题。能否在出错位置设置几个断点,仔细观察一下。
noaming:
第二个问题,首先AIS产生bin文件时对寄存器的设置,对你烧写FLASH是不存在影响的。仅在BIN文件执行时候才会去使用这些配置。
noaming:
第三个,三处的寄存器设置起到的作用是不同的,比如烧写时候的配置,是为了烧写做初始化工作以便烧写能够正常进行。而bin文件中的配置,是在芯片自启动时候bootloader中起作用的。因此,他们并不冲突。
noaming:
第四个问题,对FLASH的寻址能力,要看他的地址线和位宽,烧写bin文件时候,如果需要使用到扩展地址,一样可以利用扩展地址的寻址空间。要使用你所设计中的扩展地址,一般来说,就是在读写flash时候,事前将扩展地址上的数据置位一定的值,然后余下的地址由控制器发出,此时组合成你想要的寻址空间地址。