Пока тестом пытаю - не сростается:( тест:
#include "efm32.h"
#include "efm32_chip.h"
#include "efm32_bitband.h"
void SystemInit(void){
SCB->VTOR=0x1000;
CHIP_Init();
/* Wait for any pending previous write operation to have been completed in */
/* low frequency domain */
while (WDOG->SYNCBUSY & WDOG_SYNCBUSY_CTRL)
;
BITBAND_Peripheral(&(WDOG->CTRL), _WDOG_CTRL_EN_SHIFT, (unsigned int)1);
}
//#define arrsize 32768
//#define arrsize (32768/2)
//#define arrsize 1194
//#define arrsize (545)
#define arrsize (548)
const unsigned char arr0[arrsize] = {0};
const unsigned char arr1[arrsize] = {0};
volatile unsigned char arr[arrsize];
int main(void){
int i;
i = 0;
while(1){
arr[i] = arr0[i];
i++;
if(i>=arrsize)i=0;
i+=arr1[i];
i-=arr1[i];
}
return 0;
}
в опциях проекта
Target
IROM1 0x1000 0xFF000
C/C++
EFM32GG880F1024
Level 0 (-O0)
Linker
добавлял
--entry Reset_Handler --first __Vectors
бывает грузится, а бывает нет - выхлоп:
Erase Done.
***JLink Error: Can not read register 15 (R15) while CPU is running
**JLink Warning: CPU could not be halted
***JLink Error: Could not read memory location 0x20000000 when trying to clear soft RAM BP
Could not start CPU core. (ErrorCode: -1)
***JLink Error: Can not read register 20 (CFBP) while CPU is running
**JLink Warning: CPU could not be halted
***JLink Error: Could not start CPU core. (ErrorCode: -1)
***JLink Error: CPU is not halted
***JLink Error: Can not read register 15 (R15) while CPU is running
**JLink Warning: CPU could not be halted
***JLink Error: Could not read memory location 0x20000000 when trying to clear soft RAM BP
Could not start CPU core. (ErrorCode: -1)
Programming Failed!
***JLink Error: Could not read memory location 0x20000000 when trying to clear soft RAM BP
понижал тактовую SWD с 2МГц до 100 кГц - ничего не меняется, кроме времени после стирания до паганого выхлопа.