tag:blogger.com,1999:blog-7549705215513488945.post5575342553544488850..comments2024-03-28T01:49:56.146-07:00Comments on IoT Sharing: Demo 25: How to configure ESP32 Dual core - Multicore in Arduino ESP32Tech It Yourselfhttp://www.blogger.com/profile/00459942306964625402noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-7549705215513488945.post-23119558558169940672021-05-14T06:26:29.001-07:002021-05-14T06:26:29.001-07:00Just incomparable read. I see you have kept tremen...Just incomparable read. I see you have kept tremendous contribution regarding on how to configure ESP32 dual core issue. The focuses you revealed here was indeed praiseworthy and effective. I appreciate your long supports technical details. In fact, my browsing story was to hunt information related to <a href="https://itbiztek.com/managed-it-services/" rel="nofollow">IT services Toronto</a>, but I was completely satisfied with what help you dedicated to us. Gitananoreply@blogger.comtag:blogger.com,1999:blog-7549705215513488945.post-81930329241424927582018-08-15T20:04:00.009-07:002018-08-15T20:04:00.009-07:00Don Warr Calgary AB, Canada..
This tut helped in ...Don Warr Calgary AB, Canada..<br /><br />This tut helped in my time of need,,, Thank you so much.<br />Your About page say's "Share your knowledge. It is a way to achieve immortality."<br />This is true, But Helping Others, Helps gets you to Heaven too... LoL <br />Keep up the wonderful work, not everyone can do it..Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7549705215513488945.post-67158188795559349342017-11-06T09:15:13.226-08:002017-11-06T09:15:13.226-08:00Hi Yves,
There is a function which returns the cpu...Hi Yves,<br />There is a function which returns the cpu used for the interrupt in esp32\tools\sdk\include\esp32\esp_intr_alloc.h:<br />--------------------------------------------------------------------------<br />/**<br /> * @brief Get CPU number an interrupt is tied to<br /> * <br /> * @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus<br /> *<br /> * @return The core number where the interrupt is allocated<br /> */<br />int esp_intr_get_cpu(intr_handle_t handle);<br />--------------------------------------------------------------------------<br /><br /><br />This function is only used twice, once in esp32\cores\esp32\esp32-hal-gpio.c __attachInterrupt<br />where it enables int1 or 4 depending on which cpu the interrupt was created:<br />--------------------------------------------------------------------------<br />...<br />if(esp_intr_get_cpu(gpio_intr_handle)) { //APP_CPU<br />GPIO.pin[pin].int_ena = 1;<br />} else { //PRO_CPU<br />GPIO.pin[pin].int_ena = 4;<br />}<br />...<br />--------------------------------------------------------------------------<br /><br />More interresting for you is probably esp32\cores\esp32\esp32-hal-timer.c timerAttachInterrupt<br />where it's used in this way:<br />intr_matrix_set(esp_intr_get_cpu(intr_handle), intr_source, esp_intr_get_intno(intr_handle));<br /><br />This function is defined in esp32\tools\sdk\include\esp32\rom\ets_sys.h<br />--------------------------------------------------------------------------<br />/**<br />* @brief Attach an CPU interrupt to a hardware source.<br />* We have 4 steps to use an interrupt:<br />* 1.Attach hardware interrupt source to CPU. intr_matrix_set(0, ETS_WIFI_MAC_INTR_SOURCE, ETS_WMAC_INUM);<br />* 2.Set interrupt handler. xt_set_interrupt_handler(ETS_WMAC_INUM, func, NULL);<br />* 3.Enable interrupt for CPU. xt_ints_on(1 << ETS_WMAC_INUM);<br />* 4.Enable interrupt in the module.<br />*<br />* @param int cpu_no : The CPU which the interrupt number belongs.<br />*<br />* @param uint32_t model_num : The interrupt hardware source number, please see the interrupt hardware source table.<br />*<br />* @param uint32_t intr_num : The interrupt number CPU, please see the interrupt cpu using table.<br />*<br />* @return None<br />*/<br />void intr_matrix_set(int cpu_no, uint32_t model_num, uint32_t intr_num);<br />--------------------------------------------------------------------------<br /><br />esp32\tools\sdk\include\esp32\esp_intr_alloc.h defines the esp_intr_get_intno:<br />--------------------------------------------------------------------------<br />/**<br />* @brief Get the allocated interrupt for a certain handle<br />*<br />* @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus<br />*<br />* @return The interrupt number<br />*/<br />int esp_intr_get_intno(intr_handle_t handle);<br />--------------------------------------------------------------------------<br /><br />Have phun. :DAnonymoushttps://www.blogger.com/profile/15454977347697711327noreply@blogger.comtag:blogger.com,1999:blog-7549705215513488945.post-81884614032678692662017-11-05T22:31:56.034-08:002017-11-05T22:31:56.034-08:00This comment has been removed by the author.Anonymoushttps://www.blogger.com/profile/15454977347697711327noreply@blogger.comtag:blogger.com,1999:blog-7549705215513488945.post-42938368333032353662017-11-01T13:04:25.201-07:002017-11-01T13:04:25.201-07:00There seems to be a way where one can use a esp_in...There seems to be a way where one can use a esp_intr_alloc() function to "pin a external interrupt" to a core of choice ...<br />But i can nowhere find a example of the use of "esp_intr_alloc() and creating a task pinned to a core.<br />Can i get some way to point me to the end of the tunnel overhere?<br />GrtzAnonymoushttps://www.blogger.com/profile/11270906271152791031noreply@blogger.comtag:blogger.com,1999:blog-7549705215513488945.post-45532490766158937572017-08-29T05:26:42.689-07:002017-08-29T05:26:42.689-07:00yes you canyes you canTech It Yourselfhttps://www.blogger.com/profile/00459942306964625402noreply@blogger.comtag:blogger.com,1999:blog-7549705215513488945.post-77033291878643431012017-08-02T07:39:58.298-07:002017-08-02T07:39:58.298-07:00can we run udp server as a task.......can we run udp server as a task.......Anonymoushttps://www.blogger.com/profile/02518094368317232994noreply@blogger.com