Hi,
I need to capture images very quickly with the MilkV Duo256M, but the Linux boot time is too long for my use case. Is it possible to put the device into a low-power or sleep mode and wake it up quickly for image capture?
Alternatively, can I use an 8051 MCU or a FreeRTOS core to handle rapid photo capture without needing to boot into Linux? Any advice or suggestions would be greatly appreciated.
Thanks in advance!
3 Likes
I spent a little bit of time looking into this. As far as I can tell there are only two “power domains”. One for the always on systems (8501, rtc) and the MCU domain for the big cores and everything else. These are the steps for sleep/wake according to the datasheet:
MCU power_off:
- Soft reset register = 0
- Set register reg_mcu_iso_en = 1
- Set register reg_mcu_pwr_req = 0
MCU power_on:
- Set register reg_mcu_pwr_req = 1
- Polling register reg_mcu_pwr_ack = 1
- Set register reg_mcu_iso_en = 0
- Soft reset register = 1
I had no luck with this. I was able to get the linux core to restart but not sleep completely. I think the next step is to start poking some of the power registers.
The register overview in the sg2000 datasheet probably has what you’re looking for: 6.5 RTC Register Overview
The rtc_ip_pwr_req register (offset 0x080) controls power to the MCU subsystem:
reg_mcu_pwr_req (bit 2): Request to power on/off MCU subsystem
reg_mcu_pwr_ack (bit 18): Acknowledgment of MCU power status
I haven’t had time to actually mess with these but if you manage to get it sleeping/waking please let me know! Thanks
2 Likes