![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 81
lyuncxw
这个作者很懒,什么都没留下…
展开
-
嵌入式Linux之我行——S3C2440上Flash驱动实例开发讲解(一)
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://blog.chinaunix.net/space.php?uid=22174347一、Linux中Flash硬件知识Flash用途和分类: 在嵌入式系统开发设计中,存储转载 2012-11-01 15:09:18 · 1195 阅读 · 0 评论 -
嵌入式设备上的 Linux 系统开发
Linux 正在嵌入式开发领域稳步发展。因为 Linux 使用 GPL(请参阅本文后面的 参考资料),所以任何对将 Linux 定制于 PDA、掌上机或者可佩带设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发。许多 Linux 改良品种迎合了嵌入式/实时市场。它们包括 RTLinux(实时 Linux)、uclinux(用于非 MMU 设备的 Linux)、Montavi转载 2013-01-10 15:50:23 · 605 阅读 · 0 评论 -
嵌入式系统 Boot Loader 技术内幕
1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3. 文件系统。包括根文件系统和建立于 Fl转载 2013-01-10 15:58:03 · 553 阅读 · 0 评论 -
Bash 实例 之ebuild
进入 ebuild 系统我真是一直期待着这第三篇、也是最后一篇 Bash实例文章,因为既然已经在 第 1 篇和 第 2 篇 中讲述了 bash 编程基础,就可以集中讲述象 bash应用开发和程序设计这样更高级的主题。在本文中,将通过我花了许多时间来编码和细化的项目,GentooLinux ebuild 系统,来给您大量实际的、现实世界的 bash 开发经验。我是 Gentoo转载 2013-01-10 19:54:56 · 529 阅读 · 0 评论 -
嵌入式arm linux环境中gdb+gdbserver调试
采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试。目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。在此我们还不能直接采用linux发行版自带的gdb,需要交叉编译gdb和gdbserver。一.前言嵌入式Linux系统中,应用开发过程中,很多情况下,用户需要对一个应用程序进行转载 2013-01-12 22:00:26 · 1014 阅读 · 0 评论 -
守护进程编程步骤
守护进程编程步骤 1. 创建子进程,父进程退出 •所有工作在子进程中进行 •形式上脱离了控制终端 2. 在子进程中创建新会话 •setsid()函数 •使子进程完全独立出来,脱离控制 3. 改变当前目录为根目录 •chdir()函数 •防止占用可卸载的文件系统 •也可以换成其它路径 4. 重设文件权限掩原创 2013-01-12 19:11:37 · 578 阅读 · 0 评论 -
Linux环境进程间通信之信号 (上)
一、信号及信号来源信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基转载 2013-01-14 10:10:16 · 472 阅读 · 0 评论 -
Linux环境进程间通信之信号(下)
一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕。相邻两个事件的时间间隔构成信号生命周期的一个阶段。下面阐述四个事件的实际意义:信号"诞生"。信号的诞生指的是触发信转载 2013-01-14 14:41:01 · 501 阅读 · 0 评论 -
h264 编译
1.../../common/cabac_engine.h:26:23: fatal error: Bitstream.h:No such file or directory修改#include "Bitstream.h"为#include "bitstream.h"2.Fatal error: can't create ../obj/cabac.o: No such file ordir原创 2013-03-06 14:56:02 · 956 阅读 · 0 评论 -
Linux下的多线程编程
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用转载 2013-03-07 14:54:33 · 570 阅读 · 0 评论 -
pthread_cond_signal和pthread_cond_wait简介
原文:http://apps.hi.baidu.com/share/detail/19786281http://hi.baidu.com/boobleoo0/blog/item/5f935039a37c58f8b311c77f.htmlhttp://topic.csdn.net/u/20110105/16/12717238-9816-4571-a03d-e8b603724946.h转载 2013-03-07 15:10:11 · 582 阅读 · 0 评论 -
深度学习图片EXIF问题与图片大小判断
用于解决下载图像读取错误,exif问题,与判断图像重新定义大小是否会出错问题,并找出出错图像。import piexifimport osfrom PIL import Image# 图像存放绝对地址original_dataset_dir='/home/lyuncxw/AI/bird/bird1'# 重定义图像大小,元组target_size = [300,300]wid...原创 2019-04-27 17:44:31 · 1056 阅读 · 1 评论 -
记录 ubuntu 18.04 NVIDIA驱动
1、查看可用列表$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-cache search nvidia*2、卸载原有驱动$ sudo apt-get purge nvidia*3、禁用noveau$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf在最...原创 2019-04-23 11:58:56 · 215 阅读 · 0 评论 -
CUDA deb 安装
1、CUDA下载https://developer.nvidia.com/cuda-toolkit-archive2、选择对应版本deb安装sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.debsudo apt-key add /var/cuda-repo-<version>...原创 2019-04-23 14:15:13 · 1834 阅读 · 0 评论 -
基于Linux的实时系统
简介: 越来越多的开发者在基于Linux系统构造嵌入式实时应用,他们迫切地需要一份基于Linux系统构造嵌入式实时系统的指南性的文章。考虑到这种需求,本文在介绍了几种基本的实时进程调度算法的基础上,研究了普通的Linux操作系统的进程调度,并十分全面地调查了各种实时Linux系统为了支持实时特性对普通Linux系统所做的改进。文章分析了将Linux操作系统应用于实时领域中时所出现的一些问题,并总结转载 2013-01-10 16:05:13 · 642 阅读 · 0 评论 -
Linux 引导过程内幕
简介: 引导 Linux® 系统的过程包括很多阶段。不管您是引导一个标准的 x86 桌面系统,还是引导一台嵌入式的 PowerPC® 机器,很多流程都惊人地相似。本文将探索 Linux 的引导过程,从最初的引导到启动第一个用户空间应用程序。在本文介绍的过程中,您将学习到各种与引导有关的主题,例如引导加载程序、内核解压、初始 RAM 磁盘以及 Linux 引导的其他一些元素。早期时,启动一台转载 2013-01-10 16:02:10 · 435 阅读 · 0 评论 -
MACHINE_START与MACHINE_END
在移植Linux时,有个结构体需要填写,它以MACHINE_START开始并以MACHINE_END结束,如下mini2440开发板的移植为示例MACHINE_START(MINI2440, "MINI2440") .phys_io = S3C2410_PA_UART, .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, .bo原创 2013-01-07 11:01:37 · 10568 阅读 · 1 评论 -
dentry的中文名称是目录项,是Linux文件系统中某个索引节点(inode)的链接。这个索引节点可以是文件,也可以是目录
dentry - 目录项的结构以下是dentry的结构体struct dentry { atomic_t d_count; 目录项对象使用计数器 unsigned int d_flags; 目录项标志 struct inode * d_inode; 与文件名关联的索引节点 struct dentry * d_parent; 父目录的目录项对象转载 2012-07-17 09:23:47 · 1194 阅读 · 0 评论 -
V4L2下 mmap 多帧采集
V4L2下 mmap 多帧采集 one_capture_v4l2.c#include #include #include #include #include #include #include #include #include #include #include #include原创 2012-10-27 20:30:07 · 3206 阅读 · 2 评论 -
Makefile经典教程
本文来自网络。 0 Makefile概述 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编原创 2012-11-09 10:49:22 · 528 阅读 · 0 评论 -
Linux stat函数讲解
Linux stat函数讲解:表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0,失败返转载 2012-11-14 20:21:14 · 364 阅读 · 0 评论 -
Ubuntu 取代Redhat setup
sudo apt-get install sysv-rc-confsudo sysv-rc-conf操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。其中,“X”表示开启该服务。Ubuntu 的系统运行级别: 0 系统停机状态 1 单用户或系统维护转载 2012-12-22 10:48:09 · 629 阅读 · 0 评论 -
ARM Linux系统调用的原理
ARM Linux系统调用的原理操作系统为在用户态运行的进程与硬件设备进行交互提供了一组接口。在应用程序和硬件之间设置一个额外层具有很多优点。首先,这使得编程更加容易,把用户从学习硬件设备的低级编程特性中解放出来。其次,这极大地提高了系统的安全性,因为内核在试图满足某个请求之前在接口级就可以检查这种请求的正确性。最后,更重要的是这些接口使得程序具有可移植性,因为只要内核所提供的一组接口相同,那转载 2012-12-10 20:49:27 · 1426 阅读 · 0 评论 -
内核中的等待队列
我们首先来看看等待队列的组成。等待队列由等待队列头和等待队列项组成。要看的等待队列先要去linux-2.6.35/include/wait.h 。我们来看看等待队列的头的样子:Wait_queue_head_t就是等待队列的头,他的原型是Typedef __wait_queue_head wait_queue_head_t Struct __wait_queue_转载 2012-12-24 15:57:25 · 477 阅读 · 0 评论 -
V4L2 框架分析
这一篇幅旨在续上一篇V4L2框架分析的内容,其中包括了主函数的实现例子,以及帧图像的获并且JPEG图片的转换生成的方法。4、mainloop 这个模块主要的工作就是你获得数据后如何处理,可以直接存储,也可以实时显示在屏幕上。static void mainLoop(void)//main capture control { unsig转载 2012-12-24 16:12:26 · 655 阅读 · 0 评论 -
V4L2编程模型简介
简介:本文所附代码是根据v4l2官方文档以及demo(capture.c)修改而来,纯粹为学习交流之用,请勿使用在商用场合。地址:由于官方网的域名有敏感词汇,所以请google一下。一 、操作流程简单看二、 模块概要分析以下是所附代码所涉及到的全局变量,摆出来只是参考,具体修改的话请自行安排。#define CLEAR(x) memset (&(x), 0, sizeof转载 2012-12-24 16:11:11 · 749 阅读 · 0 评论 -
ubuntu tftp
sudo apt-get install tftp-hpa tftpd-hpa xinetd然后修改/etc/default/tftpd-hpa文件:1. # /etc/default/tftpd-hpa2. TFTP_USERNAME="root"3. TFTP_DIRECTORY="/tftpboot"4. TFTP_ADDRESS="192.168.1.125:69"(I原创 2012-12-28 20:05:01 · 600 阅读 · 0 评论 -
VM Ubuntu12.04 samba
以前都是在Redhat 上搭建samba,现在改成在ubuntu12.04 上搭建发现 sudo /etc/init.d/samba restart 始终不行,原来,现在ubuntu下,启动服务要用 sudo service smbd restart,一律都改成了service 这种形式来启动。1、首先安装 samba sudo apt-get insta原创 2012-12-22 09:59:38 · 3469 阅读 · 0 评论 -
Ubuntu ftp
ubuntu安装ftp服务器 1: 安装vsftpd sudo apt-get install vsftpd 2: 配置vsftpd2.1 修改vsftpd的配置文件。此类配置文件通常位于 /etc 目录下。 sudo gedit /etc/vsftpd.conf原文件中不少指令被注释,只要启用部分即可,一下是启用的命令(配置文件中对每一条都有具体说明)转载 2012-12-22 11:15:50 · 425 阅读 · 0 评论 -
Tensorflow-gpu、keras安装
1、python3、pip3安装sudo apt-get updatesudo apt-get upgradesudo apt-get install python3-pip python3-dev2、安装Python科学套件BLAS库sudo apt-get install build-essential cmake git unzip pkg-config libope...原创 2019-04-23 14:44:14 · 329 阅读 · 0 评论