Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
BSP
自定义bsp以后,stm32f4xx_hal_msp.cli里面的初始化配置问题
发布于 2019-11-01 19:21:27 浏览:1451
订阅该版
linux下学习,想问下,使用i2c或者spi等外设的时候,是否需要根据cubeMX生成的项目,复制stm32f4xx_hal_msp.c里面的 相关代码到board/CubeMX_Config/Src/stm32f4xx_hal_msp.c里面? 比如 ``` void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)```我复制以后,断点发现没有跑到 HAL_I2C_MspInit, 看指南里面,似乎是不需要复制,不太确定,另外,其他的外设是否需要复制?看指南里面,也没说的特别的清楚。指南里面针对的基本都是cubeMX生成的MDK项目,生成的for linux版的Makefile或者是cmake模式,编译的时候很多错误,暂时没法参考。 还有i2c的几个问题 流程这样 先修改Kconfig 大概这样,引脚号我对着cubeMX的i2c1查看的,位置没错 ![config.png](/uploads/201911/01/191632oyy0lgnkefbmfkzv.png) 修改stm32XXxx_hal_conf.h 启用 HAL_I2C_MODULE_ENABLED,这个就是cubeMX里面的勾选i2c的效果,我对比过cubeMX勾选i2c前后的代码生成。 menuconfig Hardware Drivers Config > On-chip Peripheral Drivers里面勾选i2c1,当然也进去配置引脚了 如果这里勾选i2c1, 那么在上面的Kernel Drivers里面,i2c会选不上,看下面的截图 ![i2c_driver.png](/uploads/201911/01/191621wvd7flmsd44pgpxq.png) 如果这里不勾选,上面的Kernel Drivers里面,i2c会处于可选状态 ![i2c_driver_normal.png](/uploads/201911/01/191605hhdhghyxhyo9iyxk.png) 项目跑起来以后, 串口list_device里面看ref是0, 我实际上板子上已经插了i2c的传感器了,总线也开启了,这里不应该显示为0吧? ![console.png](/uploads/201911/01/191626eq2pn4dg4e4e42gg.png) 我参考的[指南](https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97%E5%A4%96%E8%AE%BE%E9%A9%B1%E5%8A%A8%E6%B7%BB%E5%8A%A0%E6%8C%87%E5%8D%97.md) 举个指南里面的pwm或者adc的例子,按照指南里面5.3.2或者5.3.3的方式,在cubeMX修改了配置以后,是需要重新生成项目的,那这样的话,stm32f4xx_hal_msp.c里面的类似HAL_XXX_MspInit的初始化肯定需要自己覆盖,但是为什么我手工复制进去以后,断点为什么没有断下来?很奇怪啊 求大神指点 另外,我那个i2c启用以后,我用[文档里面的例子](https://www.rt-thread.org/document/site/programming-manual/device/i2c/i2c/#i2c_4)试过,拔掉传感器一样显示数据,而且list_device显示ref为0, 我觉得我应该是哪里没弄对,但是不知道
查看更多
2
个回答
默认排序
按发布时间排序
921742079
2019-11-01
这家伙很懒,什么也没写!
cubeMX生成的项目里面,HAL_I2C_MspInit初始化是在main.c里面主调的 git clone下来的rtt源码里面的bsp版的项目,似乎不需要配置这些初始化的代码 以为i2c为例,cubeMX生成的代码抄到board/CubeMX_Config/Src/stm32f4xx_hal_msp.c里面,主要是 void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) 搜索HAL_I2C_MspInit 在libraries/STM32F4xx_HAL/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c搜到 [attach]12028[/attach] 搜HAL_I2C_Init函数,没有主调的地方,断点调试,也没有中断 所以,是不是说,bsp版的rtt,不需要抄cubeMX里面的这些类似HAL_I2C_MspInit的实现?
921742079
2019-11-01
这家伙很懒,什么也没写!
断点一路,貌似也没发现有外设初始化的地方啊 [attach]12029[/attach] [attach]12030[/attach]
撰写答案
登录
注册新账号
关注者
0
被浏览
1.5k
关于作者
921742079
这家伙很懒,什么也没写!
提问
42
回答
145
被采纳
3
关注TA
发私信
相关问题
1
STM32 407 串口接收数据 系统卡死
2
RTT nrf24l01 设备驱动程序
3
stm32f10x串口只能发送数据,无法接收
4
第一次尝试移植rt-thread 到stm32F103系列问题
5
有人把stm32L07xx的bsp移到rtt上来了吗?求一个
6
rt-thread线程调度异常在stm32f103芯片上
7
RTT是否支持STM32F429
8
请问谁有 STM32F40x HAL + RT-THREAD 模板
9
rt-thread在stm32f411下的移植问题
10
针对STM32F7系列平台的MPU,Cache特性,需要注意哪些问题?
推荐文章
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
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部