1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Initial support for CPU frequency selection

This commit is contained in:
Ivan Grokhotkov 2015-04-03 02:18:13 +03:00
parent e6f3a59a52
commit ddb2343bc0
2 changed files with 20 additions and 1 deletions

View File

@ -1,5 +1,5 @@
menu.UploadSpeed=Upload Speed
menu.CpuFrequency=CPU Frequency
##############################################################
esp01.name=Generic ESP8266 board
@ -17,6 +17,12 @@ esp01.build.board=ESP8266_ESP01
esp01.build.core=esp8266
esp01.build.variant=esp01
esp01.menu.CpuFrequency.80=80MHz
esp01.menu.CpuFrequency.80.build.f_cpu=80000000L
esp01.menu.CpuFrequency.160=160MHz
esp01.menu.CpuFrequency.160.build.f_cpu=160000000L
esp01.upload.tool=esptool
esp01.menu.UploadSpeed.115200=115200
esp01.menu.UploadSpeed.115200.upload.speed=115200

View File

@ -37,12 +37,24 @@ extern "C" {
int atexit(void (*func)()) { return 0; }
extern "C" void ets_update_cpu_frequency(int freqmhz);
void initVariant() __attribute__((weak));
void initVariant() { }
extern void loop();
extern void setup();
void preloop_update_frequency() __attribute__((weak));
void preloop_update_frequency()
{
#if defined(F_CPU) && (F_CPU == 16000000L)
REG_SET_BIT(0x3ff00014, BIT(0));
ets_update_cpu_frequency(160);
#endif
}
extern void (*__init_array_start)(void);
extern void (*__init_array_end)(void);
@ -87,6 +99,7 @@ static void loop_wrapper()
setup();
setup_done = true;
}
preloop_update_frequency();
loop();
esp_schedule();
}