完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
刚入手的S3开发板,想装一个Micropython,从官网下载的源码编译的时候出现问题
In file included from /home/mars/esp/esp-idf_4_4/components/esp_hw_support/include/soc/spinlock.h:11, from /home/mars/esp/esp-idf_4_4/components/freertos/port/xtensa/include/freertos/portmacro.h:42, from /home/mars/esp/esp-idf_4_4/components/freertos/include/freertos/portable.h:51, from /home/mars/esp/esp-idf_4_4/components/freertos/include/freertos/FreeRTOS.h:63, from /home/mars/esp/micropython-1.18/ports/esp32/mpconfigport.h:10, from /home/mars/esp/micropython-1.18/py/mpconfig.h:62, from /home/mars/esp/micropython-1.18/py/mpstate.h:31, from /home/mars/esp/micropython-1.18/py/runtime.h:29, from /home/mars/esp/micropython-1.18/extmod/nimble/modbluetooth_nimble.c:28:/home/mars/esp/esp-idf_4_4/components/soc/esp32s3/include/soc/cpu.h:27: warning: "WSR" redefined #define WSR(reg, newval) asm volatile ("wsr %0, " #reg : : "r" (newval)); In file included from /home/mars/esp/esp-idf_4_4/components/freertos/port/xtensa/include/freertos/portmacro.h:41, from /home/mars/esp/esp-idf_4_4/components/freertos/include/freertos/portable.h:51, from /home/mars/esp/esp-idf_4_4/components/freertos/include/freertos/FreeRTOS.h:63, from /home/mars/esp/micropython-1.18/ports/esp32/mpconfigport.h:10, from /home/mars/esp/micropython-1.18/py/mpconfig.h:62, from /home/mars/esp/micropython-1.18/py/mpstate.h:31, from /home/mars/esp/micropython-1.18/py/runtime.h:29, from /home/mars/esp/micropython-1.18/extmod/nimble/modbluetooth_nimble.c:28:/home/mars/esp/esp-idf_4_4/components/xtensa/include/xt_instr_macros.h:18: note: this is the location of the previous definition #define WSR(reg, at) asm volatile ("wsr %0, %1" : : "r" (at), "i" (reg)) 报了一堆这样的错误,我看了两个文件,里面定义的内容确实有冲突,这个应该如何解决?? components/soc/esp32s3/include/soc/cpu.hCode: Select all /* C macros for xtensa special register read/write/exchange */#define RSR(reg, curval) asm volatile ("rsr %0, " #reg : "=r" (curval));#define WSR(reg, newval) asm volatile ("wsr %0, " #reg : : "r" (newval));#define XSR(reg, swapval) asm volatile ("xsr %0, " #reg : "+r" (swapval)); components/xtensa/include/xt_instr_macros.h:Code: Select all #define RSR(reg, at) asm volatile ("rsr %0, %1" : "=r" (at) : "i" (reg))#define WSR(reg, at) asm volatile ("wsr %0, %1" : : "r" (at), "i" (reg))#define XSR(reg, at) asm volatile ("xsr %0, %1" : "+r" (at) : "i" (reg))#define RER(reg, at) asm volatile ("rer %0, %1" : "=r" (at) : "r" (reg))#define WITLB(at, as) asm volatile ("witlb %0, %1; n isync n " : : "r" (at), "r" (as))#define WDTLB(at, as) asm volatile ("wdtlb %0, %1; n dsync n " : : "r" (at), "r" (as)) 关键是两个里面的内容还不一样,该用哪个? |
|
相关推荐
1个回答
|
|
在这种情况下,我们需要解决头文件冲突的问题。以下是一些建议的解决步骤:
1. 首先,找到冲突的头文件。从您提供的错误信息来看,冲突发生在 `soc/spinlock.h` 和 `freertos/portmacro.h` 这两个文件中。 2. 检查这两个文件中定义的内容。查看它们是否定义了相同的宏、变量或类型。这可能是导致冲突的原因。 3. 如果找到了相同的定义,尝试修改其中一个文件,以消除冲突。例如,您可以在其中一个文件中使用 `#undef` 来取消定义冲突的宏或变量。 4. 如果您不熟悉这些文件的内容,可以尝试在 Micropython 或 ESP-IDF 的 GitHub 仓库中搜索相关问题或解决方案。这可能会帮助您找到其他人已经解决过类似问题的方法。 5. 如果您仍然无法解决问题,可以考虑在 Micropython 或 ESP-IDF 的社区论坛或 GitHub 仓库中寻求帮助。在这些平台上,您可以向其他开发者询问关于头文件冲突的问题,并提供您遇到的错误信息。 6. 在解决问题后,重新编译 Micropython。确保在编译过程中没有其他错误。 7. 如果问题仍然存在,您可能需要考虑使用其他版本的 Micropython 或 ESP-IDF,或者尝试在不同的开发环境中进行编译。 通过以上步骤,您应该能够解决头文件冲突的问题,并成功编译 Micropython。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:53 , Processed in 0.866145 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号