-
银行卡检测中心http://www.bctest.com/
-
是第一条指令 指的是硬件连接么? 但是不同的程序同样的驱动初始化成功了
-
程序在用J-Link仿真的时候从IAP程序跳转到APP程序了 但是在板子上复位后没有跳入APP程序
而是在不停的重启 是中断向量表偏移设置未成功么
-
死到SD卡上电那块了 发送的是CMD0
/*!< CMD0: GO_IDLE_STATE ---------------------------------------------------*/
/*!< No CMD response required */
SDIO_CmdInitStructure.SDIO_Argument = 0x0;
SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_GO_IDLE_STATE;
SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_No;
SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
SDIO_SendCommand(&SDIO_CmdInitStructure);
errorstatus = CmdError();
-
errorstatus = CmdError();
if (errorstatus != SD_OK)
{
/*!< CMD Response TimeOut (wait for CMDSENT flag) */
return(errorstatus);
}
是sdio的,在sd卡初始化的时候返回这个错误状态信息 errorstatus = SD_CMD_RSP_TIMEOUT
-
static SD_Error CmdError(void)
{
SD_Error errorstatus = SD_OK;
uint32_t timeout;
timeout = SDIO_CMD0TIMEOUT; /*!< 10000 */
while ((timeout > 0) && (SDIO_GetFlagStatus(SDIO_FLAG_CMDSENT) == RESET))
{
timeout--;
}
停到这里了 timeout==0 了
if (timeout == 0)
{
errorstatus = SD_CMD_RSP_TIMEOUT;
return(errorstatus);
}
/*!< Clear all the static flags */
SDIO_ClearFlag(SDIO_STATIC_FLAGS);
return(errorstatus);
}
-
恩恩 我试试
-
文件有点大 得有32~64K 能直接加上么
-
CRC只能加每包的校验
能校验整个文件的完整性么
-
能给传个小例程么
没弄过这种模式的
第一次弄这种没有偏移寄存器芯片的iap
-
嗯 这个我也懂点 M3和M4都是这么做的
就像十楼说的那样 没有中断向量偏移寄存器 那个地址没写成功
有点小纠结
-
void jump_app(uint32_t addr)
{
uint32_t tmp;
tmp=*(volatile uint32_t*)addr;
if((tmp&0x2FFE0000)==0x20000000)
{
JumpAddress = *(__IO uint32_t*) (addr + 4);
Jump_To_Application =(pFunction) JumpAddress; //(pFunction) 0x10004;
/* Initialize user application's Stack Pointer */
__set_MSP(*(int32u*) addr);
Jump_To_Application();
}
}
这几天去上课了
这个是跳转程序的函数
能帮我分析一下么
-
我感觉主要是app那边设这中断向量表的问题
我在M3和M4上都实现了iap功能
在M0上没办法设置
按照armv6结构上哪个中断向量偏移寄存器地址设置了一下
程序执行到跳转之后就没反应了
等我整理一下在发上来吧 公司网络不能上传
-
谢谢了
我按照那个地址试了 FLASH擦写功能没问题 app程序么有执行
继续努力
-
是的 在M3和M4的都有中断向量表便宜寄存器 地址也一样 但是在M0里没有找到
我也认为应该是支持的 但是找不到这个寄存器 纠结