自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(588)
  • 资源 (3)
  • 收藏
  • 关注

原创 开源轻量级显示框架LVGL简介

#01 LVGL是什么LVGL的作者是来自匈牙利的Gabor Kiss-Vamosikisvegabor,LVGL用C语言编写,以实现最大的兼容性(与C ++兼容),模拟器可在没有嵌入式硬件的PC上启动嵌入式GUI设计,同时LVGL作为一个图形库,它自带着接近三十多种小工具可以供开发者使用。这些强大的构建块按钮搭配上带有非常丝滑的动画以及可以做到平滑滚动的高级图形,同时兼具着不高的配置要求以及开源属性,显著的优势使得LVGL蔚然成风,成为广大开发者在选择GUI时的第一选择。主要特性...

2021-09-03 00:10:21 9537 1

原创 小米CyberDog四足机器人的AI运动系统的实现

2021年8月10日,雷军进行继宣布造车之后的第二次演讲。在现场的展示中,小米发布了首款四足行走机器人——铁蛋,英文名CyberDog。这只“人类高质量宠物”可以行走、站立、小碎步跳舞等等。铁蛋现场展示在官方给出的运动性能参数中,介绍到,除了这些,CyberDog还支持恢复站立、姿态展示、缓慢趴下、缓跑、小跑、奔跑、跳跑、跳跃、倒地恢复、打滚、握手、跳舞、转圈、作揖、坐下等一系列功能动作。这只看起来像小狗的机器人其实是当前业内备受关注的新产品形态——仿生四足机器人。CyberDog全身.

2021-08-25 00:10:07 3401 1

原创 全志T527处理器参数

- 八核 ARM Cortex-A55 架构,主频最高可达 2.0 GHz

2025-02-13 10:10:30 725 1

原创 【实测】用全志A733平板搭建一个端侧Deepseek算力平台

用全志A733平板部署端侧deepseek大模型

2025-02-12 09:36:15 817

原创 百问MQTT协议分析 - 报文分析①

这两位用于指定发布遗嘱消息时使用的服务质量等级, 如果遗嘱标志被设置为 0, 遗嘱 QoS 也必须设置为 0(0x00),如果遗嘱标志被设置为 1, 遗嘱 QoS 的值可以等于 0(0x00), 1(0x01), 2(0x02), 它的值不能等于 3。注意:不管保持连接的值是多少, 任何时候,只要服务端认为客户端是不活跃或无响应的, 可以断开客户端的连接。e) 如果保持连接的值非零,并且服务端在一点五倍的保持连接时间内没有收到客户端的控制报文, 它必须断开客户端的网络连接, 认为网络连接已断开。

2024-12-13 09:41:41 746

原创 百问MQTT协议分析 - MQTT简述及协议报文格式组成

​ MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。

2024-12-13 09:29:11 766

原创 百问FB网络编程 - UDP编程简单示例

​ UDP服务器首先进行初始化操作:调用函数socket创建一个数据报类型的套接字,函数bind将这个套接字与服务器的公认地址绑定在一起。在结束通信后,客户机调用close关闭UDP套接字,服务器继续使用这个UDP套接字接收其它客户机的数据报。​ 因为在connect中指定了服务器的地址和端口号信息,所以后面的send就可以直接发送了,而不用再次指定地址和端口号。​ 在客户端代码2中,connect函数并非真的在协议层建立了连接,它只是指定了服务器的地址和端口号信息。

2024-12-10 09:46:31 467

原创 百问FB网络编程 - TCP编程简单示例

​ 服务器首先进行初始化操作:调用函数socket创建一个套接字,函数bind将这个套接字与服务器的公认地址绑定在一起,函数listen将这个套接字换成倾听套接字,然后调用函数accept来等待客户机的请求。过了一段时间后,客户机启动,调用socket创建一个套接字,然后调用函数connect来与服务器建立连接。连接建立之后,客户机和服务器通过读、写套接字来进行通信。参考:TCP/server_line.c。参考:TCP/client_line.c。

