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 背景更改器应用程序。如果…...
Polymarket套利机器人:DeFi预测市场的自动化交易策略与实现
1. 项目概述:一个捕捉Polymarket预测市场套利机会的自动化交易机器人 最近在DeFi和预测市场领域,Polymarket这个基于Polygon链的平台热度持续攀升。它本质上是一个事件预测市场,用户可以就各类现实世界事件(比如“某球队能否赢得冠…...
Midjourney后印象派风格实战手册(2024最新版):从模糊描述到博物馆级输出的9类失效提示词避坑清单
更多请点击: https://intelliparadigm.com 第一章:后印象派风格的本质解构与Midjourney语义映射 后印象派并非单一技法流派,而是一场以主观表达重构视觉真实性的认知革命。其核心在于色彩的情感自主性、形体的结构性简化,以及空间…...
别再只盯着DICOM了!用Python的nibabel库处理NII格式医学影像,从数据加载到3D可视化全流程
解锁医学影像分析新维度:Pythonnibabel全流程处理NII格式实战指南 在医学影像分析领域,DICOM格式长期占据主导地位,但越来越多的研究者发现,在处理神经影像数据时,NII/NIfTI格式展现出独特的优势。这种专为脑科学研究…...
TypeScript代码质量扫描利器tscanner:超越tsc的类型安全检查实践
1. 项目概述:一个被低估的TypeScript代码质量扫描利器最近在重构一个遗留的TypeScript项目,代码库已经膨胀到几十万行,各种any满天飞,类型定义混乱不堪,手动审查根本无从下手。就在我头疼的时候,同事推荐了…...
自行车轮POV显示:基于视觉暂留与微控制器的DIY空中光绘
1. 项目概述:在车轮上“画”出光之画卷几年前,我第一次在夜间的公园里看到一辆飞驰而过的自行车,它的轮辐间竟然清晰地显示着一行发光的文字和图案,那种瞬间的震撼感至今难忘。那不是魔法,而是视觉暂留原理与微控制器精…...
Kali Linux 新手速成:Docker 部署实战与靶场环境一键构建
1. Kali Linux与Docker的黄金组合 刚接触网络安全的朋友们,肯定对Kali Linux不陌生。这个专为安全测试设计的操作系统,就像是一把瑞士军刀,集成了各种强大的工具。但今天我要分享的是一个更高效的玩法——用Docker来部署漏洞靶场。 为什么说这…...
从社交情绪预测到论文分类:DHGNN动态超图模型在两大真实场景下的性能实测与调优心得
动态超图神经网络实战:从社交情绪分析到学术论文分类的双场景深度解析 当面对微博海量用户情绪的实时波动,或是学术文献间错综复杂的引用关系时,传统图神经网络常显捉襟见肘。动态超图神经网络(DHGNN)通过独特的层级动…...
Arm MPS3 FPGA开发板LED闪烁控制实战
1. 项目概述在嵌入式系统开发领域,FPGA(现场可编程门阵列)因其可重构特性成为硬件原型设计的首选平台。Arm MPS3 FPGA开发板作为一款功能强大的原型验证工具,为开发者提供了从算法验证到系统集成的完整解决方案。本次我们将通过经…...
如何利用awesome-clothed-human资源构建你自己的虚拟试穿系统?
如何利用awesome-clothed-human资源构建你自己的虚拟试穿系统? 【免费下载链接】awesome-digital-human Digital Human Resource: 2D/3D/4D Human Modeling, Avatar Generation & Animation, Clothed People Digitalization, Virtual Try-On, etc. 项目地址: …...
Cyber Engine Tweaks完整指南:5步掌握《赛博朋克2077》终极脚本框架
Cyber Engine Tweaks完整指南:5步掌握《赛博朋克2077》终极脚本框架 【免费下载链接】CyberEngineTweaks Cyberpunk 2077 tweaks, hacks and scripting framework 项目地址: https://gitcode.com/gh_mirrors/cy/CyberEngineTweaks Cyber Engine Tweaks是一个…...
