完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
gcc 生成的代码会导致致命崩溃:
// app.c #include "user_interface.h" #include "osapi.h" void user_init(void) { uint32 ip = 17082560; os_printf("%d.%d.%d.%d\n", IP2STR(ip)); } SDK ver: 1.5.3(aec24ac9) compiled @ Apr 18 2016 13:20:18 phy ver: 9281, pp ver: 9.9 Fatal exception 28(LoadProhibitedCause): epc1=0x4020103c, epc2=0x00000000, epc3=0x00000000, excvaddr = 0x0104a8c0,depc=0x00000000 (user_init 位于 0x40201020) gcc 标志: xtensa-lx106-elf-gcc flags=-c -Wall -Wextra -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -fno-exceptions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections 重新定义 IP2STR 时,问题消失: void user_init(void) { uint32 ip = 17082560; #define IP2STR(addr) (uint8_t)(addr & 0xFF), (uint8_t)((addr >> 8) & 0xFF), (uint8_t)((addr >> 16) & 0xFF), (uint8_t)((addr > > 24) & 0xFF) os_printf("%d.%d.%d.%d\n", IP2STR(ip)); 当 IP2STR 从 .text.user_init 部分的 ip_addr.h( ) 反汇编中引用时: 00000000 : 0: 000000 生病 3: a8c000 excw 6: c10104 excw 9: 04a8 l32i.n a10, a4, 0 b: a8c201 l32r a0, fffea314 e: c30104 excw 11: 04a8 l32i.n a10, a 4, 0 13: 000001 l32r a0, fffc0014 ... 00000018 : 18: f0c112 addi a1, a1, -16 1b: fffa31 l32r a3, 4 1e: fffa41 l32r a4 , 8 < user_init-0x10> 21: fffa51 l32r a5, c 24: fffb61 l32r a6, 10 27: 3109 s32i.n a0, a1, 12 29: fff521 l32r a2, 0 2c: 000332 l8ui a3, a3, 0 2f: 000442 l8ui a4, a4, 0 32: 000552 l8ui a5, a5, 0 35: 000662 l8ui a6, a6, 0 38: fff701 l32r a0, 14 3b: 0000c0 callx0 a0 3e: 3108 l32i.n a0, a1, 12 40: 10c112 addi a1, a1, 16 43: f00d ret.n 当 IP2STR 被重新定义时( ) .text.user_init 部分的反汇编: 00000000 : ... 00000008 : 8: fffe21 l32r a2, 0 b: f0c112 addi a1, a1, -16 e: c0a032 movi a3, 192 11: a8a042 movi a4, 168 14: 450c movi.n a5, 4 16: 160c movi.n a6, 1 18: 3109 s32i.n a0, a1, 12 1a: fffa01 l32r a0, 4 1d: 0000c0 callx0 a0 20: 3108 l32i .n a0, a1, 12 22: 10c112 addi a1, a1, 16 25: f00d ret.n 关于这里可能发生的事情的任何见解? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
528浏览 6评论
438浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
425浏览 5评论
422浏览 4评论
396浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 01:43 , Processed in 0.930525 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号