2024-12-10 09:42:54 360

原创 百问FB网络编程 - 主要函数介绍

下面全部函数的头文件都是。

2024-12-04 09:53:24 1188

原创 百问FB网络编程 - 网络编程简介

​ 要编写通过计算机网络通信的程序,首先要确定这些程序同通信的协议(protocol),在设计一个协议的细节之前,首先要分清程序是由哪个程序发起以及响应何时产生。​ 举例来说,一般认为WEB服务器程序是一个长时间运行的程序(守护进程deamon),它只在响应来自网络的请求时才发送网络消息。协议的另一端是web客户程序,如某种浏览器,与服务器进程的通信总是由客户进程发起。大多数网络应用就是按照划分为客户(clinet)和服务器(server)来组织的。

2024-12-04 09:46:19 670

原创 百问FB显示开发图像处理 - 图像调整

假设此时对长方形中的坐标点(40,50),它的x坐标相对于长的比值是40/200=0.2,y坐标相对于宽的比值是50/100=0.5,那么该点的变换后的坐标Dx,Dy则应满足:Dx/400 = 5;在坐标系B下,我们假设点(x0,y0)距离原点的距离为r,点与原点之间的连线与x轴的夹角为b,旋转的角度为a,旋转后的点为(x1,y1), 如下图所示。​ 要理解这个图像缩放算法的原理,最重要的是需要理解:对于图像上的每一个像素点,它缩放前后,相对于整个图像的比例应该是一样的。

2024-12-02 09:34:35 1258

原创 百问FB显示开发图像处理 - PNG图像处理

此外,我们还可以通过png_get_image_width,png_get_image_height,png_get_color_type等函数获得png图像的宽度,高度,颜色类型等信息,更多的图像信息获取函数可以在文件pngget.c中找到。参数1和参数2分别是步骤1中分配的png_ptr, info_ptr,返回值是每行数据的首地址。参数1是步骤1中分配的png_ptr结构体,参数2是需要解析的PNG文件的文件句柄。参数1是步骤1中分配的png_ptr,参数2是存放图片数据的指针。

2024-12-02 09:25:18 784

原创 百问FB显示开发图像处理 - JPEG图像处理

对于图像内容和信息相同的JPEG文件和BMP文件,JPEG格式的文件要比BMP格式的文件小得多,这是因为JPEG文件是经过JPEG压缩算法后得到的一种文件格式。​ 相对于BMP格式的文件,JPEG由于压缩算法的关系,其文件解析较为复杂,我们可以利用Linux系统开源的优点,使用开源工具对jpeg文件进行格式的解析和转换。调用这个函数后,就可以对cinfo所指定的源文件进行解压,并将解压后的数据存到cinfo结构体的成员变量中。参数1是步骤1中分配的jpeg_compress_struct类型的结构体。

2024-11-28 13:57:06 515

原创 百问FB显示开发图像处理 - BMP图像处理

所有的图像文件,都是一种二进制格式文件,每一个图像文件,都可以通过解析文件中的每一组二进制数的含义来获得文件中的各种信息,如图像高度,宽度,像素位数等等。只是不同的文件格式所代表的二进制数含义不一样罢了。我们可以通过UltraEdit软件打开图像文件并查看里面的二进制数排列。

2024-11-28 13:45:29 798

原创 百问LCD Framebuffer应用开发 - freetype搭建与使用

​ 开源的Freetype字体引擎库它提供统一的接口来访问多种字体格式文件,从而实现矢量字体显示。我们只需要移植这个字体引擎,调用对应的API接口,提供字体关键点,就可以让freetype库帮我们实现闭合曲线,填充颜色,达到显示矢量字体的目的。关键点(glyph)存在字体文件中,Windows使用的字体文件在FONTS目录下,扩展名为TTF的都是矢量字库,本次使用实验使用的是新宋字体simsun.ttc。字体文件结构如上图。

