自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yumin's Blog

知行合一,守正出奇

  • 博客(28)
  • 收藏
  • 关注

原创 RK3588 移植 OpenHarmony-4.0-Beta1 之编译

【代码】RK3588 移植 OpenHarmony-4.0-Beta1 之编译。

2023-06-14 20:20:53 5996 14

原创 rkmedia 调试笔记

RKMedia 是 Rockchip 在 RV1109/RV1126 上推出的新一代音视频开发框架。RKMedia提供了一种媒体处理方案,可支持应用软件快速开发。RKMedia在各模块基础API上做进一步封装,简化了应用开发难度。

2020-11-23 20:21:39 13024 9

原创 RV1109 RV1126 培训资料

多媒体RKMedia介绍链接:https://pan.baidu.com/s/1Z4o2v2KL6eCKXgI2fMEcSA提取码:vhk2RK NPU开发套件介绍及Q&A链接:https://pan.baidu.com/s/10w7R_q857uVEXq-88Pu-1g提取码:c66lRV1126&RV1109摄像头驱动调试介绍链接:https://pan.baidu.com/s/1rva6ZDj1x-T1rNcxV354KA提取码:z4uhRV1126&RV11

2020-11-22 10:19:50 8118 8

原创 Windows下使用Git+rsync构建文件同步工具

“打工人,打工魂,打工都是人上人……”随着打工人的口号越喊越响亮,最近的工作也越来越忙了???? 。在不得已的情况下,经常需要把当天未看完的文档,未写完的代码,拷贝到U盘,带回家继续整;在文件比较少的情况下还好,在文件特别多、或者特别大的情况下,处理起来就会比较麻烦。于是我意识到需要用一个工具来完成这个文件同步的工作,自然而然就想到了 Linux 平台上的 rsync;rsync 的优点是显而易见的:支持网络和本地传输,支持断点传输,最重要的是——支持增量更新,这也就让它在处理多文件、大文件的时候更加有优势

2020-11-15 22:17:10 9850 18

原创 Linux USB 设备驱动

USB 设备驱动的整体结构Linux 实现了以下几类通用的USB设备驱动,并且为它们分配了主次设备号:音频设备类通信设备类HID(人机接口)设备类显示设备类海量存储设备类电源设备类打印设备类集线器设备类在 sysfs (/sys/bus/usb) 和 debugfs (/sys/kernel/debug/usb) 下都可以查看USB设备信息 。设备驱动的抽象使用 usb...

2020-02-18 13:51:46 614

原创 Linux SPI 设备驱动

SPI设备驱动的整体结构设备驱动的抽象使用 spi_driver 结构体来表示一个SPI设备驱动。SPI从设备的抽象使用 spi_device 结构体来表示SPI总线上匹配到的从设备,通常它被包含在设备的私有结构体中;在设备驱动中操作SPI设备时,需要先获得此结构体的实例。SPI数据传输的抽象使用 spi_message 结构体来描述一次完整的SPI传输,它通常包含一个或多个 spi_...

2020-02-18 13:50:09 885

原创 Linux I2C 设备驱动

