Linux
文章平均质量分 74
青天喵喵
这个作者很懒,什么都没留下…
展开
-
linux驱动之电阻触摸屏驱动开发与滤波算法
本文基于ns2009驱动程序,主要内容是ns2009电阻触摸屏的采样、滤波。原创 2021-01-07 08:32:10 · 3213 阅读 · 2 评论 -
嵌入式Linux平台下TTS(文本转语音)技术的实现
本文通过ekho8.0实现的tts技术能够准确读出英文、初步实现语法语义分析。能识别大部分多音字成语、正确读出年月日。并且由于ekho采用基于人录音的语料库的声音较其他大部分开源TTS引擎都平滑自然。支持普通话、台湾话、客家话、藏语和英语等。原创 2020-11-13 11:44:41 · 8033 阅读 · 0 评论 -
opencv-4.3.0嵌入式Linux移植
OpenCV-4.3.0是较新的OpenCV版本,最新的版本是OpenCV-4.4.0,由于GitHub太慢总是下载失败,不得已就移植OpenCV-4.3.0这个版本用着先。在OpenCV中,新技术的支持和一些现有算法的优化都是体现在最新的版本中(目的是为了让用户用新版本),旧版本通常只修正bug。一、移植的先前准备如下:1.centos-7虚拟机2.安装cmake3和make工具二、移植的过程如下:...原创 2020-09-29 12:01:01 · 1176 阅读 · 0 评论 -
本博客的目录视图
收录了本博客的全部链接,方便查看与记录。本博客将继续完善,努力提高。嵌入式Linux工作两年经验总结及大纲初步规划1.c/c++C/C++指针、数组与内存管理(一)C/C++指针、数组与内存管理(二)C/C++指针、数组与内存管理(三)C语言链表基础(一)嵌入式C_C++语言精华——笔记堆和栈的区别(转)C语言数组和指针详解(转)2.qt编程Qt编程基础(信号和槽机制、字符串操作、容器类)3.shell脚本编程Linux shell脚本编程总结(一、运算符)原创 2020-08-10 14:46:25 · 256 阅读 · 1 评论 -
Linux驱动之在sys文件系统下创建节点的编程框架
在之前一篇博文讨论Linux内核空间与应用空间数据交流的几种方式提到了如下几种方式:1.输入子系统,这个是单向的,只能内核->应用层。通常用于输入设备如按键、触摸屏将键值或者坐标上报给用户空间2.文件操作集合,ioctl/read/write等函数,对应了字符设备等设备类型,这个是双向的,内核层和应用层可以互相发数据。通常用于各种需要对硬件设备进行读写的设备驱动程序3.sys文件系统,也就是属性节点,同样也是双向的。通常用于读取或者修改驱动程序的配置,比如在一个由pwm控制的LED程序中设原创 2020-07-18 11:50:50 · 4069 阅读 · 1 评论 -
imx6ul之内核升级与双系统启动
平台:tq-imx6ul内核版本:Linux-4.1.15查看当前系统分区如图所示可以得知:uboot分区:/dev/mtd0uboot环境变量分区:/dev/mtd1logo分区:/dev/mtd2内核分区:/dev/mtd3设备树分区: /dev/mtd4自定义内核分区:/dev/mtd5自定义内核分区:/dev/mtd5在tq-imx6ul中增加自定义分区的方法很简单,只在uboot源码里的mx6ul_14x14_evk.h文件修改宏定义MTDPAR..原创 2020-07-08 21:59:06 · 1189 阅读 · 0 评论 -
Linux shell脚本编程总结(四、函数传参与返回值)
本文主要介绍shell脚本的传参与函数返回值,首先看个表格,了解一下shell脚本编程中几个特殊变量。$0 当前脚本的文件名 $n 传递给脚本或函数的参数,n是一个数字,表示是第几个参数。如:$1是第一个参数,$2是第二个参数,以此类推 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数 $? 上个命令执行状态或者函数的返回值 $$ 当前shell脚本的进程id 举个例子说明:#原创 2020-07-05 14:39:46 · 753 阅读 · 0 评论 -
Linux内核态与用户态的数据通信方法
本文主要介绍了Linux内核与数据交流的几种方式原创 2020-07-02 22:32:18 · 2266 阅读 · 0 评论 -
Linux shell脚本编程总结(三、控制语句、循环语句与正则表达式)
在shell脚本中,控制语句有if语句、case语句(类似C语言的switch...case),循环语句有while、for和until循环。原创 2020-06-24 10:56:18 · 413 阅读 · 0 评论 -
Linux shell脚本编程总结(二、字符串操作)
在本文将主要讲到在shell中如何操作字符串,包括:字符串的截取、拼接、提取、替换等操作原创 2020-06-23 15:57:04 · 354 阅读 · 0 评论 -
Linux shell脚本编程总结(一、运算符)
主要会写一些shell脚本下操作字符串的方法原创 2020-06-23 08:35:50 · 578 阅读 · 0 评论 -
嵌入式Linux工作两年经验总结及大纲初步规划
2020年6月19日,距毕业2018年6月30日两年时间。不知道怎么写,先按时间记个流水账。2018年3月入职,距今在这家公司呆了两年三个月。调试过三种不同处理器的板子,搞过的项目只有一个,量产的项目为0。但涉及的东西不少,因为这个项目大部分的工作都是自己负责了。虽然涉及的东西不少,但是研究的深的好像又不多。做个总结,也做个大纲。以后一一写博客补上。那就从底层到上层开始吧。 首先就是uboot,uboot方面做过的主要是logo显示、上电加载镜像的方式、uboot层的硬件驱...原创 2020-06-19 11:43:51 · 611 阅读 · 0 评论 -
ekho嵌入式Linux移植全过程
第一部分:背景说明:Ekho(余音)是一个把文字转换成声音的软件。它目前支持粤语、普通话(国语)、诏安客语、藏语、雅言(中国古代通用语)和韩语(试验中),英文则通过Festival间接实现。ekho的大致框架流程是1:读取文本字符2: 查字典匹配对应的音频信号数据3:将音频信号通过pulseaudio送入声卡发声。第二部分,配置,交叉编译相关依赖的关系ekho ----&...原创 2019-11-27 14:36:51 · 4422 阅读 · 0 评论 -
Linux进程间通信(一)
进程是操作系统中一个很重要的概念。进程是操作系统分配资源的基本单位,也是CPU调度的基本单位。Linux作为多任务系统,能够同时运行几个进程。通常各个进程必须保持独立,避免彼此干扰。但是有时候,应用程序必须彼此通信。举例来说:1.一个进程生成的数据传输到另一个进程时2.数据由多个进程共享时3.进程必须彼此等待时4.需要协调资源的使用时进程是操作系统中一个很重要的概念。进程是操作...原创 2019-11-19 09:56:47 · 415 阅读 · 0 评论 -
imx6ul之LCD驱动移植
首先贴上一位大佬的博客,对LCD有很详细的描述https://blog.csdn.net/longxiaowu/article/details/24319933在uboot和kernel中,都存在这样一个结构体fb_videomode 描述LCD的各项参数,结构体代码如下:struct fb_videomode {const char *name; //液晶屏名字(可选)u32...原创 2019-05-22 16:57:31 · 4900 阅读 · 4 评论 -
imx6ul之8723BU蓝牙驱动移植
主控芯片/架构 imx6ul/cortex-a7平台信息+平台厂家信息 nxpWIFI模块/芯片型号 RTL8723BU作业系统(linux/android/...) linuxKernel Version 4.1.15关于RTL8723bu wifi+BT的驱动移植请参考https://blog.csdn.net/qq_22902919/article/details/8...原创 2019-05-22 17:05:32 · 4138 阅读 · 2 评论 -
imx6ul之按键驱动添加
一、给imx6ul添加按键驱动在linux4.1.15中给imx6ul添加按键驱动涉及到设备树文件和驱动源码如下linux-4.1.15/arch/arm/boot/dts/tq-imx6ul.dtslinux-4.1.15/drivers/input/keyboard/gpio_keys.c在板子首先需要修改设备树文件,在tq-imx6ul.dts中添加如下代码:gpi...原创 2019-05-22 17:10:42 · 1539 阅读 · 0 评论 -
Linux声音解决方案与TTS引擎
一、ALSA+Pulseaudio在嵌入式Linux中的声音解决方案Linux音频系统比较复杂,各层间有很多交叉,可能是最无序的子系统,并且它有两套音频驱动框架: OSS (Open Sound System)和ALSA (Advanced Linux Sound Architechture),所以底层驱动有OSS和ALSA两套API。 ALSA经过多年的发展,基本统一了Linux声卡...原创 2019-07-26 13:55:50 · 7608 阅读 · 0 评论 -
Linux内存管理(一)
内存管理是计算机编程最为基本的领域之一,实际编程中,理解内存管理器的能力与局限性非常重要。在大部分系统语言中,比如C/C++必须进行内存管理。一、进程虚拟内存(1)未初始化的全局变量(.bss段)Bss段用来存放没有初始化和初始化为0的全局变量。现代大多数操作系统在加载程序时,会把所有bss全局变量清0,但为保证可移植性手动清0是个好习惯。(2)初始化过的全局变量...原创 2019-09-07 14:04:42 · 144 阅读 · 0 评论 -
Linux文件系统(一)
一、Linux内核子系统简介Linux支持多个进程的并发运行,每个进程都请求系统资源,比如运算、内存、网络连接等其他一些资源等。内核负责处理所有这些请求,根据内核完成任务的不同,可以将内核分为进程管理、内存管理、文件系统、设备控制、网络功能五个子系统。二、Linux文件系统 在Linux操作系统中,文件系统是用来组织、管理、存放文件的一套管理机制。Linux支持多种文件系统类型,也就...原创 2019-05-20 08:41:13 · 468 阅读 · 0 评论