Other Parts Discussed in Thread: LP5569
I am controlling LP5569 from ESP32. I can connect and configure the chip, I could also control LEDs and charge pump directly - no issues whatsoever. It also confirms that my I2C setup and general addressing are working.
However, when I try to upload a test program into SRAM and try to run it - nothing is happening. No error, but PC is not advancing. This is the startup sequence I am using now. I am using Engine 1 only.
-
Load program into first memory bank (set PROG_MEM_PAGE_SELECT to 0, then write 50 bytes starting at PROGRAM_MEM_0 paginating as nessesary and filling the rest with zeroes)
-
Read program back and compare (to verify it was written correctly)
-
Enable charge pump and onboard clock (write 0x59 to MISC @ 0x2F)
-
Enable chip (write 0x40 to CONFIG @ 0x00)
-
Clear interrupts (write 0x07 to ENGINE_STATUS @ 0x3C)
-
Set Engine 1 program starting address (write 0 to ENGINE1_PROG_START@0x4B ) - belts and braces, as it is already 0
-
Set Engine 1 PC ( write 0 to ENGINE1_PC@0x30h ) - belts and braces, as it is already 0
-
Set Engine 1 execution control as Free Run (write 0x80 to LED_ENGINE_CONTROL1 @ 0x01)
-
Start Engine 1 (write 0x80 to LED_ENGINE_CONTROL2 @ 0x02)
What am I missing/doing wrong?