سلام از stm32f103re استفاده می کنم. برنامه اول در آدرس ابتدایی فلش یعنی 0x8,000,000 به سایز 5 کیلو ریختم که بهش می گم برنامه دوم درآدرس 0x8,010,000 و به طول 20 کیلو رو اجرا کنه. برنامه دوم رو هم با کیل آدرس دهی کرده ام و پرگرام شده. توی برنامه اول بعد از پرش به آدرس برنامه دوم هیچ اتفاقی نمی افته.
اگه لطف کنید راهنمایی بدین ممنون میشم.
همچنین آیا اشتباهی در تنظیمات IRam من وجود دارد؟
اگه لطف کنید راهنمایی بدین ممنون میشم.
typedef void (*pFunction)(void);
pFunction JumpToApplication;
uint32_t JumpAddress;
JumpAddress = *(__IO uint32_t*) (0x08010000+ 4);
JumpToApplication = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) 0x08010000);
//__set_MSP((uint32_t *)0x08010000);
JumpToApplication();
همچنین آیا اشتباهی در تنظیمات IRam من وجود دارد؟
IRom1 | size | IRam1 | size | |
برنامه اول | 0x8000000 | 0x1400 | 0x20000000 | 0x10000 |
برنامه دوم | 0x8010000 | 0x5000 | 0x20000000 | 0x10000 |
دیدگاه