如何解决如何在 Yocto/BeagleBoneBlack 中激活总线支持?
我正在尝试使用 beagleboneblack 为 Yocto 提供总线支持。
我通过 bitbake -c menuconfig virtual/kernel
进行了内核配置,并将以下驱动程序添加到内核中。
- 原始 CAN 协议
- 广播管理器 CAN 协议
- CAN 网关/路由器
- 支持 Netlink 的平台 CAN 驱动程序
- 可以进行位定时计算
- TI 高端 CAN 控制器
并将 IMAGE_INSTALL_append = " can-utils iproute2"
添加到 local.conf
。
当我的 yocto 启动时,串行控制台似乎显示
[ 1.239593] can: controller area network core (rev 20170425 abi 9)
[ 1.246828] NET: Registered protocol family 29
[ 1.251438] can: raw protocol (rev 20170425)
[ 1.255758] can: broadcast manager protocol (rev 20170425 t)
[ 1.261517] can: netlink gateway (rev 20190810) max_hops=1
所以,我认为内核有 can driver 和 socketcan。
但是没有罐头装置。
root@beaglebone:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNowN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <broADCAST,MULTICAST,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 78:a5:04:b4:18:cf brd ff:ff:ff:ff:ff:ff
inet 192.168.100.19/24 brd 192.168.100.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 240b:251:520:5b00:7aa5:4ff:feb4:18cf/64 scope global dynamic mngtmpaddr
valid_lft 2591946sec preferred_lft 604746sec
inet6 fe80::7aa5:4ff:feb4:18cf/64 scope link
valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
你能告诉我如何在 ip a
中找到设备吗?
BR,豆豆
解决方法
AM335X 有 Bosch C_CAN/D_CAN 控制器,但没有 TI 高端 CAN 控制器。 所以我从 bitbake -c menuconfig virtual/kernel 更改了内核配置。
我修改了设备树并重建了内核。
然后,我可以找到 can0 和 can1。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。