2024-11-25 11:05:13 908

原创 百问LCD Framebuffer应用开发 - 在LCD上使用点阵写字

​ HZK16 字库是符合GB2312标准的16×16点阵字库HZK16的编码,每个字需要32个字节的点阵来表示,例如我们将要显示的‘中’字,编码是D6D0,难道就是2个字节表示吗?​ 根据上图,我们分析下如何利用点阵在LCD上显示一个英文字母,因为有十六行,所以首先要有一个循环16次的大循环,然后每一行里有8位,那么在每一个大循环里也需要一个循环8次的小循环,小循环里的判断单行的描点情况,如果是1,就填充白色,如果是0就填充黑色,如此一来,就可以显示出黑色底,白色轮廓的英文字母。

2024-11-25 10:37:05 766

原创 LCD Framebuffer应用开发 - 操作原理

​ 在此处函数参数x与y表示的是像素点的坐标,而单个像素点所占据的显存大小可能会有不同的情况出现,如1字节表示一个像素点,2字节表示一个像素点,4字节表示一个像素点等,为了更多的兼容不同的情况,因此申请3个指针,pen_8指向的是占据1个字节的像素点空间, pen_16指向的是占据2个字节的像素点空间,pen_32指向的是占据4个字节的像素点空间。上图的是8*16的点阵,我们也可以用其他不同大小点阵,只要有这个点阵,我们就可以在LCD上面描点,达到显示字符的效果。

2024-11-22 10:11:09 1239

原创 全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS系统定制开发

开发完成后,运行mrtos_menuconfig,选中该模块对应的CONFIG后退出,然后mrtos进行编译,这样新增的软件包便可以编译到RTOS镜像文件中了。将RTOS镜像文件移动到TinaLinux环境下重新编译打包,新生成的固件打包烧录进开发板后,启动RV核,在RV核控制台输入help命令。其中Makefile指定该模块的编译规则,Kconfig则指定该模块的编译配置,从而达到功能可裁剪,镜像文件大小可灵活配置的目的。RTOS下一个简单的软件包便创建成功了。

2024-11-22 09:36:35 547

原创 全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS新增方案

进入rtos目录,重新配置方案选择,这时候我们发现会多了t113_s3p_c906_example_demo 方案选择,我们重新选择t113_s3p_c906_example_demo 方案。第二步:进入rtos/lichee/rtos/projects/t113_s3p_c906目录,创建example_demo文件夹(从evb1_auto方案拷贝过来)第一步:进入rtos/board/t113_s3p_c906目录,创建 example_demo 文件夹(从evb1_auto方案拷贝过来)

2024-11-22 09:30:48 437

原创 全志T113双核异构处理器的使用基于Tina Linux5.0——异构双核通信验证

在小核端需要使用命令 eptdev_send 用法 eptdev_send ,这里的id号从0开始,我们设置有两个通信节点,所以id号分别为0和1。在大核TIna Linux中也创建了两个监听节点,输入ls /dev/rpmsg*查看节点信息。在C906小核串口终端建立两个通讯节点用于监听数据,输入eptdev_bind test 2。输入后,打开C906串口终端可以发现,大核传输过来的信息。创建完成后,可以在C906小核终端中查看自动输出的信息。在C906小核,多次传输信息到监听节点rpmsg0。

2024-11-20 09:47:26 473

原创 全志T113双核异构处理器的使用基于Tina Linux5.0——异构双核通信的具体实现

Freertos的配置包括通信协议的配置。在RTOS定制中,修改引脚分配也是通过修改sys_config.fex来完成的,以t113_s4_c906_evb1_auto项目为例,该文件在在SDK所在目录/rtos/board/t113_s4_c906/evb1_auto/configs目录下。编译完成后会在SDK目录下的/rtos/board/t113_s4_c906/evb1_auto/bin目录生成rtos_riscv_sun8iw20p1.fex和freertos.fex,这两个文件是一样的。

