i.MX9352——介绍一款多核异构开发板
本篇来介绍一款多核异构的Linux开发板——OK-MX9352-C开发板。
1 开发板硬件介绍
OK-MX9352-C开发板由核心板和底板组成,核心板采用处理器芯片为NXP的i.MX9352,这是一款多核异构的芯片,核心板基础配置如下
- CPU:2×Cortex-A55@1.5GHz+1×Cortex-M33@250MHz
- NPU:0.5 TOPS
- 1GB LPDDR4
- 8GB eMMC
1.1 板子正面

1.2 板子反面

2 系统登陆
2.1 串口登录
串口波特率 115200,使用root用户登录,无密码。
串口登录后效果如下:

通过串口登录到开发板的Linux系统后,可以使用WiFi设置脚本来连接WiFi
fltest_wifi.sh -i wlan0 -s WiFi名称 -p WiFi密码
2.2 SSH登录
OK-MX9352-C开发板支持SSH服务,在开发板连接到网络后,通过SSH方式使用板子的IP进行无线登录。
SSH登录后效果如下:

3 文件互传
3.1 WinSCP方式
SSH服务除了可以用于无线登录,借助WinSCP软件,还可实现Windows电脑与开发板之间的文件互传。
使用WinSCP软件连接开发板后的文件展示效果如下,左侧是Windows电脑的文件系统,右侧是OK-MX9352-C 开发板的文件系统。

3.2 FTP方式
OK-MX9352-C开发板还支持FTP服务,借助FileZilla软件,也可实现Windows电脑与开发板之间的文件互传。
使用FileZilla软件连接开发板后的文件展示效果如下,左侧是Windows电脑的文件系统,右侧是OK-MX9352-C 开发板的文件系统。

4 基础功能体验
4.1 系统信息查看
查看内核和cpu信息
uname -a
查看Linux操作系统的相关信息
cat /etc/issue
查看开发板中设置的环境变量:
env

查看开发板上CPU的温度:
cat /sys/class/thermal/thermal_zone0/temp

34350表示温度值为 34.350℃
4.2 LED测试
OK-MX9352-C 开发板上有两个可以控制的LED:
- 核心板有1个蓝色心跳LED(D1),对应/sys/class/leds下的heartbeat
- 底板上有1个蓝色定时闪烁LED (D6),对应/sys/class/leds下的led1

下面以底板上的LED为例,查看其触发条件:
cat /sys/class/leds/led1/trigger
当触发条件设置为none后,即可通过如下命令控制其亮灭
echo none > /sys/class/leds/led1/trigger
echo 1 > /sys/class/leds/led1/brightness
echo 0 > /sys/class/leds/led1/brightness
通过如下指令,可将其改为心跳灯或定时器灯
echo heartbeat > /sys/class/leds/led1/trigger
echo timer > /sys/class/leds/led1/trigger
4.3 按键测试
OK-MX9352-C开发板的底板上有一个用户按键(K1),就在用户LED的下方

查看按键的 input 事件,并进行按键测试
cat /proc/bus/input/devices
evtest /dev/input/event1
此时按下按键和抬起按键,会上报对应的信息

4.4 ADC测试
OK-MX9352-C开发板的底板上引出了4 路ADC接口,旁边还有一个滑动变阻器,通过跳线帽可将ADC1或ADC2与滑动变阻器相连:

以 ADC1为例,用跳线帽短接,然后使用如下命令:
cat /sys/bus/iio/devices/iio\:device0/in_voltage_scale
cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw

调节滑动变阻器,上述命令读取的ADC是值随之变化
电压值计算公式:voltage = voltage_scale * voltage_raw
0.439453125 * 3327 ≈ 1462 mV
最大值4095,对应最大参考电压1.8V
0.439453125 * 4095 ≈ 1800 mV
4.5 GPIO测试
OK-MX9352-C开发板的底板上引出了28个GPIO口

使用如下命令将 GPIO0设置为高电平,最后的1改为0即为设置为低电平
gpioset gpiochip0 0=1
使用如下命令获取GPIO电平状态
gpioget gpiochip0
4.6 串口测试
OK-MX9352-C开发板的底板集成了 XR21V1414IM48 芯片,实现USB 转串口功能。
该芯片引出4个串口:
- ttyUSB0 和 ttyUSB3 被设计为RS-485串口
- ttyUSB1和 ttyUSB2 被被设计为RS-232串口

