Description
Keep the nonnegative source address fixed.
Address calculations distinguish an occupied last byte from an exclusive end, and alignment rounds to a defined boundary. Element counts and byte counts are not interchangeable.
Keep the nonnegative source address fixed.
When to use this tool
Use DMA Fixed Source Increment Target Address when you need an explicit address, alignment, page, or transfer-count mapping.
How to use the tool and how it works
- Enter source, target, transfers, stride. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- Read source, finalTarget, bytesAdvanced. Use the output convention below.
Keep the nonnegative source address fixed. Add transfers × stride to target using exact integers and return the advanced byte count.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| source | Source identifier or source selector, interpreted under the calculation above. | Required. Text; maximum UTF-16 length 8192. Integer syntax: optional + or - and 1-128 decimal digits; leading zeros accepted. Apply the sign restriction above. |
| target | Target | Required. Text; maximum UTF-16 length 8192. Integer syntax: optional + or - and 1-128 decimal digits; leading zeros accepted. Apply the sign restriction above. |
| transfers | Transfers | Required. Safe integer; minimum 0; maximum 1000000. |
| stride | Stride | Required. Safe integer; minimum 1; maximum 65536. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| source | Source identifier or source selector, interpreted under the calculation above. | Required. Text; maximum UTF-16 length 8192. |
| finalTarget | Final Target | Required. Text; maximum UTF-16 length 8192. |
| bytesAdvanced | Bytes Advanced | Required. Finite number. |
{
"input": {
"source": "100",
"target": "200",
"transfers": 4,
"stride": 2
},
"output": {
"source": "100",
"finalTarget": "208",
"bytesAdvanced": 8
}
} Limitations and assumptions
- The final target is the pointer after all increments, not the last written address; address-space bounds and DMA behavior are not enforced.
- Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
- Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.
Alternative or Complementary methods
Validate the resulting span against actual memory bounds and device-specific access and transfer rules.
References
Similar or alternative tools
- Microcontroller: DMA Circular Buffer End Address
Multiply elementCount by elementBytes using exact integers and add baseAddress.
- Microcontroller: DMA Element Count Vs Byte Count
Divide byteCount by bytesPerElement for completeElements and remainingBytes.