2024-11-20 09:39:28 1250

原创 全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS编译开发说明

从以上RTOS的方案中,可以看到有支持t113-i处理器的,也有支持t113_s4处理器的,当前默认是t113_s4_c906_evb1_auto,这个是基于t113_s4处理器的方案。另外,这个方案是可以添加的,如果主板是基于T113I的,可以把t113_i_c906_evb1_auto作为蓝本增加自己方案,如果主板是基于T113-S4的,可以把t113_i_c906_evb1_auto作为蓝本增加自己方案。开发者可以通过修改LICHEE_RTOS_PROJECT_NAME字段,更改构建RTOS方案。

2024-11-18 09:44:45 1392

原创 全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS简介

lichee/rtos目录主要包括arch(架构相关)、components(组件)、drivers(驱动)、include(头文件)、kernel(内核)、projects(工程)、toos(工具链)等目录,下面对常用重要目录分别进行介绍。lichee/rtos/drivers目录下的rtos hal子目录软链接到该目录,下面对该目录进行介绍。arch目录主要放置跟SoC架构相关的内容,每个SoC单独目录管理,主要包括跟risc v架构相关的ARCH初始化、中断处理、异常处理、内存映射相关功能的实现。

2024-11-18 09:33:04 2277

原创 DIY了一台无人机,用全志T113芯片

‌无人机飞控是无人机的核心部分,一般包括传感器、机载计算机和伺服作动设备三大部分,能否在对重量和体积有严苛要求的无人机结构上部署具有稳定功能的飞控,是影响无人机飞行表现的重要因素。基于此,作者就基于全志T113-S3设计了一款仅有30x30孔距的超轻量无人机飞控,可以实现无人机的自稳飞行及远距离图传。

2024-11-13 09:43:09 1122

原创 成本400元,DIY一个高刷新率热成像相机

在市面上开源的热成像作品中,有一部分颜值高,但;也有一部分把分辨率提高了,但使用起来。基于此,作者本人结合二者的优势,设计了一款,成本算下来只要400出头,还具备了万全的功能。这款热成像相机不仅拥有高分辨率及丝滑流畅的拍摄,在主控全志T113的加持下,UI界面的几乎所有动画都能达到,并支持随意的动画打断,最重要的是,作者将热成像相机的了出来!热成像相机开机动画演示PCB温度检测演示远距相机检测演示。

2024-11-13 09:26:31 1251 1

原创 全志Linux磁盘操作基础命令

fidsk是一个用来创建和维护磁盘设备分区的一个实用工具。

2024-09-02 10:46:52 399

原创 8月全志芯片开源项目分享合集

本项目的基本原理是由下位机采集温湿度信息到监控端,并由T113读取SHT30高精度温湿度芯片,UI采用高仿HomeAssistant的样式显示室内温湿度情况,同时通过网络获取天气、室外温湿度,Lottie动画图标显示当前天气情况和室外温湿度参数,可谓可视化拉满。T113监控端跑的Tina-Linux系统,Gui使用LVGL,采用10.1寸超大屏,采用高斯模糊(毛玻璃特效)背景,有高大上的动画时钟显示,它可以是天气时钟,也可以是家庭中控,通过TCP通信(后续改成MQTT),可以进行智能家居控制。

2024-09-02 10:23:03 762

原创 为了学习内核开发,大佬手搓了一个轻量级操作系统YiYiYa OS

YiYiYa操作系统是一个朴实无华的操作系统,追求快速开发,最小实现,同时遵循SOLID原则。编码简洁明了,非常适合学习操作系统的同学。目前既有宏内核,也逐步实现了微内核架构,未来将会是混合内核。目前YiYiYa OS支持很多种架构和平台,包括ARM-Cortex A7系列的V3s、T113-S3等芯片、ARM9内核的F1C系列芯片以及部分RISC-V内核芯片,所有移植教程及方法都在Github上公开。