4.6.1 232串口测试
关闭电源,短接 P19 的第 5 脚和第 8 脚,使 ttyUSB1 的接收引脚和 ttyUSB2 的发送引脚相连
设置 ttyUSB1 为接收模式, ttyUSB2 为发送模式:
fltest_uarttest -d /dev/ttyUSB1 r &
fltest_uarttest -d /dev/ttyUSB2 w

可以看到,ttyUSB1收到了ttyUSB2 发送的数据
4.6.2 485串口测试
测试方法与485 串口类似,连接两个485 串口,即A1引脚(9脚)和A2引脚(12脚)相连,B1引脚(8脚)和 B2引脚(11脚)相连
设置 ttyUSB0为接收模式, ttyUSB3为发送模式:
fltest_uarttest -d /dev/ttyUSB0 r &
fltest_uarttest -d /dev/ttyUSB3 w
4.7 CAN测试
OK-MX9352-C开发板的底板上有两个CAN 端口,可以测试两个端口之间的通信。
将CAN1的H端(2脚)与CAN2的H端(5脚)连接,CAN1的L端(1脚)与CAN2的L端(4脚)相连:

开启can功能
ip link set can0 up type can bitrate 500000
ip link set can1 up type can bitrate 500000
设置CAN0 处于接收模式 ,CAN1 随机发送帧数据
candump can0 &
cangen can1

