打印
[技术问答]

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

[复制链接]
2129|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大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函数后的打印信息就没了,这之后应该执行的动作也没有执行
意思是有打印出来信息,但是后面的打不出来?是从哪儿断线的?

使用特权

评论回复
5
DreamofOven| | 2015-11-13 22:05 | 只看该作者
我觉得像是软件的问题啊

使用特权

评论回复
6
gejigeji521| | 2015-11-13 22:42 | 只看该作者
应该是时序的时隙长短问题,因为:你调试时候是单步运行,时隙都是很长,因此总是满足在时序的时候要求的时隙间隔的长度最小值,而全速的时候,太快了,没有达到时隙要求的最小值

使用特权

评论回复
7
yutianxiang618| | 2015-11-14 00:20 | 只看该作者
不懂,帮顶

使用特权

评论回复
8
yutianxiang618| | 2015-11-14 00:22 | 只看该作者
不懂,帮顶

使用特权

评论回复
9
yutianxiang618| | 2015-11-14 00:24 | 只看该作者
不懂,帮顶

使用特权

评论回复
10
大Qin|  楼主 | 2015-11-14 13:39 | 只看该作者
玛尼玛尼哄 发表于 2015-11-12 21:09
应该是软件问题,这个在SPIM_Open函数后的打印信息就没了,这之后应该执行的动作也没有执行
意思是有打印出 ...

感谢回复,软件问题是指代码吗?代码是官方Demo。在SPIM_Open函数里会reset SPIM IP,下载到板子后会不会就与内部FLASH启动时有冲突啊,听说内部 SPI Flash运行也是用的SPIM接口。

使用特权

评论回复
11
大Qin|  楼主 | 2015-11-14 13:42 | 只看该作者
gejigeji521 发表于 2015-11-13 22:42
应该是时序的时隙长短问题,因为:你调试时候是单步运行,时隙都是很长,因此总是满足在时序的时候要求的时 ...

感谢回复,调试的时候,用的就是全速调试啊,是下载到内部SPI Flash运行时出错的。

使用特权

评论回复
12
大Qin|  楼主 | 2015-11-14 13:43 | 只看该作者

感谢祥哥帮顶

使用特权

评论回复
13
gaoweiwei| | 2016-3-3 14:55 | 只看该作者
有知道真相的给来解答下,我也遇到了这问题了。怀疑跟设置的SPIflash机制有关。需要探讨的加qq:463566915

使用特权

评论回复
14
a_ziliu| | 2016-3-22 14:24 | 只看该作者
要看專案設定,NUC505 SPIM的程式有些不同,如scattor是跑在RAM中,只能在keil中。
如果要跑在flash上面,要改專案設定。

使用特权

评论回复
15
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用着太蛋疼

使用特权

评论回复
16
Howard16| | 2016-9-12 19:07 | 只看该作者
看這份文件有沒有幫助,裡面有介紹SPI flash 跟scattor file用法

AN_0011_NUC505_Series_Improving_Execution_Performance_on_SPI_Flash_EN_Rev1.00

使用特权

评论回复
17
chungei| | 2017-6-16 12:18 | 只看该作者
请问这问题有人解决了吗,我也碰到这问题了

使用特权

评论回复
18
zhuomuniao110| | 2017-6-16 21:59 | 只看该作者
难道不是while循环?

使用特权

评论回复
19
simonccn| | 2017-6-23 20:47 | 只看该作者
spi操作读写flash的时候,同时会通过spi取指,是不是这样会完成冲突

使用特权

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

本版积分规则

4

主题

14

帖子

1

粉丝