[INFO SPI Flash @20-03-27 10:38:32]固件文件C: software\SmartSnippetsStdio\SmartSnippetsStudio\Toolbox\common_resources\ flash_programman .bin已被选择下载。
[INFO SPI Flash @20-03-27 10:38:32] COM20端口连接成功打开。
[INFO SPI Flash @20-03-27 10:38:32] starting download procedure…
[ACTION SPI Flash @20-03-27 10:38:33]请按单板上的硬件复位按钮开始下载过程。
[INFO SPI Flash @20-03-27 10:38:39]复位
这是smartsnippets的日志,就卡在复位检测到,是我对flash误操作了,以下是我的闪电操作代码,我按照SDK做的修改,代码中先执行user_read_data_from_flash读地址,再进行user_save_data_to_flash写
Void uint8_data_from_flash (uint8_t* ptr, uint8_t size)
{
int8_t dev_id;
dev_id = spi_flash_enable(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN);
if (dev_id == SPI_FLASH_AUTO_DETECT_NOT_DETECTED) / /检测到
{
//设备未被识别。使用默认参数。
//也可以在这里断言错误。
spi_flash_init (SPI_FLASH_DEFAULT_SIZE SPI_FLASH_DEFAULT_PAGE);
}
spi_cs_low ();
spi_cs_high ();
/ /保存数据
spi_flash_read_data (ptr、SPI_SAVE_BLOCK、大小);
//关闭SPI Flash
spi_flash_power_down ();
}
(uint8_t* ptr, uint8_t size)
{
int8_t dev_id;
dev_id = spi_flash_enable(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN);
if (dev_id == SPI_FLASH_AUTO_DETECT_NOT_DETECTED) / /检测到
{
//设备未被识别。使用默认参数。
//也可以在这里断言错误。
spi_flash_init (SPI_FLASH_DEFAULT_SIZE SPI_FLASH_DEFAULT_PAGE);
}
spi_cs_low ();
spi_cs_high ();
/ /保存数据
spi_flash_block_erase (SPI_SAVE_BLOCK SECTOR_ERASE);
spi_flash_write_data (ptr、SPI_SAVE_BLOCK、大小);
//关闭SPI Flash
spi_flash_power_down ();
}
你好,
从日志来看,党卫军工具箱检测到重置,准备通过串口,给580加载一个flash_programmer.bin,然后进行FLASH操作。
以上为你点击了连接按钮之后的准备动作。
到这一步为止,是580年的引导流程相关的,和用户固件无关。
请重新拔插开发板的USB线尝试。
你好
我这边尝试了更换USB口,还是出现一样的情况,卡在了重置中检测到,这个问题的确是我在程序当中操作了FLASH之后出现的情况,我的党卫军工具箱版本为4.8.3,不知道和这个有没有关系呢
你好,
可以确定到了你日志里的重置这一步,还不会涉及到对FLASH硬件的操作。
要到了flash_programming.bin烧录成功后,才会进行通讯而操作闪光。
JTAG接口是否可以使用吗?
工具箱里的橄榄球员工具是否可以使用吗?
580年是否烧录了OTP吗?
JTAG可以使用,橄榄球员工具无法使用,和SPI_FLASH出现一样的情况,卡在复位后,发现过一会就主动disconneted形成港口,580没有烧入OTP
你好,
不好意思,我没问详细,
我说的jtag可以使用,是指,能通过jtag接口使用橄榄球员工具,能烧录flash,能用凯尔调试,等。你指的是这样吗?
如果是,请将板上的flash拆除,然后再用uart (P04 P05)尝试。
以上测试,基于怀疑点:
因为flash的引脚P05和uart口的P05复用,怀疑flash的问题(P05引脚异常)导致uart使用异常
JTAG能连接党卫军工具箱,能用凯尔调试,无法利用JTAG进行橄榄球员工具烧写,和flash烧写,我是否需要将板子上的flash拆除利用uart尝试,另外,我有个自己的板子,是利用uart烧写的,跟开发板同样的情况,也是烧写了操作flash的代码后就不能连接学生了
你好,
基于你说的情况:
1.可以使用JTAG进行凯尔调试:排除芯片顺坏,焊接问题
2.党卫军工具箱可以使用JTAG连接:排除ss工具箱使用JTAG驱动的问题
3.党卫军工具箱工具无法使用橄榄球员,flashprogrammer等工具:本质上,是无法给580引导固件
我目前能想到的可能的情况是:你在选择芯片的时候可能选错了,580选择成了585。
若不是这个原因,请更换工具箱工具尝试,最新版本链接如下:
http://lpccs-docs.dialog-semiconductor.com/smartSnippets_studio/SmartSni..。
非常感谢您的回复
我自己经过尝试已经解决了开发板不能下载的问题,先在凯尔下操作FLASH的代码屏蔽后,利用jtag口将代码调试进ram里,再打开党卫军进行烧入即可,FLASH操作失败的原因是我在初始化FLASH口的时候没有将TX RX的口进行屏蔽,从而造成了FLASH初始化失败。至于为什么对flash操作失败后不能下载这个问题,还是很奇怪哈
感谢分享调试结果。