1、In the latest Reference Manual, there is still a description of the BP Memory Map and Control Register Definitions, SO it looks like this functional component still exists,
I guess that the SDMA documentation has simply been copied from previous products.
these addresses are the same but have different meanings, why is this, are they time-sharing multiplexed?
Good question, but as the BP port is probably not connected, I think that no sharing of the SDMA is possible.
3、If I use SDMA as a normal DMA, can I not pay attention to the SDMA Internal (Core) registers?
What does "use SDMA as a normal DMA" mean? The SDMA is more or less an independent processor which is used for performing data transfers between peripherals and (DDR) memory. These data transfers are fully controlled by software ("SDMA scripts"). There is no "dump" DMA mode where the SDMA behaves like a "normal" stupid DMA controller. But some of the existing SDMA scripts (app_2_per, per_2_app) perform "register-to-memory" transfers like a dump DMA would do.
How to use the SDMA Scripts in Appendix A, are there any examples?
This depends a little bit on the OS you use. For Linux you can get almost everything from the kernel sources. If you want to use the SDMA from "bare metall", you can look at some previous SDMA question in this forum.
I personally learned most about the SDMA by developing my SDMA debugger
Are you able to provide some information about your project?
- From which processor (Cortex-A / Cortex-M) do you want to use the SDMA?
- Which OS do you use (on the target platform)?
- Which type of peripheral do you want to access with the SDMA?