Hello,
I originally asked this but did not follow up as I thought the issue was resolved. However, upon further inspection, we are still stuck on the issue. Specifically, I was wondering if it is possible to disable the ECC within the Beaglebone black manually via software? I was able to find code to enable the ECC, but none to disable. Is it disabled by default? Or is there some code I can run to explicitly disable ECC? The code below (from the AM335x technical reference manual) is used to enable L2ECC, and I was wondering if it could be tweaked to instead disable ECC?
_enableL2ECC:
STMFD sp!, {r0 - r4} @ save context of R0-R4, which secure monitor call may use
MRC p15, #1, r0, c9, c0, #2 @ Read L2 Cache Auxiliary Control Reg into R0
MOV r1, #0 @ Clear R1
MOVT r1, #0x1020 @ enable mask for ECC (set bits 21 and 28 to enable ECC)
ORR r0, r0, r1 @ OR with original register value
MOV r12, #0x0102 @ setup service ID in R12
MCR p15,#0x0,r1,c7,c5,#6 @ invalidate entire branch predictor array
DSB @ data synchronization barrier operation
ISB @ instruction synchronization barrier operation
DMB @ data memory barrier operation
SMC #1 @ secure monitor call SMC (previously SMI)
LDMFD sp!, {r0 - r4} @ after returning from SMC, restore R0-R4
MOV pc, lr @ return