OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3238|回复: 4

出厂uboot代码中,board_init_f 里未设定led对应端口复用关系,为什么还可以点灯

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-3-10
在线时间
4 小时
发表于 2022-3-17 16:15:55 | 显示全部楼层 |阅读模式
1金钱
问题1:出厂uboot代码中,led1对应的gpio口的复用关系在 board_init()中配置,board_init 在board_init_r里被调用,但board_init_f 却能调用点灯的函数,这是什么道理?还是前面还有另外配置复用的地方?


问题2:board_init 里setup_i2c后,需要调 i2c_set_bus_num() 吗,bus号应该是多少呢?我看数组i2c_bases里元素存储顺序是I2C1_BASE_ADDR、I2C2_BASE_ADDR,是I2C1就对应0、I2C2对应1 这样理解吗?如果需要调i2c_set_bus_num()且配完后,就可以直接用i2c_write\i2c_read 了吗?

顺便想求下dm部分写的好的文章,想学下,网上搜了很多,还是感觉没看懂,能推荐些偏实操的文章吗,谢谢。

小菜鸡一枚,希望各位大神不吝赐教



最佳答案

查看完整内容[请看2#楼]

按照这个调用关系来说,确实如你所说,不过你找手册看下这个引脚的默认配置,如果他默认就是作为GPIO功能,那自然没啥问题 至于你第二个问题 还是你自己去啃代码,u-boot代码还是比较简单的、DM驱动框架网上有很多大神讲解的很清楚,我个人觉得也是比较简单!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-3-10
在线时间
4 小时
 楼主| 发表于 2022-3-21 10:51:15 | 显示全部楼层
问题1:@xiaotaotao 非常感谢,查了下手册,那个脚确实默认配置成GPIO的

问题2:
a、跟了下代码,i2c_bus 号和 i2c_index就是与i2c_bases[]对应的,即0~3 对应 i2c1~4。

b、setup_i2c后,要使用这个i2c,应该调下 i2c_set_bus_num(),如果当前i2c bus与函数设的一致,会直接返回,否则则会切换i2c总线。后续的I2C读写都会用这条总线的。

DM:这篇写的偏实际操作的,说了怎么构建一个DM,感觉很好。
https://blog.csdn.net/ZHONGCAI0901/article/details/117565131
回复

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2022-3-17 16:15:56 | 显示全部楼层
按照这个调用关系来说,确实如你所说,不过你找手册看下这个引脚的默认配置,如果他默认就是作为GPIO功能,那自然没啥问题
至于你第二个问题 还是你自己去啃代码,u-boot代码还是比较简单的、DM驱动框架网上有很多大神讲解的很清楚,我个人觉得也是比较简单!
森罗万象
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2022-3-18 00:53:47 | 显示全部楼层
帮顶
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-3-10
在线时间
4 小时
 楼主| 发表于 2022-3-18 09:12:41 | 显示全部楼层
昨天发帖,发出去代码图片没了,补发个
企业微信截图_16475658289537.png 企业微信截图_16475656567444.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 12:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表