Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ESP32-C3_RISC-V
linker链接报错
undefined reference to `rt_i2c_bus_device_register'
发布于 2023-03-27 11:21:32 浏览:463
订阅该版
```c #include
#include
#include "driver/i2c.h" #include
#include
// #define OLED_ADDR 0x3C // #define OLED_CMD 0 // #define OLED_DATA 1 #define portTICK_RATE_MS portTICK_PERIOD_MS struct esp32_c3_i2c { struct rt_i2c_bus_device bus; i2c_config_t i2c_cofig; char *device_name; }; struct esp32_c3_i2c hw_i2c; static rt_err_t i2c_master_init(void) { i2c_config_t conf; conf.mode = I2C_MODE_MASTER; conf.sda_io_num = I2C_MASTER_SDA_IO; conf.sda_pullup_en = GPIO_PULLUP_ENABLE; conf.scl_io_num = I2C_MASTER_SCL_IO; conf.scl_pullup_en = GPIO_PULLUP_ENABLE; conf.master.clk_speed = 100000; hw_i2c.i2c_cofig=conf; i2c_param_config(I2C_MASTER_NUM, &conf); return i2c_driver_install(I2C_MASTER_NUM, conf.mode, I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE, 0); } static rt_size_t es32c3_master_xfer(struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num) { ... } static struct rt_i2c_bus_device_ops es32c3_i2c_ops = { es32c3_master_xfer, RT_NULL, RT_NULL }; int rt_hw_i2c_init(void) { i2c_master_init(); struct rt_i2c_bus_device i2c_bus_device=hw_i2c.bus; hw_i2c.device_name="i2c0"; i2c_bus_device.priv = (void *)I2C_MASTER_NUM; i2c_bus_device.timeout = 0x0fffffff; i2c_bus_device.retries = 0; i2c_bus_device.ops = es32c3_master_xfer; rt_err_t result = rt_i2c_bus_device_register( &i2c_bus_device, "i2c0"); if (result != RT_EOK) { rt_kprintf("i2c device register failed\n"); return result; } rt_kprintf("i2c device register succeeded\n"); return RT_EOK; } INIT_DEVICE_EXPORT(rt_hw_i2c_init); ``` 不知道为什么编译的时候报这个错误 ``` FAILED: rtthread.elf cmd.exe /C "cd . && D:\rt-thread-master\bsp\ESP32_C3\packages\tools\riscv32-esp-elf\esp-2022r1-11.2.0\riscv32-esp-elf\bin\riscv32-esp-elf-g++.exe -march=rv32imc -nostartfiles -march=rv32imc --specs=nosys.specs @CMakeFiles\rtthread.elf.rsp -o rtthread.elf && cd ." d:/rt-thread-master/bsp/esp32_c3/packages/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld.exe: esp-idf/main/libmain.a(drv_hw_i2c.c.obj): in function `rt_hw_i2c_init': D:/rt-thread-master/bsp/ESP32_C3/drivers/drv_hw_i2c.c:108: undefined reference to `rt_i2c_bus_device_register' collect2.exe: error: ld returned 1 exit status ``` ![编译报错.png](https://oss-club.rt-thread.org/uploads/20230327/1d86fc60feaa8ad79e016e1bc4c80a53.png)
查看更多
1
个回答
默认排序
按发布时间排序
hunmoya
2023-03-27
这家伙很懒,什么也没写!
出现问题的函数在最后那段当中 ```c int rt_hw_i2c_init(void) { i2c_master_init(); struct rt_i2c_bus_device i2c_bus_device=hw_i2c.bus; hw_i2c.device_name="i2c0"; i2c_bus_device.priv = (void *)I2C_MASTER_NUM; i2c_bus_device.timeout = 0x0fffffff; i2c_bus_device.retries = 0; i2c_bus_device.ops = es32c3_master_xfer; rt_err_t result = rt_i2c_bus_device_register( &i2c_bus_device, "i2c0"); if (result != RT_EOK) { rt_kprintf("i2c device register failed\n"); return result; } rt_kprintf("i2c device register succeeded\n"); return RT_EOK; } ```
撰写答案
登录
注册新账号
关注者
0
被浏览
463
关于作者
hunmoya
这家伙很懒,什么也没写!
提问
3
回答
1
被采纳
0
关注TA
发私信
相关问题
1
rt-thread studio linking第三方库出现问题
2
gcc编译不能链接超过 2MB
3
请问如何修改IAR的工程的linker的路径?
4
编译失败ld returned 1 exit status
5
代码链接错误,找不到函数
6
开启-flto后在链接阶段失败,有人碰到过的吗 ?
7
HAl库函数链接报错
8
hal库里定时器相关的函数出错
9
挂载sram时链接错误。。。。。。。。。。。。
10
Link error: `m_data' overflowed by 1480440 bytes
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【1024】瑞萨 RA 系列 BSP 制作与适配最新版本的 Keil 、 RSC、固件,较新的 FSP
2
基于 RT-Thread 星火一号开发板的俄罗斯方块
3
RTThread studio 中添加 Micro_ROS 软件包有 Bug
4
【1024 RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习】
5
【1024】用HMI-Board 復刻 X-Track
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
cubemx
PWM
flash
packages_软件包
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
keil_MDK
SFUD
rt_mq_消息队列_msg_queue
C++_cpp
at_device
ulog
本月问答贡献
出出啊
1516
个答案
342
次被采纳
小小李sunny
1440
个答案
289
次被采纳
张世争
793
个答案
171
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
4
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部