kopia lustrzana https://github.com/espressif/esp-idf
ulp: fix calculation or ulp_run argument
The argument to ulp_run should be expressed in 32-bit words. Both the address of ulp_entry and RTC_SLOW_MEM already are uint32_t*, so their difference is the difference in addresses divided by sizeof(uint32_t). Therefore the extra division by sizeof(uint32_t) is not needed.pull/2177/merge
rodzic
81ac9c1fc7
commit
479af576ca
|
@ -134,7 +134,7 @@ Each ULP program is embedded into the ESP-IDF application as a binary blob. Appl
|
|||
|
||||
Once the program is loaded into RTC memory, application can start it, passing the address of the entry point to ``ulp_run`` function::
|
||||
|
||||
ESP_ERROR_CHECK( ulp_run((&ulp_entry - RTC_SLOW_MEM) / sizeof(uint32_t)) );
|
||||
ESP_ERROR_CHECK( ulp_run(&ulp_entry - RTC_SLOW_MEM) );
|
||||
|
||||
.. doxygenfunction:: ulp_run
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ static void init_ulp_program()
|
|||
ulp_set_wakeup_period(0, 20000);
|
||||
|
||||
/* Start the program */
|
||||
err = ulp_run((&ulp_entry - RTC_SLOW_MEM) / sizeof(uint32_t));
|
||||
err = ulp_run(&ulp_entry - RTC_SLOW_MEM);
|
||||
ESP_ERROR_CHECK(err);
|
||||
}
|
||||
|
||||
|
|
|
@ -89,6 +89,6 @@ static void start_ulp_program()
|
|||
ulp_sample_counter = 0;
|
||||
|
||||
/* Start the program */
|
||||
esp_err_t err = ulp_run((&ulp_entry - RTC_SLOW_MEM) / sizeof(uint32_t));
|
||||
esp_err_t err = ulp_run(&ulp_entry - RTC_SLOW_MEM);
|
||||
ESP_ERROR_CHECK(err);
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue