eDMA from the bitband region on K20

cancel
Showing results for 
Search instead for 
Did you mean: 

eDMA from the bitband region on K20

Jump to solution
258 Views
Contributor V

I am trying to perform DMA transfers from the bitband region (0x22000000) on the K20, but eDMA reports a bus error on a source read (SBE set in the DMA_ES register). The same code works fine if I access my source data placed in the SRAM_U region at 0x20000000 (e.g. the same code does not report a bus error if I change DMA_TCD2_SADDR from 0x22000000 to 0x20000000 with no other changes).

At first I thought it was because of byte accesses, but the bitband region should support all kinds of reads, besides then I also tried with word reads, same result.

Is there an undocumented limitation of the eDMA engine? Is it unable to access the bitband region? (if so, that would be extremely disappointing)

Labels (1)
Tags (4)
1 Solution
39 Views
Senior Contributor III

I don't know precisely what chip you are using, but just looking at Table 4-1 "System Memory Map" of K1064M72SF1RM.pdf, access to the SRAM bitband says:

0x2200_0000–0x23FF_FFFF           Aliased to SRAM_U bitband           Cortex-M4 core only

so eDMA can't get to SRAM bitband.

View solution in original post

0 Kudos
2 Replies
40 Views
Senior Contributor III

I don't know precisely what chip you are using, but just looking at Table 4-1 "System Memory Map" of K1064M72SF1RM.pdf, access to the SRAM bitband says:

0x2200_0000–0x23FF_FFFF           Aliased to SRAM_U bitband           Cortex-M4 core only

so eDMA can't get to SRAM bitband.

View solution in original post

0 Kudos
39 Views
Contributor V

*Sigh* — so it is documented, just not in the eDMA section. Thanks for pointing that out.

It seems every time I discover a cool feature in the Kinetis line, it turns out that it is so limited that I can't use it for anything…