Alejandro,
Your program is placed at Flash memory located from 0x0800 0000 to 0x080F FFFF (2^20 address bits, totaling 1MB).
Program data are placed at SRAM which is segmented in 3 blocks:
- 64KB from 0x1000 0000 to 0x1000 FFFF (CCM)
- 112kb from 0x2000 0000 to 0x2001 0x2001 BFFF
- 16kb from 0x2001 C000 to 0x2001 FFFF
This segmentation is made because each block is connected differently internamente.
The first block (CCM) is directly connect to CPU, so if some DMA operation is locking data bus in diferent block, the CPU can continue run on first block. With diferent blocks is possibe to run concurrent DMA operations too.
Português:
O seu programa é colocado na memória Flash localizada em 0x0800 0000 a 0x080F FFFF (2^20 address bits, total=1MB).
Os dados de programa (variaveis, não contantes) são colocados na SRAM que é segmentada em 3 blocos:
- 64KB - 0x1000 0000 a 0x1000 FFFF (CCM)
- 112kb - 0x2000 0000 a 0x2001 0x2001 BFFF
- 16kb - 0x2001 C000 a 0x2001 FFFF
Esta segmentação é feita porque cada bloco é conectado diferentemente internamente através do BusMatrix.
O primeiro bloco (CCM) é conectado diretamente a CPU, então se alguma operacão DMA estiver travando um barramento em um bloco diferente, a CPU continue rodando o código do primeiro bloco. Com diferentes blocos também é possível rodar operacões DMA simultaneas.
Veja o Manual de Referencia capitulo 2.
Lo siento, yo sólo hablo portugués y un poco de Inglés
Salutos
Henrique