我在用STM32F103RCT6的SPI3接SD卡做自动升级程序的项目,现在遇到两个问题:
问题1.我的文件系统是FATFS,SPI速度已经设到系统时钟/256没法再低了,系统时钟是72M,SD卡用的是FAT32格式用读卡器在电脑上可以正常读写,也反复格式化过,我手里是2张SD卡,一张是4G Lexar品牌,一张是8G SANDISK品牌,都是SDHC ②的卡,现在4G的卡在我的程序里可以初始化,可是提示打开文件目录错误。8G卡就正常,可以初始化,可以读文件目录、文件大小、读出具体的BIN和HEX文件。我这张有问题的4G卡在一块SDIO模式的开发板上可以初始化,可以读文件目录、文件大小、读出具体的BIN和HEX文件。我自己分析问题可能处在SPI上,但是会有什么问题呢?读8G卡已经正常了,还有什么地方能导致挑卡的现象?请做过的朋友给指点一下。
问题2.我写了一个简单的APP就是应用程序,内容是通过串口向电脑发送一些字符串证明程序在运行了。把应用程序设置好起始flash地址到0x8010000大小0x30000编译完以后转成BIN文件考到SD卡中,再用我的Iap程序升级,发现程序正常,程序先运行IAP程序,然后把SD卡中的应用程序升级到FLASH中,最后运行应用程序在串口打出字符。到这我的IAP程序应该是正常了,我把我项目需要用的APP应用程序78kB也是同样设置生成BIN文件,升级到FLASH 中就运行不了,用JLINK仿真看程序在跳往APP程序地址0x8010000以后就进入HardFault_Handler(void)中断,没法继续运行了。谁有解决方法,请帮帮我,我在这卡住很长时间了。
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |