产品STM32F207,外扩了512K的SRAM,地址为0x68000000开始。
分两个MDK工程,一个是主程序(平台) 一个是客户应用(应用)
主程序烧在Flash里,开机运行。
客户应用存在外扩flash中,MDK编译后生成bin文件。
主程序运行后,通过读取外扩flash中的bin文件,载入到外扩内存0x68000000中开始的地点。
然后调用函数开始运行。
现在一直没能把中断向量设置到外扩SRAM中。
主程序配置如下:
运行外部代码如下:
- #define BASE_APP_ADDR ((unsigned int)(0x68000000)) //ÍⲿÀ©Õ¹»ùµØÖ·
- #define BASE_APP_CODE_BEGIN BASE_APP_ADDR //Ó¦ÓóÌÐò´úÂë±£´æµØÖ·
- #define BASE_APP_CODE_MSIZE ((unsigned int)(0x20000)) //Ó¦ÓóÌÐò×î´ó´úÂë´óС
- #define BASE_APP_RUN_ADDR (BASE_APP_CODE_BEGIN+BASE_APP_CODE_MSIZE) //Ó¦ÓóÌÐòÔËÐеØÖ·¿Õ¼ä
- #define BASE_APP_RUN_MSIZE ((unsigned int)(0x60000)) //Ó¦ÓóÌÐòÔËÐдúÂë¿Õ¼ä´óС
- //½»»»Çø±£´æÔÚÄÚ²¿RAMÖУ¬10K´óСµÄ¿Õ¼äÓÃÀ´±£´æ½»»»µÄ±äÁ¿
- #define SWAP_MEM_ADDR ((unsigned int)(0x20000000+0x1D800)) //½»»»ÇøÆðʼµØÖ·
- #define SWAP_MSP SWAP_MEM_ADDR //MSP±£´æ4×Ö½Ú
|