feat(esp8266): refactor function "os_update_cpu_frequency"

This commit is contained in:
Dong Heng
2020-03-04 19:37:56 +08:00
parent 3f9eccddf6
commit bb1e2b1ac1
5 changed files with 18 additions and 2 deletions

View File

@ -32,6 +32,7 @@
static const char* TAG = "system_api";
static uint8_t base_mac_addr[6] = { 0 };
uint32_t g_esp_ticks_per_us = 80;
// Bootloader can get this information
const __attribute__((section(".SystemInfoVector.text"))) esp_sys_info_t g_esp_sys_info = {
@ -366,3 +367,18 @@ uint32_t esp_get_old_sysconf_addr(void)
{
return rtc_sys_info.old_sysconf_addr;
}
void os_update_cpu_frequency(uint32_t ticks_per_us)
{
extern uint32_t _xt_tick_divisor;
if (REG_READ(DPORT_CTL_REG) & DPORT_CTL_DOUBLE_CLK) {
g_esp_ticks_per_us = CPU_CLK_FREQ * 2 / 1000000;
_xt_tick_divisor = (CPU_CLK_FREQ * 2 / CONFIG_FREERTOS_HZ);
} else {
g_esp_ticks_per_us = CPU_CLK_FREQ / 1000000;;
_xt_tick_divisor = (CPU_CLK_FREQ / CONFIG_FREERTOS_HZ);
}
}
void ets_update_cpu_frequency(uint32_t ticks_per_us) __attribute__((alias("os_update_cpu_frequency")));