Merge branch 'fix/set_dma_incr_fail_on_p4eco5_v5.5' into 'release/v5.5'

fix(gdma): fix set dma burst size failure on p4 v3.0 (v5.5)

See merge request espressif/esp-idf!44461
This commit is contained in:
morris
2025-12-23 23:41:47 +08:00
2 changed files with 17 additions and 11 deletions

View File

@@ -604,6 +604,7 @@ typedef union {
* task.
*/
uint32_t out_etm_en_chn: 1;
uint32_t reserved_7: 1;
/** out_data_burst_mode_sel_chn : R/W; bitpos: [9:8]; default: 1;
* Configures max burst size for TX channeln.
* 2'b00: single

View File

@@ -8,13 +8,13 @@
import argparse
import subprocess
from pyparsing import alphanums
from pyparsing import hexnums
from pyparsing import LineEnd
from pyparsing import LineStart
from pyparsing import Literal
from pyparsing import Optional
from pyparsing import Word
from pyparsing import alphanums
from pyparsing import hexnums
argparser = argparse.ArgumentParser()
@@ -29,21 +29,26 @@ contents = subprocess.check_output([args.objdump, '-t', args.elf]).decode()
def check_location(symbol, expected):
pattern = (LineStart() + Word(hexnums).setResultsName('address')
+ Optional(Word(alphanums, exact=1))
+ Optional(Word(alphanums,exact=1))
+ Word(alphanums + '._*').setResultsName('actual')
+ Word(hexnums)
+ Literal(symbol)
+ LineEnd())
pattern = (
LineStart()
+ Word(hexnums).set_results_name('address')
+ Optional(Word(alphanums, exact=1))
+ Optional(Word(alphanums, exact=1))
+ Word(alphanums + '._*').set_results_name('actual')
+ Word(hexnums)
+ Literal(symbol)
+ LineEnd()
)
try:
results = pattern.searchString(contents)[0]
results = pattern.search_string(contents)[0]
except IndexError:
raise Exception("check placement fail: '%s' was not found" % (symbol))
if results.actual != expected:
raise Exception("check placement fail: '%s' was placed in '%s', not in '%s'" % (symbol, results.actual, expected))
raise Exception(
"check placement fail: '%s' was placed in '%s', not in '%s'" % (symbol, results.actual, expected)
)
print("check placement pass: '%s' was successfully placed in '%s'" % (symbol, results.actual))
return int(results.address, 16)