中山做网站好的公司,商城购物平台,经典vi设计案例分析,wordpress插件中使用表单序
在7840的sample代码里面有一个简单的Boot跳转APP的示例 PFlash地址从0开始
DFlash的地址从1000000开始 Boot解析
他的boot地址配置为0 Boot的代码主要是这几行#xff0c;主要作用就是Flash的跳转
int main(void)
{SystemClock_Config();InitDebug();printf(demo…序
在7840的sample代码里面有一个简单的Boot跳转APP的示例 PFlash地址从0开始
DFlash的地址从1000000开始 Boot解析
他的boot地址配置为0 Boot的代码主要是这几行主要作用就是Flash的跳转
int main(void)
{SystemClock_Config();InitDebug();printf(demo start...\r\n);printf(BOOT\r\n);printf(Jump to APP\r\n);Go_To_App();printf(demo end...\r\n);while (1){;}
}
地址的配置
#define BOOT_START_ADD 0x00000000
#define BOOT_SIZE 0x00030000#define APP_START_ADD 0x00030000
boot跳转APP的代码
static void Go_To_App(void)
{if (((*(__IO uint32_t *)APP_START_ADD) 0x1FFF0000) ((*(__IO uint32_t *)APP_START_ADD) 0x2000EFFF)){DisableInterrupts /* 关全局中断 */Jump_To_App (Func)(*(__IO uint32_t *)(APP_START_ADD 4)); /* 指向APP程序的Reset中断*/__set_MSP(*(__IO uint32_t*)APP_START_ADD);Jump_To_App();}printf(Jump to APP Fault\r\n);
}只烧录Boot的测试 确实从0开始 APP解析
App主要代码
int main(void)
{DisableInterrupts;SCB-VTOR APP_START_ADD;EnableInterrupts;SystemClock_Config();InitDebug();printf(demo start...\r\n);printf(APP\r\n);printf(demo end...\r\n);while (1){;}
}
APP代码烧录之后打印结果Zdemo start没找到在哪儿写的 可以看到App的代码地址配置从30000开始 修改APP起始地址
改到40000 修改地址之后需要全片擦除否则之前地址还有APP的内容看不出来效果。擦除之后重新烧录Boot代码。 Boot烧录完成发现无法跳转到APP 需要修改Boot的跳转地址 修改之后测试OK 查看内存数据
是按照40000之后的地址保存数据