tag 标签: T507

相关博文
  • 热度 6
    2023-8-8 11:25
    446 次阅读|
    0 个评论
    在上篇文章中,小编带大家一起盘点了飞凌嵌入式国产平台中的瑞芯微系列核心板。本篇文章,将继续为大家介绍的是 全志系列 核心板,话不多说,上干货! 全志科技 × 飞凌嵌入式 飞凌嵌入式与全志科技的合作始于2019年,截至目前,飞凌嵌入式已基于全志处理器推出了 FETT507-C 、 FETA40i-C 和 FETT3-C 共3款核心板,并且凭借稳定可靠的工业级品质和高性价比受到了市场的一致认可。 0 1 T507系列 FETT507-C核心板集成全志T507四核工业级处理器设计开发,Cortex-A53架构,主频1.5GHz,集成G31 GPU,内存2GB DDR3L,存储8GB eMMC。搭载Linux、Android、ForlinxDesktop操作系统,适用于车载电子、电力、医疗、工业控制、物联网、智能终端等领域。 02 A40i系列 FETA40i-C核心板基于全志工控行业平台级处理器四核Cortex-A7 A40i设计,主频1.2GHz,集成MAli400MP2 GPU,内存1GB/2GB DDR3L,存储8GB eMMC。支持绝大部分当前流行的视频及图片格式解码,具有稳定可靠的工业级产品性能和高性价比低功耗等优势,搭载Linux和Android操作系统,适用于基于视觉交互的工业控制产品。 03 T3系列 FETT3-C核心板基于全志四核车载导航处理器设计开发,Cortex-A7 架构,主频1.2GHz,集成MAli400MP2 GPU,内存1GB DDR3L,存储8GB eMMC。 整板工业级运行温宽,支持绝大部分当前流行的视频及图片格式解码,具有稳定可靠的工业级产品性能、低功耗、以及丰富的用户接口等优势,搭载Linux和Android操作系统,适用于车载电子、电力行业、医疗电子、工业控制 、智能终端等领域。 以上就是飞凌嵌入式的 全志 系列 核心板大盘点,全部工业级品质,让客户的应用更加稳定可靠的。下周,小编将继续为大家介绍飞凌嵌入式与龙芯中科和赛昉科技合作推出的国产化平台,敬请期待~
  • 热度 6
    2023-3-31 19:39
    857 次阅读|
    0 个评论
    基于国产车规级处理器T507-H开发平台,如何用50行Python代码实现图传和人脸识别?
    我们在 米尔国产 T 507-H 车规级处理器的开发板上尝试无线图传功能,并且叠加人脸识别检测视频中是否存在人脸。这次使用的是 USB 摄像头,可以直接接在开发板的接口上。 1. 连接摄像头 连接好摄像头后使用指令 dmesg ,看到能读取到摄像头。显示为 HIK 720p Camera 接下来使用 v4l 来检测相机的详细参数。 安装 v4l : sudo apt install v4l-utils 使用 sudo v4l2-ctl --list-devices 查看详细信息与设备号 2. OpenCV 进行人脸识别 这里使用的识别程序借鉴了这个 CSDN 博主的代码 https://blog.csdn.net/qianbin3200896/article/details/123643791 在开始之前,先安装几个库。 sudo apt update 完成更新 sudo apt install python3-opencv pip3 install --upgrade pip pip3 install zmq pip3 install pybase64 首先在开发板上运行如下程序,读取摄像头数据并将数据发送至 PC 。 import cv2 import zmq import base64 def main(): ''' 主函数 ''' IP = '192.168.2.240' #上位机视频接受端的IP地址 # 创建并设置视频捕获对象 cap = cv2.VideoCapture(0) print("open? {}".format(cap.isOpened())) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320) # 设置图像宽度 cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240) # 设置图像高度 # 建立TCP通信协议 contest = zmq.Context() footage_socket = contest.socket(zmq.PAIR) footage_socket.connect('tcp://%s:5555'%IP) 接着需要在 PC 上接收开发板传来的信息,将视频分为一帧帧的内容分别存储和处理。当识别到人脸时会用红框圈出。 打开 anaconda prompt 运行如下内容 import cv2 import zmq import base64 import numpy as np def main(): ''' 主函数 ''' context = zmq.Context() footage_socket = context.socket(zmq.PAIR) footage_socket.bind('tcp://*:5555') cv2.namedWindow('Stream',flags=cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO) while True: print("监听中") frame = footage_socket.recv_string() #接收TCP传输过来的一帧视频图像数据 img = base64.b64decode(frame) #把数据进行base64解码后储存到内存img变量中 npimg = np.frombuffer(img, dtype=np.uint8) #把这段缓存解码成一维数组 source = cv2.imdecode(npimg, 1) #将一维数组解码为图像source # img=cv2.imread('1.png',1) grayimg = cv2.cvtColor(source, cv2.COLOR_BGR2GRAY) face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') faces = face_cascade.detectMultiScale(grayimg, 1.2, 5) for (x, y, w, h) in faces: cv2.rectangle(source, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.imshow('frame', source) if cv2.waitKey(1) == ord('q'): capture.release() break if __name__ == '__main__': ''' 程序入口 ''' main() 正常工作时会一直 print 监听中。 此时可以在 pc 上弹出的窗口中看到摄像头画面,有人脸出现也能自动识别。不过存在一定的延迟。 MYD-YT507H开发板由米尔电子于2022年推出和销售,搭载了全志的车规级T507-H处理器,具有超高性能和丰富的外设资源,是优秀的国产工业CPU平台。屏蔽罩下的是全志的T507-H处理器: 米尔 MYD-YT507H开发板 Ø 集成四核 Cortex–A53,主频1.5GHz,符合汽车AEC-Q100测试要求; Ø 支持 4K视频编解码; Ø 支持 LVDS、HDMI、RGB以及CVBS四种显示输出接口; Ø 支持双屏同显、双屏异显,支持 MIPI CSI 、DVP摄像头输入;提供流畅的用户体验和专业的视觉效果。 Ø 搭载的 1GB DDR4内存与8GB eMMC; Ø 开发板拥有丰富的外设扩展: SD卡槽、持双路网口,4个USB2.0接口,1个SPI,2个SDIO; Ø 工业级板卡的工作温度范围为 -40℃ - +85℃; Ø 核心板为邮票孔设计。 米尔电子,是一家专注于嵌入式处理器模组设计研发、生产、销售于一体的高新技术企业。米尔电子在嵌入式处理器领域具有 10多年的研发经验,为客户提供基于ARM架构、FPGA架构的CPU模组及充电控制系统等产品和服务;为智能医疗、智能交通、智能安防、物联网、边缘计算、工业网关、人工智能等行业客户,提供定制解决方案和OEM服务。公司通过专业高效的服务帮助客户加速产品上市进程,目前已为行业内10000家以上的企业客户服务。
  • 热度 9
    2023-3-16 13:31
    472 次阅读|
    0 个评论
    如果你试着在Linux系统里面输入中文,那么将会有一片乱码呈现在你面前,这是因为Linux系统的默认语言是英文。但是如果可以显示中文的话,那么在使用过程中的便利程度一定会大大提升。今天小编就通过飞凌嵌入式的OKA40i-C开发板来为大家演示让Linux系统显示中文的修改方法。 STEP 1 如果之前使用的是全源码编译方式对源码进行编译处理的,就可以直接往下走;如果之前有更改过源码部分,且使用的是单步编译,则需要重新解压一份OKA40i-C开发板的源码,进入该源码的lichee文件夹,执行sudo ./build.sh进行一次全编译,耗时会有点长,需要耐心的等待。 STEP 2 在新的源码全编译的过程中,到之前使用的源码里面做一些准备工作吧;要是更改过程中遇到只读等权限问题,打开的时候加上sudo就好了。 01. 首先在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" 02. out/sun8iw11p1/linux/common/buildroot/target/etc/inputrc 在上方lichee中的文件中添加两行命令: 03. lichee/out/sun8iw11p1/linux/common/buildroot/target/root 然后到上方路径下创建一个.vimrc文件,打开.vimrc文件,在里面添加上三行命令: set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=utf8 STEP 3 现在,新的源码已经全部编译完成了,在新源码的里面找到busybox-1.25.1这个文件夹。进入以下路径: lichee/out/sun8iw11p1/linux/common/buildroot/build/busybox-1.25.1 01. 执行make menuconfig ARCH=arm进入busybox的图形化编辑界面。 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保存配置。 02. 然后更改busybox-1.25.1文件夹路径下的文件 libbb / printable_string.c, 搜索 0x7f ,删除以下两行: 将这里更改为 -if (c = 0x7f) +if (c < ' ') 03. 更改libbb/unicode.c文件,先找到这样一段:static char* FAST_FUNC。然后将里面的1022行和1030行进行修改: 将 = ' ' && c < 0x7f) ? c : '?'; 修改为 = ' ') ? c : '?'; 将 if (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系统上面编辑和查看中文了。
  • 热度 3
    2022-10-14 17:19
    1230 次阅读|
    1 个评论
    本文将为大家介绍如何在飞凌 OKT507-C开发板上添加两个GPIO按键 ,希望能够对各位工程师有所帮助,本文章以PE5、PE6两个引脚为例。话不多说,下面我们进入主题。 1 GPIO按键添加方法 1. 添加内核配置 Linux内核源代码中集成了很多功能,一般的用户只会用到其中的部分功能。用户从中挑选自己需要的功能,这就叫内核配置。下面我们开始进行配置。 注意: (1)在进行配置前,需要对 OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/configs/sun50iw9p1smp_longan_dcfconfig文件提前做好备份; (2)以下所有图中的红框为修改后的内容。 vi OKT507-linux-sdk/kernel/linux-4.9/.config 2. 添加key节点 添加结点需要我们到设备树中进行添加,设备树是一个描述硬件的数据结构,甚至你可以将其看成一个大结构体(这个结构体就是平台,成员就是具体的设备),将硬件的配置从linux内核的源码中提取出来。 下面打开我们的T507设备树文件,如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi 其中按键键值设置如下。 相关键值可通过查看input-event-codes.h文件确定。 vi OKT507-linux-sdk/kernel/linux-4.9/include/uapi/linux/input-event-codes.h 3. 添加引脚定义 添加引脚定义需要用到pinctrl,下面给大家简单介绍下pinctrl。pinctrl就是系统中pin引脚的控制。 假如在使用到GPIO、I2C等功能时,若按引脚逐一地去找对应的寄存器进行配置非常浪费时间和精力,所以内核引入了pinctrl子系统,把引脚的复用和配置抽象出来,只需要芯片厂商把自家芯片的支持进去,就可以很方便的配置引脚。 下面打开我们的pinctrl文件,如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi 4. 关闭冲突功能 因为有些功能结点使用的引脚与我们这次复用的引脚发生冲突,会发生引脚不生效的错误,所以我们一定要检查好,然后将其关闭。 如下打开设备树文件: 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/sun50iw9p1-pinctrl.dtsi 注意: 因摄像头csi复用的引脚与我们这里的冲突,虽然前面将状态disabled了,pinctrl这里也有可能会造成冲突,为了避免不必要的麻烦,我们也将这里注释掉。 5. 驱动修改 gpio-keys是基于input子系统实现的一个通用按键驱动,该驱动基于platform_driver架构,实现了驱动和设备分离,符合Linux设备驱动模型的思想,也符合linux驱动实现模型,即driver和device分离模型。 一般按键驱动,都是基于gpio-keys进行开发的。驱动文件如下: vi OKT507-linux-sdk/kernel/linux-4.9/drivers/input/keyboard/gpio_keys.c 2 测试方法 终端窗口输入evtest,选择 7。 从上图红框可以看出,通过evtest测试工具将内核设备读取并打印设备描述的事件,到这里,GPIO按键就做完了,可以用它来实现很多的功能,比如说按一下切换灯的状态,蜂鸣器响等。 当然不只是这些啦,我们还可以利用它去实现很多其他功能,欢迎各位聪明的工程师小伙伴自行发挥! 以上就是小编为大家带来的在飞凌OKT507-C开发板上添加GPIO按键的全过程,想要了解有关OKT507-C开发板更多的功能和详情,可以 点击下图进入飞凌嵌入式官网 查看。
  • 热度 4
    2022-7-8 09:42
    1033 次阅读|
    0 个评论
    飞凌嵌入式推出的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.dtsi 2.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.dtsi 3.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.dtsi 3.4 WiFi引脚配置 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi 3.5 蓝牙引脚配置 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi 3.6 音频引脚 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi