
Best posts made by Forlinx
-
为T507-H开发板配置Samba服务,高效实现跨系统的文件共享
作为一款经典的国产芯,全志T507-H芯片被广泛应用于车载电子、电力、医疗、工业控制、物联网、智能终端等诸多领域当中,而在各种复杂的嵌入式Linux应用场景当中,“打通ARM板卡与Windows设备间的壁垒以实现跨平台的文件共享”是一项不能被忽视的重要功能,那么该如何做到这一点呢?
我们可以使用Samba,这是一款在Linux系统上实现SMB的免费软件,可以在不同操作系统之间实现文件和打印机的共享。使用Samba可以方便地在Linux、Windows和Mac等不同平台之间共享文件,大大提高了文件的传输效率。
下面小编为大家介绍如何在飞凌嵌入式OKT507-C开发板上架设Samba服务。
01-编译源码
下载Samba源码包,进入source3 路径:
- 配置configure:
./configure CC=aarch64-linux-gnu-gcc LD=aarch64-linux-gnu-ld AR=aarch64-linux-gnu-ar --target=arm-none-linux --host=arm-none-linux-gnueabihf samba_cv_CC_NEGATIVE_ENUM_VALUES=yes --cache-file=arm-linux.cache- 编译源码(只能单线程编译,不加-j参数):
make
- make install 生成安装文件:
Makefile中指定安装路径
samba-3.4.17/source3$make install
- 在安装路径下打包生成文件:
02-配置服务
- 将压缩包解压到如下路径:
- 在如下路径新建配置文件:
- 编辑文件内容:
[global]
workgroup = root security = user client lanman auth = yes lanman auth = yes map to guest = bad user guest account = root
[project]
comment = project path = / available = yes browseable = yes public = yes guest ok = yes writable = yes
- 添加库文件
将如下路径的动态链接库文件拷贝到板子的/lib目录:
- 启动服务
03-应用服务
- OKT507-C开发板(Linux板卡)和Windows主机共享文件:
(1)启动Samba服务,配置与主机同一网段的IP:
(2)在Windows主机中添加Samba的支持:
打开控制面板进入如下界面:
勾选如下三个选项:
(3)在文件管理器输入\服务端 IP,回车即可看到共享路径:
- Linux板卡与Ubuntu虚拟机共享目录:
(1)安装cifs-utils:
(2)创建挂载点:
(3)挂载共享目录:
到这里,我们就完成了在飞凌嵌入式OKT507-C开发板上架设Samba服务,并且顺利地使这款Linux板卡与Windows主机和Ubuntu虚拟机进行文件共享了。当然,不同主控平台板卡的具体操作会有差异,但整体思路是一致的,希望本文提供的方法能够对屏幕前工程师朋友们的项目开发有所帮助。
-
T507-H技术帖 | 去掉IO扩展芯片后保留扩展引脚功能的实现方法
飞凌嵌入式推出的OKT507-C作为一款广受欢迎的开发板拥有丰富的功能接口,而实际上OKT507-C开发板的CPU引脚资源是比较紧缺的,那么它究竟是如何提供如此丰富的接口资源的呢?答案就是IO扩展芯片——TCA6424A。
这是一个24 位 I2C 和系统管理总线 (SMBus), 输入输出(I/O) 扩展器有中断输出、复位和配置寄存器。为了满足更多客户需求,在降低成本的同时尽可能保留更多功能,飞凌嵌入式为大家提供了OKT507-C去掉IO扩展芯片后保留扩展引脚功能的实现的方法。
扩展芯片上的IO口被WiFi、蓝牙、MIPI摄像头TP2854、DVP摄像头和line-out口电源使能引脚引用,若想保留这些功能,就要使用核心板其他可复用为这些功能的引脚。
本文将选用OKT507-C开发板的LCD功能引脚来重新复用为这些功能,用户可根据自己的实际功能需求情况选择。方法参考如下:
一、选用引脚:
对应功能引脚如下表所示:
二、关掉gpio_ext及复用引脚原来功能
修改设备树,将LCD功能关闭后,该组引脚即可用作普通的GPIO。修改路径如下:
vi OKT507-linux-sdk/kernel/linux4.9/arch/arm64/boot/dts/sunxi/OKT507-C Common.dtsi-
关掉IO扩展芯片功能:
-
关闭需要复用引脚功能:
关闭LCD功能,本文以选用LCD上的引脚用作功能复用,用户需根据实际情况关闭所用引脚功能。
将lcd_used 改为 0
lcd0节点添加 status = “disabled”;
三、更改设备节点中引用的GPIO
-
MIPI-5640引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
TP2854引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common-TP2854M.dtsi
需要注意的是,MIPI5640和TP2854共用一个MIPI接口,两个功能都用到了MIPI_PWRDN引脚,实际使用时只能选择一种功能,因此本文在两个功能测试时选的同一个引脚。
-
DVP-5640引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
WiFi引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
蓝牙引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
音频引脚:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
以上就是OKT507-C开发板去掉IO扩展芯片后保留扩展引脚功能的实现的方法,本文使用的思路和方法仅供参考使用,其它Arm开发板虽然芯片不同,但思路和方法有很多的共性,希望对您在板卡的使用中能够有所帮助。
-
-
A40i应用笔记 | 3种常见的网卡软件问题以及排查思路
在飞凌嵌入式OKA40i-C开发板上虽然只有一个网口,但全志A40i-H处理器本身是有两个网络控制器的,因此在飞凌嵌入式提供的产品资料中提供了双网口解决方案。有的工程师小伙伴在开发过程中会遇见一些网卡的设计问题,今天小编为大家分享3种在使用OKA40i-C开发板时容易遇到的网卡软件问题以及排查思路。
一、问题分析:
问题描述1——
以太网初始化报错 No phy found在执行ifconfig eth0 up命令时,出现"No phy found"异常log。
问题分析:
出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接门也读不到phy的设备信息。或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。
排查步骤:
(1) 检查phy供电是否正常;
(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;
(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);
(4) 检查MDIO是否有上拉电阻;
(5) 检查MDIO引脚配置是否正确;
(6) eMAC phy地址是否和硬件一致;
(7) 检查复位上拉电阻是否和原理参考方案一致。MDIO通讯正常验证:
使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。问题描述2——
以太网初始化报错NO SUCN DEVICE执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。
问题分析:
以太网模块配置未生效或存在GPIO冲突。排查步骤:
步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;
步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。解决方法:
GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。查看以太网模块是否配置。
问题描述3——
以太网初始化报错Initialize hardware error
执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。问题分析:
出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。
排查步骤:
用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。解决方法:
软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。
接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。
二、排查手段:
这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。
(1) 检查menuconfig及dts以太网配置是否打开;
(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;
(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;
(4) 使用phytool工具读取phy ID 验证MDIO是否正确。如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。
使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。
以上就是小编为大家整理的关于OKA40i-C开发板双网口方案的网卡软件问题分析以及排查方向,希望能够为您的项目开发有所帮助。
Latest posts made by Forlinx
-
【开发教程】 OKT507去掉IO扩展芯片,保留扩展引脚功能
飞凌嵌入式推出的OKT507-C作为一款广受欢迎的开发板拥有丰富的接口资源,而实际上OKT507-C的CPU引脚资源是比较紧缺的,那么它是如何实现这么丰富的接口资源呢?
答案就是飞凌使用了一个IO扩展芯片——TCA6424A。这是一个24 位 I2C 和系统管理总线 (SMBus), 输入输出(I/O) 扩展器有中断输出、复位和配置寄存器。
受当前国际形势的影响,芯片行业形势非常严峻,为了满足更多客户需求,在降低成本的同时尽可能保留更多功能,飞凌为大家带来OKT507-C去掉IO扩展芯片后保留扩展引脚功能的实现的方法。
扩展芯片上的IO口被WiFi、蓝牙、MIPI摄像头TP2854、DVP摄像头和line-out口电源使能引脚引用,若想保留这些功能,就要使用核心板其他可复用为这些功能的引脚。
本文将选用开发板的LCD功能引脚来重新复用为这些功能,用户可根据自己的实际功能需求情况选择。方法参考如下:
1. 选用引脚
对应功能引脚如下表所示:
2. 关掉gpio_ext及复用引脚原来功能
修改设备树,将LCD功能关闭后,该组引脚即可用作普通的GPIO。修改路径如下:
vi OKT507-linux-sdk/kernel/linux4.9/arch/arm64/boot/dts/sunxi/OKT507-C Common.dtsi2.1 关掉IO扩展芯片功能
因为扩展芯片已经拆除,所以要关掉扩展芯片节点。
2.2 关闭需要复用引脚功能
关闭LCD功能,本文以选用LCD上的引脚用作功能复用,用户需根据实际情况关闭所用引脚功能。
将lcd_used 改为 0
lcd0节点添加 status = “disabled”;
3. 更改设备节点中引用的GPIO
3.1 MIPI-5640引脚配置
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi3.2 TP2854引脚配置
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common-TP2854M.dtsi需要注意的是,MIPI5640和TP2854共用一个MIPI接口,两个功能都用到了MIPI_PWRDN引脚,实际使用时只能选择一种功能,因此本文在两个功能测试时选的同一个引脚。
3.3 DVP-5640引脚配置
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi3.4 WiFi引脚配置
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi3.5 蓝牙引脚配置
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi3.6 音频引脚
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi以上就是OKT507-C开发板去掉IO扩展芯片后保留扩展引脚功能的实现的方法,具体的测试方式请参考《OKT507-C_Linux_用户使用手册》,您在公众号首页咨询客服或联系您的销售工程师即可获取。
-
只需4步,让A40i-H开发板的Linux系统拥有中文显示
如果你试着在Linux系统里面输入中文,那么将会有一片乱码呈现在你面前,这是因为Linux系统的默认语言是英文。但是如果可以显示中文的话,那么在使用过程中的便利程度一定会大大提升。今天小编就通过飞凌嵌入式的OKA40i-C开发板来为大家演示让Linux系统显示中文的修改方法。
STEP 1
如果之前使用的是全源码编译方式对源码进行编译处理的,就可以直接往下走;如果之前有更改过源码部分,且使用的是单步编译,则需要重新解压一份OKA40i-C开发板的源码,进入该源码的lichee文件夹,执行sudo ./build.sh进行一次全编译,耗时会有点长,需要耐心的等待。STEP 2
在新的源码全编译的过程中,到之前使用的源码里面做一些准备工作吧;要是更改过程中遇到只读等权限问题,打开的时候加上sudo就好了。- 首先在lichee下面找到linux-3.10/.config这个配置文件,将里面的iso8859-1全部替换成utf8,就像下面这样,一共有两处。行前面的“-”表示去掉,“+”表示添加上。
FAT使用的默认输入/输出字符集:
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
挂载文件系统时使用的默认NLS
-CONFIG_NLS_DEFAULT=" iso8859-1" +CONFIG_NLS_DEFAULT="utf8"
-
out/sun8iw11p1/linux/common/buildroot/target/etc/inputrc
在上方lichee中的文件中添加两行命令:
-
lichee/out/sun8iw11p1/linux/common/buildroot/target/root
然后到上方路径下创建一个.vimrc文件,打开.vimrc文件,在里面添加上三行命令:
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set encoding=utf8STEP 3
现在,新的源码已经全部编译完成了,在新源码的里面找到busybox-1.25.1这个文件夹。进入以下路径:lichee/out/sun8iw11p1/linux/common/buildroot/build/busybox-1.25.1
- 执行make menuconfig ARCH=arm进入busybox的图形化编辑界面。
Busybox Settings ---> General Configuration ---> [*] Enable locale support (system needs locale for this to work) [*] Support Unicode [*] Use libc routines for Unicode (else uses internal ones) (65533) Character code to substitute unprintable characters with (195102) Range of supported Unicode characters
更改好之后一路Exit退出,最后选择yes保存配置。
- 然后更改busybox-1.25.1文件夹路径下的文件
libbb / printable_string.c,
搜索0x7f,删除以下两行:
将这里更改为
-if (c < ' ' || c >= 0x7f) +if (c < ' ')
- 更改libbb/unicode.c文件,先找到这样一段:static char* FAST_FUNC。然后将里面的1022行和1030行进行修改:
将*d++ = (c >= ' ' && c < 0x7f) ? c : '?';
修改为*d++ = (c >= ' ') ? c : '?';
将if (c < ' ' || c >= 0x7f)
修改为if (c < ' ')
修改完成之后,删除.stamp_built文件和.stamp_target_installed文件,返回到lichee文件夹下面,重新进行全编译sudo ./build.sh操作。
在out/sun8iw11p1/linux/common/buildroot/target/bin路径后面会生成一个busybox的可执行文件,将这个叫busybox的可执行文件替换到需要中文源码的相同路径下面——
lichee/out/sun8iw11p1/linux/common/buildroot/target/bin里面。
STEP 4
最后,在需要中文的那一份源码里面进行内核编译,打包文件系统,打包镜像操作,再将镜像烧录到OKA40i-C开发板里面就可以显示中文了。sudo ./build.sh -m kernel
sudo ./build.sh -m pack_rootfs
sudo ./build.sh pack
最后我们来验证一下。可以看到此时已经可以直接进行中文输入了,并且和windows对接的中文文件可以直接显示查看。
结语
Linux系统中文显示的更改其实就是更改内核的字符集和打开busybox的显示封锁,第一次编译好后,以后需要中文的busybox可以直接使用这次的busybox进行替换,节省了很多的工作量。更改完成之后就可以在OKA40i-C开发板的Linux系统上面编辑和查看中文了。 -
T507-H技术帖 | 去掉IO扩展芯片后保留扩展引脚功能的实现方法
飞凌嵌入式推出的OKT507-C作为一款广受欢迎的开发板拥有丰富的功能接口,而实际上OKT507-C开发板的CPU引脚资源是比较紧缺的,那么它究竟是如何提供如此丰富的接口资源的呢?答案就是IO扩展芯片——TCA6424A。
这是一个24 位 I2C 和系统管理总线 (SMBus), 输入输出(I/O) 扩展器有中断输出、复位和配置寄存器。为了满足更多客户需求,在降低成本的同时尽可能保留更多功能,飞凌嵌入式为大家提供了OKT507-C去掉IO扩展芯片后保留扩展引脚功能的实现的方法。
扩展芯片上的IO口被WiFi、蓝牙、MIPI摄像头TP2854、DVP摄像头和line-out口电源使能引脚引用,若想保留这些功能,就要使用核心板其他可复用为这些功能的引脚。
本文将选用OKT507-C开发板的LCD功能引脚来重新复用为这些功能,用户可根据自己的实际功能需求情况选择。方法参考如下:
一、选用引脚:
对应功能引脚如下表所示:
二、关掉gpio_ext及复用引脚原来功能
修改设备树,将LCD功能关闭后,该组引脚即可用作普通的GPIO。修改路径如下:
vi OKT507-linux-sdk/kernel/linux4.9/arch/arm64/boot/dts/sunxi/OKT507-C Common.dtsi-
关掉IO扩展芯片功能:
-
关闭需要复用引脚功能:
关闭LCD功能,本文以选用LCD上的引脚用作功能复用,用户需根据实际情况关闭所用引脚功能。
将lcd_used 改为 0
lcd0节点添加 status = “disabled”;
三、更改设备节点中引用的GPIO
-
MIPI-5640引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
TP2854引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common-TP2854M.dtsi
需要注意的是,MIPI5640和TP2854共用一个MIPI接口,两个功能都用到了MIPI_PWRDN引脚,实际使用时只能选择一种功能,因此本文在两个功能测试时选的同一个引脚。
-
DVP-5640引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
WiFi引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
蓝牙引脚配置:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
-
音频引脚:
路径如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
以上就是OKT507-C开发板去掉IO扩展芯片后保留扩展引脚功能的实现的方法,本文使用的思路和方法仅供参考使用,其它Arm开发板虽然芯片不同,但思路和方法有很多的共性,希望对您在板卡的使用中能够有所帮助。
-
-
A40i应用笔记 | 3种常见的网卡软件问题以及排查思路
在飞凌嵌入式OKA40i-C开发板上虽然只有一个网口,但全志A40i-H处理器本身是有两个网络控制器的,因此在飞凌嵌入式提供的产品资料中提供了双网口解决方案。有的工程师小伙伴在开发过程中会遇见一些网卡的设计问题,今天小编为大家分享3种在使用OKA40i-C开发板时容易遇到的网卡软件问题以及排查思路。
一、问题分析:
问题描述1——
以太网初始化报错 No phy found在执行ifconfig eth0 up命令时,出现"No phy found"异常log。
问题分析:
出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接门也读不到phy的设备信息。或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。
排查步骤:
(1) 检查phy供电是否正常;
(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;
(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);
(4) 检查MDIO是否有上拉电阻;
(5) 检查MDIO引脚配置是否正确;
(6) eMAC phy地址是否和硬件一致;
(7) 检查复位上拉电阻是否和原理参考方案一致。MDIO通讯正常验证:
使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。问题描述2——
以太网初始化报错NO SUCN DEVICE执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。
问题分析:
以太网模块配置未生效或存在GPIO冲突。排查步骤:
步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;
步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。解决方法:
GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。查看以太网模块是否配置。
问题描述3——
以太网初始化报错Initialize hardware error
执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。问题分析:
出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。
排查步骤:
用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。解决方法:
软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。
接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。
二、排查手段:
这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。
(1) 检查menuconfig及dts以太网配置是否打开;
(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;
(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;
(4) 使用phytool工具读取phy ID 验证MDIO是否正确。如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。
使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。
以上就是小编为大家整理的关于OKA40i-C开发板双网口方案的网卡软件问题分析以及排查方向,希望能够为您的项目开发有所帮助。
-
为T507-H开发板配置Samba服务,高效实现跨系统的文件共享
作为一款经典的国产芯,全志T507-H芯片被广泛应用于车载电子、电力、医疗、工业控制、物联网、智能终端等诸多领域当中,而在各种复杂的嵌入式Linux应用场景当中,“打通ARM板卡与Windows设备间的壁垒以实现跨平台的文件共享”是一项不能被忽视的重要功能,那么该如何做到这一点呢?
我们可以使用Samba,这是一款在Linux系统上实现SMB的免费软件,可以在不同操作系统之间实现文件和打印机的共享。使用Samba可以方便地在Linux、Windows和Mac等不同平台之间共享文件,大大提高了文件的传输效率。
下面小编为大家介绍如何在飞凌嵌入式OKT507-C开发板上架设Samba服务。
01-编译源码
下载Samba源码包,进入source3 路径:
- 配置configure:
./configure CC=aarch64-linux-gnu-gcc LD=aarch64-linux-gnu-ld AR=aarch64-linux-gnu-ar --target=arm-none-linux --host=arm-none-linux-gnueabihf samba_cv_CC_NEGATIVE_ENUM_VALUES=yes --cache-file=arm-linux.cache- 编译源码(只能单线程编译,不加-j参数):
make
- make install 生成安装文件:
Makefile中指定安装路径
samba-3.4.17/source3$make install
- 在安装路径下打包生成文件:
02-配置服务
- 将压缩包解压到如下路径:
- 在如下路径新建配置文件:
- 编辑文件内容:
[global]
workgroup = root security = user client lanman auth = yes lanman auth = yes map to guest = bad user guest account = root
[project]
comment = project path = / available = yes browseable = yes public = yes guest ok = yes writable = yes
- 添加库文件
将如下路径的动态链接库文件拷贝到板子的/lib目录:
- 启动服务
03-应用服务
- OKT507-C开发板(Linux板卡)和Windows主机共享文件:
(1)启动Samba服务,配置与主机同一网段的IP:
(2)在Windows主机中添加Samba的支持:
打开控制面板进入如下界面:
勾选如下三个选项:
(3)在文件管理器输入\服务端 IP,回车即可看到共享路径:
- Linux板卡与Ubuntu虚拟机共享目录:
(1)安装cifs-utils:
(2)创建挂载点:
(3)挂载共享目录:
到这里,我们就完成了在飞凌嵌入式OKT507-C开发板上架设Samba服务,并且顺利地使这款Linux板卡与Windows主机和Ubuntu虚拟机进行文件共享了。当然,不同主控平台板卡的具体操作会有差异,但整体思路是一致的,希望本文提供的方法能够对屏幕前工程师朋友们的项目开发有所帮助。