Jump to content

    

задание размера стеков

как разместить остальные переменные в CCMRAM.

Я делал так:

в Scatter-файл обявляю:

LR_IRAM2 0x10000000 0x00010000  {
  RW_IRAM2 0x10000000 0x00010000  {
    *(CCM_RW)
   .ANY (+RW)
  }
}

в "main.c"

#pragma arm section rwdata = "CCM_RW"
uint8_t h[] = {1, 2, 3};
#pragma arm section rwdata

#pragma arm section zidata = "CCM_RW"
SAMPLE M_Buf[COUNT];
#pragma arm section zidata

Надеюсь поможет.

 

Share this post


Link to post
Share on other sites
Я делал так:

...

Надеюсь поможет.

Спасибо. Я уже все сделал, поизвращался со scatter файлом по-всякому.

Разместил массив в основной памяти, забрал всю под завязку, все 40 KB.

В CCMRAM разместил стек, код и остальные переменные.

Все работает замечательно. :rolleyes:

LR_IROM1 0x08000000 0x040000  {	; load region size_region
 ER_IROM1 0x08000000 0x040000  {	; load address = execution address
  *.o (RESET, +First)
  *(InRoot$$Sections)
  .ANY (+RO)
 }
 ER 0x10000800 0x001800  {		; load address = execution address
  .ANY (ccmram)
 }
 ARM_LIB_STACK 0x10000800 EMPTY -0x000200  {	; stack
   ;
 }
 ARM_LIB_HEAP  +0 EMPTY  0  {			; heap
   ;
 }
 RW_IRAM1 0x20000000 ANY_SIZE 0x00A000 0x00A000  {	; RW data, WaveBuff
   ; .ANY (+RW +ZI)
   .ANY (wave)
 }
 RW_IRAM2 0x10000000 0x002000  {	; CCMRAM
  .ANY (+RW +ZI)
 }
}

 

P.S. размер CCM памяти у вас великоват, 64K. Разве там столько ее?

P.P.S. основной затык был в неправильном размере памяти в Кейле (писал выше), и что в процессе создания стека нужно иметь еще столько же пустой. Последнее мне не совсем понятно, не докопался.

Share this post


Link to post
Share on other sites

CCM-Ram у F4xx вроди как 64k. Пример под F4 discovery писался, sorry не уточнил.

post-27577-1396795844_thumb.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this