2024-08-27 10:06:09 1174

转载 飞凌OK-全志T527开发板nbench性能测试

nbench是一款专门用于处理器以及存储器性能测试的基准测试程序,即著名的BYTE Magazine杂志的BYTEmark benchmark program,nbench在系统中运行并将结果和一台运行Linux的AMD K6-233电脑比较,得到的比值作为性能指数。可以看到部分指标已经有台式机1/3或者1/2的得分了,要知道这可是兼顾了功耗的ARM平台,而且对标的对手是8大核的桌面级CPU,可见T527的芯片性能还是很强大的。HUFFMAN 哈夫曼压缩-一个著名的文本和图形压缩算法。

2024-08-20 10:24:29 309

原创 百问网全志系列开发板音频ALSA配置步骤详解

​ ALSA是Linux系统中为声卡提供驱动的内核组件。它提供了专门的库函数来简化相应应用程序的编写。相较于OSS的编程接口,ALSA的函数库更加便于使用。​ 对应用程序而言ALSA无疑是一个更佳的选择,因为它具有更加友好的编程接口,并且完全兼容于OSS。驱动包alsa-driver开发包alsa-libs开发包插件alsa-libplugins设置管理工具包alsa-utilsOSS接口兼容模拟层工具alsa-oss特殊音频固件支持包alsa-finnware。

2024-08-13 09:55:59 1229

原创 百问网全志系列开发板摄像头V4L2编程步骤详解

​ Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下一套用于采集图片、视频和音频数据的通用API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。V4L2像一个优秀的快递员,将视频采集设备的图像数据安全、高效的传递给不同需求的用户。​ 在Linux中,一切皆文件,所有外设都被看成一种特殊的文件,称为“设备文件”。视频设备也不例外,也可以可以看成是设备文件,可以像访问普通文件一样对其进行读写。

2024-08-13 09:45:13 1055

原创 全志模块设备开发之PWM编程基础介绍

​ PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。

2024-08-05 13:57:29 925

原创 全志模块设备开发之GPIO编程基础介绍

​ GPIO(General-Purpose IO Ports),即通用IO接口。GPIO的使用较为简单,主要分为输入和输出两种功能。GPIO主要用于实现一些简单设备的控制。在作为输入型GPIO的情况下,我们可以将该IO连接外部按键或者传感器,用于检测外部状态。当作为输出时,我们可以通过输出高低电平来控制外部设备的运转。​ 由于GPIO的功能多种多样,我们需要首先将引脚设置为GPIO。设置为GPIO之后,我们需要设置GPIO的方向。当设置为输出时,我们可以控制输出高电平或者低电平。

2024-08-05 10:13:00 1383

原创 全志Tina_NPU开发部署说明

本文档(本指南)主要适用于以下人员:• 技术支持工程师• 软件开发工程师• AI 应用案客户• 支持int8/uint8/int16 量化精度,运算性能可达1TOPS.• 相较于GPU 作为AI 运算单元的大型芯片方案,功耗不到GPU 所需要的1%.• 可直接导入Caffe, TensorFlow, Onnx, TFLite,Keras, Darknet, pyTorch 等模型格式.

2024-08-01 10:18:30 623

原创 百问网全志T113-PRO LVGL环境配置

注意:如果您是自己配置的虚拟机的请修改为对应的路径,,如果使用我们提供的方式二 直接 复制 粘贴到 ubuntu18.04终端执行即可。​ 假设将下载的工具链和源码tar.gz格式的压缩包文件传入虚拟机的任意目录中,这里我新建一个lvgl工作目录存储三个压缩包。传输完成后,切换到开发板串口终端软件,进入终端,输入 如下命令: 即可看到屏幕运行 自己编译新的demo程序。​ 打开串口终端软件,这里我使用MobaXterm软件演示,选择开发板的串口终端号,可以在设备管理中查看。查看ADB设备的设备号。