I2C设备驱动的整体结构设备驱动的抽象使用 i2c_driver 结构体来表示一个I2C设备驱动。I2C从设备的抽象使用 i2c_device_id 结构体来表示I2C驱动所支持的设备的列表,由 i2c_driver 的 id_table 成员指向这个结构体的一个实例化的数组。static const struct i2c_device_id xxx_table[] = { { "x...

2020-02-18 13:47:35 1066

转载 Linux内核中的atoi和itoa

对于atoi()用simple_strtol() ,simple_strtoul()等函数替代;对于itoa(),用snprintf()。参考:http://blog.chinaunix.net/uid-26377382-id-4849927.html

2019-08-19 16:31:31 482

原创 树莓派:设备树、Linux内核的编译及替换

[RaspeberryPi_3b+] 树莓派:Linux内核镜像、设备树的编译及替换一、开发环境、源码以及编译工具1. 开发环境的安装目前我是在 Ubuntu 16 的虚拟机环境下做树莓派相关的开发,以下命令用来安装开发必需的环境:sudo apt-get updatesudo apt-get install bc build-essential git unzipsudo apt-g...

2019-03-24 15:08:51 5734 3

原创 [RK3399] [Android7.1] 调试笔记:TSC2007 触摸屏

Platform: RK3399OS: Android 7.1Kernel: v4.4.103Board: Firefly-AIO-3399CTSC2007 的 Datasheet 给出了它的一个典型应用电路:我们自己打了几块调试的小板,大概如下图这样

2019-03-17 17:29:18 5722 2

转载 Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endififeq (...

2019-03-06 09:59:26 254

原创 Linux时间编程之strftime():格式化输出好帮手

刚工作那时候遇到这样一个需求:要求设备能够按照用户的设置,以各种方式显示时间及日期:时间-24小时制/12小时制;日期-年月日/月日年/日月年。那时候,只懂得用最基本的方法去得到 struct tm 这个结构体,然后再一个个判断条件输出。刚开始写的代码非常啰嗦,被同事笑了一番,然后才得知有 strftime() 这么好用的一个函数。同时也领悟到了某位大佬的那句话:“你遇到的问题,其实很多人都遇到过...

2018-10-07 23:14:20 8225

原创 创建及终止一个线程

在工作中遇到一个问题:在程序中需要创建一个线程,间隔若干秒循环地监测某个变量,并且能够随时的终止这个线程,同时又需要保证线程的唯一性。在此把相关的逻辑抽离出来,总结的代码如下:/* 创建及终止一个线程,同时保证线程的唯一性 */static pthread_t test_tid;//线程函数static void *test_thread(void *arg){ wh...

2018-10-07 22:08:22 349

原创 C语言不定长字符串数组运用的一个例子

最近在工作中遇到一个问题:需要将一个或多个文件路径与某个结构体或结构体数组关联起来,以对结构体进行初始化。我需要为这个操作写一个统一格式的接口。中间遇到一些不太理解的地方,我参考了这篇文章:https://blog.csdn.net/xudongdong99/article/details/6723163 ,对二维数组的传参有有了更多的理解。其实说到底,这些都是技巧上的问题而已。现在把我的代码...

2018-07-21 17:45:40 5962

原创 三步完成samba服务器的安装及配置(ubuntu 系统)

通常我们使用samba服务来实现Linux操作系统和WIndows操作系统之间的文件传输。本文教你在Ubuntu系统下,三步完成samba服务器的配置。一、安装sambasudo apt-get install samba 二、修改配置文件sudo vi /etc/samba/smb.conf在文件的最后添加如下的配置[samba]   comment = samba...

2018-07-21 12:28:36 419

原创 关于UTF-8、GBK编码以及编译时charset的指定的一些总结

首先分清两个概念:C文件中(转换为16进制)汉字的编码,编译后bin文件中汉字的编码。gcc的 -finput-charset和-fexec-charset两个选项的存在就是为了实现这两者的转换。1.默认情况下,gcc使用UTF-8 charset。2. C文件中使用GBK编码的汉字:若要使bin文件为UTF-8编码,必须同时指定 -finput-charset=GBK,-fe...

2018-02-04 17:42:08 9804 3

原创 yaffs2最新源码的debug记录

昨天,我打算把最新的yaffs2源码移植到linux-3.4.2中去。先使用git命令去获取最新源码:git clone git://www.aleph1.co.uk/yaffs2 。然后进入目录,运行脚本:“./patch-ker.sh c m ../linux-3.4.2”,把yaffs源码添加到内核树中去。接着是make menuconfig以及make uImage。最后新的uImage编

2018-02-03 16:07:11 1812

原创 交叉编译工具链——现成安装包&自己制作

arm-linux-gcc,几乎是我们在嵌入式开发中使用最多的工具了。有时候,我们需要升级这个工具以适应开发需要。本文将介绍:1. 使用现成的安装包来安装这个工具; 2. 自己制作这个工具。一、使用现成的安装包(以安装arm-linu-gcc-4.3.2为例)操作步骤:1. 下载安装包 arm-linux-gcc-4.3.2.tgz可在网络上寻找安装包,通常情况下,嵌入式开发板的厂商都会提供交叉编...

2018-02-01 22:01:01 953

原创 Linux驱动 | I2C设备驱动(以ds1337.c为例)

本文以 Linux-2.6.22.6 内核树下的 drivers/i2c/chips/ds1337.c 为例, 讨论Linux系统下的I2C设备的驱动代码的主要构成。ds1337是一款 i2c 接口的串行实时时钟芯片。i2c_driver 和 i2c_client 是I2C设备驱动的核心数据结构。I2C 设备驱动要使用 i2c_driver 和 i2c_client 数据结构并

2018-01-27 17:58:04 1196

原创 在实体PC机上安装Linux系统

今天无意间看到我那台闲置了好久的笔记本,突然心血来潮想给它装一个Linux系统。我的联想G480,曾经陪我走过整整4年的大学时光,后来因为时常卡顿而被淘汰。而我也希望看一下Linux系统能否给它新的生命……然后,我又写了这篇无聊的博客。好吧,先说一下完成这样一件事情需要准备什么原材料吧:1.硬件:16G的U盘一个,待装系统的电脑一台2.软件:老毛桃U盘启动盘制作工具,Linux系统发行版的映象文件...

2018-01-26 01:38:40 68592 9

原创 Linux驱动 | USB设备驱动中的URB数据结构

尽管 USB 本身所属设备驱动的结构与其不挂在 USB 总线上时完全相同,但是在访问方式上却发生了很大的变化,例如,对于字符设备而言,尽管仍然是 write()、read()、ioctl()这些函数,但是在这些函数中,与 USB 设备通信时不再是 I/O 内存和 I/O 端口的访问,而贯穿始终的是称为 URB 的 USB 请求块。 USB 请求块(USB request block,urb)是

2018-01-22 15:11:39 1006

原创 Linux驱动 | 解读块设备驱动的重要概念

块设备驱动块设备驱动比字符设备驱动要复杂得多,在 I/O操作上表现出极大的不同,缓冲、I/O 调度、请求队列等都是与块设备驱动相关的概念。字符设备与块设备I/O操作的不同:1. 块设备只能以块为单位,接受输入和返回输出;而字符设备则以字节为单位。2. 块设备对于I/O请求有对应的缓冲区,因此可调整顺序进行读写3. 虽然块设备可以随机访问,但是顺序地组织块设备的访问可提高性能

2018-01-22 10:56:37 2229

转载 关于inline(内联)

在c中,为了解决一些频繁调用的小函数大量消耗栈空间或是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。(一)inline函数(摘自C++ Primer的第三版)

2017-12-08 12:27:31 423

转载 线程同步(互斥锁与信号量的作用与区别)

“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在 哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这 个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说,信

2017-12-04 18:36:16 384

原创 如何使用网络根文件系统启动开发板?

1.前期准备1.1 开发板通过串口连接至Windows主机1.2 在Windows主机上开启虚拟机Ubuntu主机1.3 已制作好的网络根文件系统为:Ubuntu主机的 /work/nfs_root/ 这个目录1.4 通过 $ ifconfig 命令确定Ubuntu主机IP为192.168.0.72.Ubuntu主机上的操作2.1 查看是否安装nfs服务器$

2017-10-27 12:47:51 1539

转载 Linux下的lds链接脚本基础

一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?).-

2017-10-15 15:32:11 667

原创 浅谈JTAG接口

在嵌入式Linux的学习过程当中,我们经常使用JTAG接口来连接PC机与开发板,以实现程序的烧写与调试。本文简要介绍JTAG协议的定义、发展过程、功能以及常见的引脚信号排列。

2017-09-07 10:59:37 10726

转载 闪存中的NorFlash、NandFlash及eMMC三者的区别

快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。本文简要介绍闪存中的NorFlash、NandFlash及eMMC三者的区别。

2017-09-04 22:23:40 3053

空空如也

空空如也

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

TA关注的人

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