[技术问答] 新唐官方出的NUC505的SPIM Demo下载运行一部分代码后,就没有运行了是怎么回事?

[复制链接]
 楼主| 大Qin 发表于 2015-11-12 20:30 | 显示全部楼层 |阅读模式
如题,通过ICE-SPI(0111)方式下载SPIM 的Demo程序,然后通过MCP SPI FLASH(1111)启动方式运行后,在SPIM_Open函数前的串口打印信息能显示出来,在SPIM_Open函数后的打印信息就没了,这之后应该执行的动作也没有执行。程序在debug时能够正常运行的,这是什么原因啊?
Roderman_z 发表于 2015-11-12 20:37 | 显示全部楼层
这个地方是不是有初始化之类的函数,可能硬件有问题
 楼主| 大Qin 发表于 2015-11-12 20:43 | 显示全部楼层
Roderman_z 发表于 2015-11-12 20:37
这个地方是不是有初始化之类的函数,可能硬件有问题

两块板子都是一样的现象,不像是硬件的问题
玛尼玛尼哄 发表于 2015-11-12 21:09 | 显示全部楼层
应该是软件问题,这个在SPIM_Open函数后的打印信息就没了,这之后应该执行的动作也没有执行
意思是有打印出来信息,但是后面的打不出来?是从哪儿断线的?
DreamofOven 发表于 2015-11-13 22:05 | 显示全部楼层
我觉得像是软件的问题啊
gejigeji521 发表于 2015-11-13 22:42 | 显示全部楼层
应该是时序的时隙长短问题,因为:你调试时候是单步运行,时隙都是很长,因此总是满足在时序的时候要求的时隙间隔的长度最小值,而全速的时候,太快了,没有达到时隙要求的最小值
yutianxiang618 发表于 2015-11-14 00:20 | 显示全部楼层
不懂,帮顶
yutianxiang618 发表于 2015-11-14 00:22 | 显示全部楼层
不懂,帮顶
yutianxiang618 发表于 2015-11-14 00:24 | 显示全部楼层
不懂,帮顶
 楼主| 大Qin 发表于 2015-11-14 13:39 | 显示全部楼层
玛尼玛尼哄 发表于 2015-11-12 21:09
应该是软件问题,这个在SPIM_Open函数后的打印信息就没了,这之后应该执行的动作也没有执行
意思是有打印出 ...

感谢回复,软件问题是指代码吗?代码是官方Demo。在SPIM_Open函数里会reset SPIM IP,下载到板子后会不会就与内部FLASH启动时有冲突啊,听说内部 SPI Flash运行也是用的SPIM接口。
 楼主| 大Qin 发表于 2015-11-14 13:42 | 显示全部楼层
gejigeji521 发表于 2015-11-13 22:42
应该是时序的时隙长短问题,因为:你调试时候是单步运行,时隙都是很长,因此总是满足在时序的时候要求的时 ...

感谢回复,调试的时候,用的就是全速调试啊,是下载到内部SPI Flash运行时出错的。
 楼主| 大Qin 发表于 2015-11-14 13:43 | 显示全部楼层

感谢祥哥帮顶
gaoweiwei 发表于 2016-3-3 14:55 | 显示全部楼层
有知道真相的给来解答下,我也遇到了这问题了。怀疑跟设置的SPIflash机制有关。需要探讨的加qq:463566915
a_ziliu 发表于 2016-3-22 14:24 | 显示全部楼层
要看專案設定,NUC505 SPIM的程式有些不同,如scattor是跑在RAM中,只能在keil中。
如果要跑在flash上面,要改專案設定。
zgpjy 发表于 2016-9-12 18:33 | 显示全部楼层
有人解决了没,我也是这问题,调试时,DEBUG是加载SRAM.ini
FUNC void SRAMMap(void)
{
_WDWORD(0x40000050, 0x20000000);                        /* Specify the load VECMAP address   (reg : SYS_LVMPADDR) */
_WDWORD(0x40000054, 0x00000080);                        /* Specify the VECMAP length : 128KB (reg : SYS_LVMPLEN)  */
_WDWORD(0x4000005C, 0x00000001);                        /* Load VECMAP address and length    (reg : SYS_RVMPLEN)  */
}

SRAMMap();
LOAD %L INCREMENTAL
RESET
不加载到RAM里,运行到SPI_OPEN  0x00地址就变为零,程序没法执行了,不知道这怎么解决,这SPI FLASH用着太蛋疼
Howard16 发表于 2016-9-12 19:07 | 显示全部楼层
看這份文件有沒有幫助,裡面有介紹SPI flash 跟scattor file用法

AN_0011_NUC505_Series_Improving_Execution_Performance_on_SPI_Flash_EN_Rev1.00
chungei 发表于 2017-6-16 12:18 | 显示全部楼层
请问这问题有人解决了吗,我也碰到这问题了
zhuomuniao110 发表于 2017-6-16 21:59 | 显示全部楼层
难道不是while循环?
simonccn 发表于 2017-6-23 20:47 来自手机 | 显示全部楼层
spi操作读写flash的时候,同时会通过spi取指,是不是这样会完成冲突
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

1

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