- 博客(57)
- 资源 (4)
- 收藏
- 关注
原创 深度学习图片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 1065 1
原创 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 339
原创 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 1858
原创 记录 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 226
转载 U-Boot Makefile分析
2.1 U-Boot Makefile分析2.1.1 U-Boot编译命令 对于mini2440开发板,编译U-Boot需要执行如下的命令:$ make mini2440_config$ make all 使用上面的命令编译U-Boot,编译生成的所有文件都保存在源代码目录中。为了保持源代码目录的干净,可以使用如下命令将编译生成的文件
2013-04-16 19:41:01 623
转载 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 596
转载 Linux下的多线程编程
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用
2013-03-07 14:54:33 580
原创 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 970
原创 fcutl
功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);[描述]fcntl()针对(文件)描述符提供控制。参数fd
2013-03-05 10:38:33 648
原创 gethostbyname 与 gethsotbyaddr
1.数据结构hostent和servent:1. struct hostent{2. char *h_name; /*official domain name of host */3. char **h_aliases; /* null-terminated array of domainnames */4. int h_addrtype; /* h
2013-03-03 19:31:25 549
转载 Linux环境进程间通信之信号(下)
一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕。相邻两个事件的时间间隔构成信号生命周期的一个阶段。下面阐述四个事件的实际意义:信号"诞生"。信号的诞生指的是触发信
2013-01-14 14:41:01 511
转载 Linux环境进程间通信之信号 (上)
一、信号及信号来源信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基
2013-01-14 10:10:16 481
转载 嵌入式arm linux环境中gdb+gdbserver调试
采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试。目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。在此我们还不能直接采用linux发行版自带的gdb,需要交叉编译gdb和gdbserver。一.前言嵌入式Linux系统中,应用开发过程中,很多情况下,用户需要对一个应用程序进行
2013-01-12 22:00:26 1022
原创 守护进程编程步骤
守护进程编程步骤 1. 创建子进程,父进程退出 •所有工作在子进程中进行 •形式上脱离了控制终端 2. 在子进程中创建新会话 •setsid()函数 •使子进程完全独立出来,脱离控制 3. 改变当前目录为根目录 •chdir()函数 •防止占用可卸载的文件系统 •也可以换成其它路径 4. 重设文件权限掩
2013-01-12 19:11:37 585
转载 Bash 实例 之ebuild
进入 ebuild 系统我真是一直期待着这第三篇、也是最后一篇 Bash实例文章,因为既然已经在 第 1 篇和 第 2 篇 中讲述了 bash 编程基础,就可以集中讲述象 bash应用开发和程序设计这样更高级的主题。在本文中,将通过我花了许多时间来编码和细化的项目,GentooLinux ebuild 系统,来给您大量实际的、现实世界的 bash 开发经验。我是 Gentoo
2013-01-10 19:54:56 536
转载 基于Linux的实时系统
简介: 越来越多的开发者在基于Linux系统构造嵌入式实时应用,他们迫切地需要一份基于Linux系统构造嵌入式实时系统的指南性的文章。考虑到这种需求,本文在介绍了几种基本的实时进程调度算法的基础上,研究了普通的Linux操作系统的进程调度,并十分全面地调查了各种实时Linux系统为了支持实时特性对普通Linux系统所做的改进。文章分析了将Linux操作系统应用于实时领域中时所出现的一些问题,并总结
2013-01-10 16:05:13 650
转载 Linux 引导过程内幕
简介: 引导 Linux® 系统的过程包括很多阶段。不管您是引导一个标准的 x86 桌面系统,还是引导一台嵌入式的 PowerPC® 机器,很多流程都惊人地相似。本文将探索 Linux 的引导过程,从最初的引导到启动第一个用户空间应用程序。在本文介绍的过程中,您将学习到各种与引导有关的主题,例如引导加载程序、内核解压、初始 RAM 磁盘以及 Linux 引导的其他一些元素。早期时,启动一台
2013-01-10 16:02:10 446
转载 嵌入式系统 Boot Loader 技术内幕
1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3. 文件系统。包括根文件系统和建立于 Fl
2013-01-10 15:58:03 564
转载 嵌入式设备上的 Linux 系统开发
Linux 正在嵌入式开发领域稳步发展。因为 Linux 使用 GPL(请参阅本文后面的 参考资料),所以任何对将 Linux 定制于 PDA、掌上机或者可佩带设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发。许多 Linux 改良品种迎合了嵌入式/实时市场。它们包括 RTLinux(实时 Linux)、uclinux(用于非 MMU 设备的 Linux)、Montavi
2013-01-10 15:50:23 614
转载 s5pv210 fimc 之 fimc-dev.c
fimc-dev.c 是Samsung FIMC 设备的V4L2 驱动。上层应用直接操作这个设备,进行capture,图片处理,以及overlay输出[cpp] view plaincopy43 int fimc_dma_alloc(struct fimc_control *ctrl, struct fimc_buf_set *bs, 44
2013-01-07 12:00:07 2273 1
转载 s5pv210 fimc 之 fimc-regs.c
fimc_regs.c是fimc框架操作camera 硬件的接口,fimc框架把所有硬件相关的操作都放在这个文件中[html] view plaincopy100 int fimc_hwset_camera_source(struct fimc_control *ctrl) 101 { 102 struct s3c_platform_camera *cam
2013-01-07 11:46:06 1264
原创 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 10592 1
原创 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 609
原创 从网络下载内核和挂载文件系统
从网络下载内核和挂载文件系统如果在开发阶段,可以每次从TFTP或用usb下载内核并挂载文件系统,具体作法是: 重新配置内核,使之支持nfs文件系统#make menuconfig 配置网络TCP/IP和网卡驱动 配置NFS文件系统支持 配置如下项目:-> Networking support (NET [=y
2012-12-28 16:52:20 1149
原创 YUV
YUV格式的出现为了使视频信号的传输向后相容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方法是将RG
2012-12-24 16:17:14 915
转载 V4L2 框架分析
这一篇幅旨在续上一篇V4L2框架分析的内容,其中包括了主函数的实现例子,以及帧图像的获并且JPEG图片的转换生成的方法。4、mainloop 这个模块主要的工作就是你获得数据后如何处理,可以直接存储,也可以实时显示在屏幕上。static void mainLoop(void)//main capture control { unsig
2012-12-24 16:12:26 669
转载 V4L2编程模型简介
简介:本文所附代码是根据v4l2官方文档以及demo(capture.c)修改而来,纯粹为学习交流之用,请勿使用在商用场合。地址:由于官方网的域名有敏感词汇,所以请google一下。一 、操作流程简单看二、 模块概要分析以下是所附代码所涉及到的全局变量,摆出来只是参考,具体修改的话请自行安排。#define CLEAR(x) memset (&(x), 0, sizeof
2012-12-24 16:11:11 759
转载 裸奔之sdram
一、sdram的介绍SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。二、s3c2410内部存储器上面的图是我个人对存储器的理解。
2012-12-24 16:01:35 1866
转载 内核中的等待队列
我们首先来看看等待队列的组成。等待队列由等待队列头和等待队列项组成。要看的等待队列先要去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 486
转载 裸奔之MMU
一、MMU的介绍MMU全称Memory Management Unit,中文称内存管理单元主要有两个功能: A.将虚拟地址转换成实际的物理地址 B.对物理内存设置访问权限二、MMU的工作过程在s3c2410中MMU是由协处理器(cp15)控制的,s3c2410/s3c2440最多会用到两级页表:以段(Section,1MB)的方式进行转换时只用到
2012-12-24 15:55:04 793
转载 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 436
转载 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 639
原创 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 3479
转载 GNU ARM汇编快速入门
前言:以前用ARM的 IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNU ARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看GNU ARM的汇编程序,用不了多少时间你就就可以无师自通了。个人比较健忘,还是把文档翻译了一下,算是给自己一个避免遗忘的理由吧。ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和
2012-12-14 14:23:29 1146
转载 GNU ARM 汇编指令
第一部分 Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作 ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(www.gnu.org)上下载有关规范。一. Linux汇编行结构任何汇编行都是如下结构:[:] [} @
2012-12-14 13:58:50 1001
原创 Eclipse ARM IDE 开发环境
一、EclipseEclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较好的灵活性。二、CDTCDT是Eclipse用于扩展Eclipse支持C/C++开发的插件。三、Zylin CDT支持Eclipse用于嵌入式C/C++开发和远程调试的插件四、Yagarto Yagarto整合了GNU arm的交叉编译工具链,是一个跨平台的 ARM 架构
2012-12-13 20:48:26 18757
转载 ARM Linux系统调用的原理
ARM Linux系统调用的原理操作系统为在用户态运行的进程与硬件设备进行交互提供了一组接口。在应用程序和硬件之间设置一个额外层具有很多优点。首先,这使得编程更加容易,把用户从学习硬件设备的低级编程特性中解放出来。其次,这极大地提高了系统的安全性,因为内核在试图满足某个请求之前在接口级就可以检查这种请求的正确性。最后,更重要的是这些接口使得程序具有可移植性,因为只要内核所提供的一组接口相同,那
2012-12-10 20:49:27 1447
转载 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 374
原创 Makefile经典教程
本文来自网络。 0 Makefile概述 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编
2012-11-09 10:49:22 538
转载 嵌入式Linux之我行——PWM在ARM Linux中的原理和蜂鸣器驱动实例开发
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://blog.chinaunix.net/space.php?uid=22174347一、开发环境主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,
2012-11-01 15:22:37 1186
ARM79出品-u-boot移植手册
2011-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人