5 总结
本篇介绍了飞凌OK-MX9352-C开发板的基础硬件功能、系统登录方式、文件互传方式,并通过串口指令,对开发板的基础功能进行了测试。
相关文章:
i.MX9352——介绍一款多核异构开发板
本篇来介绍一款多核异构的Linux开发板——OK-MX9352-C开发板。 1 开发板硬件介绍 OK-MX9352-C开发板由核心板和底板组成,核心板采用处理器芯片为NXP的i.MX9352,这是一款多核异构的芯片,核心板基础配置如下 CPU:2Cortex-A551.5G…...
【Python】一文学会面向对象?当然可以的
文章目录前言一、万物皆对象二、类也是对象三,元类总结前言 在大家学习python的时候,一定听说过一句话: 在我们python中万物皆对象,不管是整数、字符串、列表、字典这些基本数据类型,还是函数、以及自定义类创建出来…...
ElasticSearch - SpringBoot整合ES:精确值查询 term
文章目录00. 数据准备01. ElasticSearch 结构化搜索是什么?02. ElasticSearch 结构化搜索方式有哪些?03. ElasticSearch 全文搜索方式有哪些?04. ElasticSearch term 查询数字?05. ElasticSearch term 查询会不会计算评分…...
【GPT4】微软对 GPT-4 的全面测试报告(2)
欢迎关注【youcans的GPT学习笔记】原创作品,火热更新中 微软对 GPT-4 的全面测试报告(1) 微软对 GPT-4 的全面测试报告(2) 【GPT4】微软对 GPT-4 的全面测试报告(2)2. 多模态与跨学科的组合&…...
Docker打包exe运行环境
Docker打包exe运行环境 本文运行环境 Window安装Docker环境 修改配置 点击Switch to Window containers OS/Arch 变为 windows/amd64 拉取window镜像 访问Nano Server找到需要的Window版本拉取镜像 运行镜像测试 进入到容器内部 其他内容就自由发挥啦~~ 参考内容…...
springboot+vue田径运动会成绩管理系统java
springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最火热的java开发框架 田径运动会成绩管理系统,主要的模块包括首页、个人中心、赛…...
我能“C”——详解操作符(上)
目录 1.操作符的分类: 2. 算数操作符 3.移位操作符 4.位操作符 5.赋值操作符 6.单目操作符 7.关系操作符 8.逻辑操作符 THE END 1.操作符的分类: 操作符也叫运算符 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑…...
第一章Vue基础
文章目录前端发展史前端三要素JavaScript框架UI框架JavaScript构建工具三端合一什么是VueVue的好处什么是MVVM为什么要使用MVVM环境配置第一个Vue程序声明式渲染模板语法绑定样式数据绑定为什么要实现数据的双向绑定el与data的两种写法条件渲染事件驱动事件的基本用法事件修饰符…...
【虚幻引擎UE】UE5核心效率插件推荐
一、UnrealEditorPythonScripts (基于UE5 的Python支持插件) 支持Python语言基于UE5进行开发 GIT地址:https://github.com/mamoniem/UnrealEditorPythonScripts 二、Haxe-UnrealEngine5 (基于UE5 的Haxe支持插件) Haxe是一门新兴的开源编程语言,是一种开源的编程语言。…...
记录丨阿里云校招生的成长经历
为了帮助大家更好地了解阿里云云原生应用平台团队同学的成长路径,我们采访了6位各个时间点加入阿里云的学长学姐们,希望他们的经历可以帮助到大家。 经历分享 钰诚丨2022年加入阿里云,校招 大家好,我叫钰诚,目前刚来…...
蓝桥杯第14天(Python版)
并查集的使用# 并查集模板 N400 fa[] def init(): # 初始化,默认自身为根接点for i in range(N):fa.append(i)def merge(x,y): # 发现可以合并,默认选x的根节点为根接点fa[find(x)]find(y)def find(x): # 相等就是根结点,不然就递归查找根…...
双指针常用方法
1.双指针介绍 双指针是解题时一种常见的思路,一般有两种用法。 1)两个指针反方向,分别从数组开头和结尾开始移动,例如对有序数组的搜索。 2)两个指针同方向移动,例如快慢指针,都是从数组开头…...
人工智能大模型之ChatGPT原理解析
前言 近几个月ChatGPT爆火出圈,一路狂飙;它功能十分强大,不仅能回答各种各样的问题,还可以信写作,给程序找bug…我经过一段时间的深度使用后,十分汗颜,"智障对话"体验相比,…...
傅里叶谱方法-傅里叶谱方法的原理、快速傅里叶变换及其Matlab程序实现
第 3 章 傅里叶谱方法 本章介绍的求解偏微分方程(组)的方法都包含着周期性边界条件, 尽管周期性边界条件不属于数学物理方法中常见的传统三类边界条件, 但它并不脱离实际。某些科学问题的研究重点不受边界的影响, 如孤子之间的相互作用 (非线性薛定谔方程或 K d V \mathrm{…...
11万字数字政府智慧政务大数据建设平台(大数据底座、数据治理)
本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。部分资料内容: 一.1.1 数据采集子系统 数据采集需要实现对全区各委办单位的数据采集功能,包括离线采集、准实时采集和实时采集的采集方式,根…...
Node.js学习笔记——Node.js模块化
一、介绍 1.1.什么是模块化与模板? 将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为模块化。 其中拆分出的每个文件就是一个模块,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块…...
【洛谷刷题】蓝桥杯专题突破-广度优先搜索-bfs(12)
目录 写在前面: 题目:P1746 离开中山路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述: 输入格式: 输出格式: 输入样例: 输出样例: 解题思路: 代码: …...
【数据结构】堆(堆的实现 堆向下调整算法 堆的创建 堆的插入 堆的删除 堆的代码实现 堆的应用)
文章目录堆的实现堆向下调整算法堆的创建堆的插入堆的删除堆的代码实现堆的应用堆的实现 堆是属于操作系统进程地址空间内存区域的划分。 我们下面实现数据结构中的堆。 堆是一个完全二叉树:分为小根堆和大根堆。 小根堆:任何一个节点的值都<孩子的…...
JDBC数据库驱动的下载与安装与连接
目录 JDBC数据库驱动下载 Intellij IDEA安装JDBC驱动 在使用 JDBC 之前,需要下载相应的 JDBC 驱动程序,该驱动程序应该与你使用的数据库的版本相对应。可以在数据库官网上找到相应的 JDBC 驱动程序。 JDBC数据库驱动下载 点击官方链接 MySQL :: MySQ…...
如何更改 PDF 背景颜色?
PDF 是用于简洁演示的文件格式,许多员工都参考它来演示文件。如果您想要 PDF 文本的最佳对比度方案,我们建议您更改PDF 背景颜色。您甚至可以更改 PDF 颜色的文本,但它不会有太大吸引力,而是尝试使用 PDF 背景更改器应用程序。如果…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