2024-08-01 10:10:44 1527 1

原创 7月全志芯片开源项目分享合辑

一块适用于Sipeed Lichee RV(全志D1-H)的小电脑底板。拥有GPIO、USB接口和独立的UART接口。该板子搭载了6个GPIO口,以及可供用户连接各种USB设备(如U盘等),可用于如小彩灯控制等各种应用。板子上的UART串口可以使用户使用USB转串口设备通过串口访问小电脑。只需要打开支持串口访问的ssh工具并找到相对应的端口编号(Windows下是COMX,Linux下是ttyUSBX)即可访问该板子。

2024-07-29 14:08:16 659

原创 飞凌全志T527开发板实现局域网内文件传输功能

命令如下:fltest_wifi.sh -i wlan0 -s H3C_708 -p 123456785. 将-s后面的字符换成自己WIFI的名字,-p后面为密码,当出现connect ok的字样时,说明已经连接成功了,并且途中可见分配了192.168.3.13的ip地址,如果不记得也不要紧,我们可以通过在开发板中使用ipconfig命令进行查询,wlan0网卡对应的IP就是开发板的IP。从开发板端ping一下主机,emm,竟然还有丢包,算了没关系,连接成功就好了。

2024-07-29 13:51:45 466

原创 AvaotaA1全志T527开发板AMP异构计算资源划分

DSP的local sram包括IRAM和DRAM0/1,放在DSP内部,其他主机可以通过DSP的总线接口对该RAM进行访问,而DSP可以通过特定地址(0x0040_0000 - 0x0044_FFFF)对其直接访问,实现最高效率。由于DSP的cacheable空间大小只能按照你512MB去划分,而且跳转指令不能超过1G空间,因此对于SRAM、以及DRAM的空间,DSP存在多套地址映射,根据不同的地址段区分cacheable和non-cacheable。

2024-07-24 10:00:16 742

原创 AvaotaA1全志T527开发板AMP异构计算简介

Avaota SBC 的部分平台内具有小核心 CPU,与大核心一起组成了异构计算的功能。在异构多处理系统中,主核心和辅助核心的存在旨在共同协作,以实现更高效的任务处理。这种协作需要系统采取一系列策略来确保各个核心能够充分发挥其性能优势,并实现有效的通信和协同工作。这就形成了一种称为异构多处理系统(AMP系统)的架构。在AMP系统中,通常采用主-从结构。主核心作为系统的控制中心,负责启动和管理辅助核心。一旦辅助核心启动完成,主核心和辅助核心之间会建立通信通道,以便进行数据交换和协同计算。

2024-07-24 09:54:32 821

原创 在AvaotaA1全志T527开发板上驱动WS2812 RGB LCD

LED 典型电路如图所示,其中 DI 表示控制数据输入脚,DO 表示控制数据输出脚。DI 端接收从控制器传过来的数据,每个 LED 内部的数据锁存器会存储 24bit 数据,剩余的数据经过内部整形处理电路整形放大后通过 DO 端口开始转发输出给下一个级联的 LED。因此,每经过一个LED,数据减少 24bit。LED典型电路如上图所示,其中 DI 表示控制数据输入脚,DO 表示控制数据输出脚。

2024-07-22 10:44:44 1267

tina_r329-evb5_uart0_usb1test_20200806.img

AW R329 Tina Linux

2020-08-06

sunxi-livesuite.tar.xz

Ubuntu20.04LTS下装Livesuit用的,包括awusb、工具本身等等,具体使用方法见博文

2020-06-25

全志平台Tina系统切频测试脚本

# Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. test_count=0 test_count_total=99999 sleep_time_long=300 sleep_time_short=30 #set CPU modle to userspace,set MAX frep to 1200M,set MIN frep to 60M echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq echo 60000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

2018-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除