pvvx
Активный участник сообщества
C sdk 4.0 ещё не всё доделано для режимов энергосбережения (галка в системных настройках на web странице) при использовании RTL8195AM, связанное со sleep SDRAM. Возникают сообщения ошибки повторной инициализации использования GPIO на SDRAM в режиме AP. Вообще с GPIO процедурами там сплошной бардак и противоречия с hal_pinmux.c, с таблицей GPIOState, с функционированием GpioFunctionChk(). Что-то там не так алгоритмически* накрутили в Ameba с GpioFunctionChk() и оно полезло на PMU c опцией FREERTOS_PMU_TICKLESS_SUSPEND_SDRAM 1. Даже при правильной работе, замеры показывают, что при включении suspend SDRAM потребление больше, чем при вечно включенной Их процедуры с пачками :Обнаружил непонятные глюки в веб-свалке.
gpio_init(&gpio_obj, Px_x);
gpio_mode(&gpio_obj, PullDown);
gpio_dir(&gpio_obj, PIN_OUTPUT);
gpio_write(&gpio_obj, GPIO_PIN_LOW);
переключения SRDAM в sleep при каждом тике жрут больше чем сама SDRAM
Короче косяков в SDK ещё много...
*После gpio_init и использования GPIO должна вызываться gpio_deinit, освобождающая флаги в таблице GPIOState[], чего не наблюдается, а повторно вызывается HAL инициализации пина и он орет об ошибке. Временно просто убил эту проверку с выводом ошибки в LogUART...
Последнее редактирование: