- 博客(13)
- 问答 (1)
- 收藏
- 关注
原创 【Linux】移植:LVGL 8.0.2
开发板:JZ2440 系统版本:Linux 4.10.17 + 设备树 代码仓库地址:lvgl 仓库 LVGL 版本:v8.0.2 LVGL 驱动版本:v6.1.1 LVGL demo版本:v5.2-rc 注: 1)在使用 lvgl 之前,要确保当前系统支持了显示屏驱动,如 /dev/fb0。 2)lvgl 编译会将自己所用到的库全部打包到一起,所以不需要额外添加动态库文件。 一、创建目录 创建一个 lvgl 目录,然后将 lvgl 的源码放进该目录。 1)
2021-09-05 19:36:33
3648
原创 【RTT】移植:LVGL 8.0.2
开发板:潘多拉开发板 系统版本:v4.0.3 LVGL版本:8.0.2 注:这篇文章就简单记录下编译成功,跑了一个 demo 的过程,至于是否完全移植成功,不确定哈,毕竟 LVGL 还没自学呢。。 一、创建目录 在 bsp/stm32/stm32l475-atk-pandora/board/ports 目录下创建一个 lvgl 目录,然后将 lvgl 的源码放进该目录。 目录结构如下所示。 ├─lvgl │ ├─lvgl-8.0.2 二、添加配置文件 将
2021-07-25 19:39:20
3810
1
原创 【RTT】小项目:显示太空人动画
开发板:潘多拉开发板 系统版本:v4.0.3 一、将视频转换成图片 gif 和视频转换的方法都是一样的,这是我选择使用的是太空人的 gif。 转换的方法就是通过 python + opencv 从视频或 gif 中按帧提取图片,然后保存图片。 参考代码如下。import osimport cv2class Picture(object): def __init__(self, video_path, pictures_path): self.vid
2021-07-21 15:16:26
978
2
原创 【RTT】SPI Flash 与文件系统(3):DFS 和 EasyFlash
参考文档(国内):DFS 参考文档参考文档(国内):EasyFlash 参考文档 一、DFS 概述 DFS 是 RT-Thread 提供的虚拟文件系统组件,全称为 Device File System,即设备虚拟文件系统。 具体的描述可以查看上面的参考手册。 二、EasyFlash 概述 EasyFlash 是一款开源的轻量级嵌入式Flash存储器库,方便开发者更加轻松的实现基于Flash存储器的常见应用开发。 它让 Flash 变为 NoSQL(非关系型数据库)模型的小
2021-07-07 13:25:10
1627
原创 【RTT】SPI Flash 与文件系统(2):FAL
参考文档(国内):FAL 参考文档 一、概述 FAL (Flash Abstraction Layer) ,即 Flash 抽象层,是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及 分区操作的 API。 对于 FAL 的依赖来说,对 RT-Thread 无依赖,也可用于裸机。但是,测试命令功能需要依赖 RT-Thread FinSH/MSH。 二、FAL 的使用 对于 FAL 的使用,详细介绍可以查看上面的参考手册,这里只是做一
2021-07-07 12:44:53
1331
原创 【RTT】SPI Flash 与文件系统(1):SFUD
参考文档(国内):SFUD 参考文档 一、概述 SFUD,即 Serial Flash Universal Driver,是一款开源的串行 SPI Flash 通用驱动库。 具体的描述可以查看上面的参考手册。 二、SFDP SFDP 是 JEDEC(固态技术协会)制定的串行 Flash 功能的参数表标准。 该标准规定了,每个 Flash 中会存在一个 参数表 ,该表中会存放 Flash 容量、写粒度、擦除命令、地址模式等 Flash 规格参数。 如果要知道当前你所使用
2021-07-07 12:00:02
1400
原创 【RTT】线程(2):线程的创建和启动
一、线程的创建 1、 静态创建 该函数定义在 rt-thread/src/thread.c 文件中。rt_err_t rt_thread_init(struct rt_thread *thread, const char *name, void (*entry)(void *parameter), void *p
2021-04-20 16:41:03
600
原创 【RTT】线程(3):线程的调度
概要 前面提到线程的运行状态、时间片、优先级,那么系统怎么判断当前时间该运行哪一个线程呢?这就要通过线程调度来实现。 我们来分析下源码,看下最终是调用哪些函数。/* 让出处理器资源 */rt_err_t rt_thread_yield(void) -> void rt_schedule(void)/* 线程休眠 */rt_err_t rt_thread_sleep(rt_tick_t tick) -> void rt_schedule(void) 可以发现,rt_
2021-04-20 15:32:27
1224
原创 【RTT】线程(1):相关概念
概要 线程是 RT-Thread 中最基本的调度单位,它描述了一个任务执行的运行环境,也描述了这个任务所处的优先等级,重要的任务可设置相对较高的优先级,非重要的任务可以设置较低的优先级,不同的任务还可以设置相同的优先级,轮流运行。 当线程运行时,它会认为自己是以独占 CPU 的方式在运行,线程执行时的运行环境称为 " 上下文 " ,具体来说,就是各个变量和数据,包括所有的寄存器变量、堆栈、内存信息等。 一、线程管理 RT-Thread 线程管理的主要功能是对线程进行管理和调度,系统中总共存
2021-04-20 14:52:48
592
原创 【Python模块:pymysql】基本使用方法
【Python模块】pymysql的使用概要 如果要通过python来对MySQL数据库进行操作,那么可以使用pymysql模块。 参考文档 一、安装pymysql模块pip install pymysql 二、源代码阅读2.1、连接 pymysql的所有对数据库的操作都必须先与数据库服务建立连接。 对于连接,pymysql提供了connect()方法,该方法返回的是Connections模块下的Connection类的实例。 从源码来看,数据库的连接实质上就是TCP连接
2021-04-12 11:55:30
1314
原创 【Python小项目】简易记事本
Python小项目之简易记事本概要 最近简单地学习了一下python,就想做个小项目来更进一步了解一下python的开发过程,然后就根据网上资料,制作了一个简易记事本(就搭了个框架)实现的功能 因为是小项目,对GUI的要求也不多,所以使用python自身提供的tkinter模块(另一个原因就是网上资料大多数也是用这个) 因为是搭了个框架,所以实现的功能不多,如下: (1)"文件"选项:支持新建、保存、打开、退出功能 (2)“帮助”选项:支持关于功能代码 由于大部分都是使用模块,
2020-11-10 20:40:01
663
1
原创 【RTT】I2C总线设备:添加OLED模块
添加OLED模块概要一、OLED模块介绍二、修改Menuconfig三、编写代码(主要部分)1、硬件初始化2、编写drv_oled.c文件(主要函数)(1)将该文件存放在对应的bsp的/board/ports目录下(2)传输函数(3)OLED寄存器初始化(4)增加字符串输出功能3、添加字库文件 drv_oled_font.h(1)将该文件存放在对应的bsp的/board/ports目录下(2)4、添加头文件 drv_oled.h(1)将该文件存放在对应的bsp的/board/ports目录下(2)5、配置S
2020-10-16 16:29:41
833
3
原创 【RTT】I2C总线设备:分析
I2C总线设备概要一、I2C硬件资源初始化二、软件I2C的注册函数三、I2C总线设备的注册四、I2C总线设备的初始化五、I2C的数据六、I2C总线设备的使用1、 查找I2C总线设备2、 数据传输1)传感器初始化2)读传感器数据概要 一般情况下 MCU 的 I2C 器件都是作为主机和从机通讯,在 RT-Thread 中将 I2C 主机虚拟为 I2C 总线设备, I2C 从机通过 I2C 设备接口和 I2C 总线通讯。 (注:手头上的板子是正点原子的潘多拉,所以在这个潘多拉的bsp基础上进行分析)
2020-10-14 11:26:40
1248
空空如也
uboot-2016 支持设备树(打开 CONFIG_OF_LIBFDT)后无法启动
2021-09-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人